android10 添加永不休眠

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$

Guess you like

Origin blog.csdn.net/ruidongren/article/details/121037748