LA.UM.7.6.2/LINUX/android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
old mode 100644
new mode 100755
index 697801f..d71b145
@@ -102,5 +102,7 @@ import com.android.server.power.batterysaver.BatterySaverStateMachine;
import com.android.server.power.batterysaver.BatterySavingStats;
+import java.io.BufferedReader;
import java.io.FileDescriptor;
+import java.io.FileReader;
import java.io.PrintWriter;
import java.lang.annotation.Retention;
@@ -2129,4 +2131,32 @@ public final class PowerManagerService extends SystemService
}
+ private static final String CRADLE_CHARGING_NODE = "/sys/class/switchs/dock/state";
+ private static int getDockState() {
+ int dockState = Intent.EXTRA_DOCK_STATE_UNDOCKED;
+ BufferedReader reader = null;
+ android.util.Log.d("DockState", "getDockState>>>>>>>>>>>>> ");
+ try {
+ reader = new BufferedReader(new FileReader(CRADLE_CHARGING_NODE));
+ String prop = reader.readLine();
+ android.util.Log.d("DockState", "prop : " + prop);
+ if (prop != null && prop.equals("1")) {
+ dockState = Intent.EXTRA_DOCK_STATE_DESK;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ android.util.Log.d("DockState", "read cradle status failed!");
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ android.util.Log.d("DockState", "dockState : " + dockState);
+ return dockState;
+ }
+
/**
* Returns true if the device should automatically nap and start dreaming when the user
@@ -2134,7 +2164,8 @@ public final class PowerManagerService extends SystemService
*/
private boolean shouldNapAtBedTimeLocked() {
+ int newDockState = getDockState();
return mDreamsActivateOnSleepSetting
|| (mDreamsActivateOnDockSetting
- && mDockState != Intent.EXTRA_DOCK_STATE_UNDOCKED);
+ && newDockState != Intent.EXTRA_DOCK_STATE_UNDOCKED);
}