Android11 设置菜单添加永不休眠选项

软件平台:Android11

硬件平台:QCS6125

新需求,直接上改动的patch:

首先是Settings相关部分:

diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 30dad01749..05e23f3eb4 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -67,8 +67,8 @@
         android:key="screen_timeout"
         android:title="@string/screen_timeout"
         android:summary="@string/summary_placeholder"
-        android:entries="@array/screen_timeout_entries"
-        android:entryValues="@array/screen_timeout_values"
+        android:entries="@array/dream_timeout_entries"
+        android:entryValues="@array/dream_timeout_values"
         settings:keywords="@string/keywords_screen_timeout" />
 
     <Preference

切换到dream_timeout资源,这里边有永不休眠的选项;

然后,修改PhoneWindowManager的部分:

diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 1760ae97b57..1058b0e7bdb 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -5013,7 +5013,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                 if (enable) {
                     if (localLOGV) Log.v(TAG, "setting lockscreen timer");
                     mHandler.removeCallbacks(mScreenLockTimeout); // remove any pending requests
-                    mHandler.postDelayed(mScreenLockTimeout, mLockScreenTimeout);
+                    //mHandler.postDelayed(mScreenLockTimeout, mLockScreenTimeout);
+                    if (mLockScreenTimeout != 0) {
+                        mHandler.postDelayed(mScreenLockTimeout, mLockScreenTimeout);
+                    }
+
                 } else {
                     if (localLOGV) Log.v(TAG, "clearing lockscreen timer");
                     mHandler.removeCallbacks(mScreenLockTimeout);

最后修改PowerManager部分:

diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index dee604a3a5d..9e85b9dfb4b 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -2339,7 +2339,7 @@ public final class PowerManagerService extends SystemService
                     nextTimeout = -1;
                 }
 
-                if ((mUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0
+                /*if ((mUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0
                         && (mWakeLockSummary & WAKE_LOCK_STAY_AWAKE) == 0) {
                     nextTimeout = mAttentionDetector.updateUserActivity(nextTimeout,
                             screenDimDuration);
@@ -2351,6 +2351,20 @@ public final class PowerManagerService extends SystemService
 
                 if (mUserActivitySummary != 0 && nextTimeout >= 0) {
                     scheduleUserInactivityTimeout(nextTimeout);
+                }*/
+                if (mScreenOffTimeoutSetting != 0) {
+                    if ((mUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0
+                            && (mWakeLockSummary & WAKE_LOCK_STAY_AWAKE) == 0) {
+                        nextTimeout = mAttentionDetector.updateUserActivity(nextTimeout,screenDimDuration);
+                    }
+                    if (nextProfileTimeout > 0) {
+                            nextTimeout = Math.min(nextTimeout, nextProfileTimeout);
+                    }
+                    if (mUserActivitySummary != 0 && nextTimeout >= 0) {
+                            scheduleUserInactivityTimeout(nextTimeout);
+                    }
+                 } else {
+                    mUserActivitySummary |= USER_ACTIVITY_SCREEN_BRIGHT;
                 }
             } else {
                 mUserActivitySummary = 0;

完成、Mark。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值