framework部分
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -523,6 +523,8 @@ public final class PowerManagerService extends SystemService
// True if we are currently in device idle mode.
private boolean mDeviceIdleMode;
+ private boolean mNeverSleep = true;
+
// True if we are currently in light device idle mode.
private boolean mLightDeviceIdleMode;
@@ -2279,6 +2281,15 @@ public final class PowerManagerService extends SystemService
private long getScreenOffTimeoutLocked(long sleepTimeout) {
long timeout = mScreenOffTimeoutSetting;
+
+
+ if (timeout < 0) {
+ mNeverSleep = true;
+ } else {
+ mNeverSleep = false;
+ }
+
+
if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin);
}
@@ -2358,6 +2369,7 @@ public final class PowerManagerService extends SystemService
return true;
return mStayOn
|| mProximityPositive
+ || mNeverSleep
|| (mWakeLockSummary & WAKE_LOCK_STAY_AWAKE) != 0
|| (mUserActivitySummary & (USER_ACTIVITY_SCREEN_BRIGHT
| USER_ACTIVITY_SCREEN_DIM)) != 0
@@ -2685,6 +2697,7 @@ public final class PowerManagerService extends SystemService
if ((mWakeLockSummary & WAKE_LOCK_SCREEN_BRIGHT) != 0
|| (mUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0
+ || mNeverSleep
|| !mBootCompleted
|| mScreenBrightnessBoostInProgress) {
return DisplayPowerRequest.POLICY_BRIGHT;
rock@ip:~/work/sourcecode/code/wst_a10/frameworks/base$
Settings部分
packages/apps/Settings$ git diff ./
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
old mode 100644
new mode 100755
index b1fdf4bc5e..438ab84940
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -41,6 +41,7 @@
<!-- Display settings. The delay in inactivity before the screen is turned off. These are shown in a list dialog. -->
<string-array name="screen_timeout_entries">
+ <item>Never</item>
<item>15 seconds</item>
<item>30 seconds</item>
<item>1 minute</item>
@@ -52,6 +53,7 @@
<!-- Do not translate. -->
<string-array name="screen_timeout_values" translatable="false">
+ <item>-1</item>
<!-- Do not translate. -->
<item>15000</item>
<!-- Do not translate. -->
rock@ip:~/work/sourcecode/code/wst_a10/packages/apps/Settings$