Android 11 Display亮灭屏

系统休眠唤醒的时候会涉及到亮灭屏,下面分析下系统(高通8155平台)Display亮灭屏流程

1. 点亮屏幕

点亮屏幕入口在framework/base/下面LightsService.java,然后通过调用SurfaceControl.java ,最终调用到framework/native下面的SurfaceFlinger.cpp,SurfaceFlinger与hal层通信都是通过ComposerHal.cpp。hwc_session_services.cpp是在hardware/qcom/display/sdm/下面,在hw_peripheral_drm.cpp中调用Sys::pwrite_写参数到驱动。

2. 休眠灭屏

灭屏是LocalDisplayAdapter.java中调用 SurfaceControl.java,后面也是通过SurfaceFlinger.cpp与HAL层通信。HAL层会调用到hwc_session_services.cpp,后面通过display_base.cpp调用到drm中:hw_device_drm.cpp,drm会调用到vendor/qcom/proprietary/display/sde-drm中的drm_atomic_req.cpp后面通过Perform来与drm驱动通信。xf86drmMode.c和xf86drm.c是external/libdrm中的类。

adb 启动的display是1,对应的是hardware日志中的display 2.

adb shell am start -n com.gwm.app.map/.activity.MapMainActivity --display 1

display 2,对应仪表的是调用到hw_tv_drm.cpp这个类里面的PowerOff

3.setDisplayState流程分析

上图中在DisplayPowerController里面的initialize中初始化动画,在DisplayPowerController的animateScreenStateChange接口中调用动画的start()方法,动画执行过程中一直设置setColorFadeLevel(见DisplayPowerState中的COLOR_FADE_LEVEL),在值为0时,DisplayPowerState中的接口setState里面的stateChanged和backlightChanged发生改变,之后会调用mLock.notifyAll();然后线程run函数继续执行,调用 mBlanker.requestDisplayState(state, brightnessState);设置DisplayPowerState: setScreenState: state=1这个1表示mScreenState设置为了OFF,停掉部分流程调用。真正调用reallyGoToSleepNoUpdateLocked接口的不是goToSleepNoUpdateLocked忠,而是调用有这个日志WAKEFULNESS_DOZING isDreaming:false表示退出屏保才调用的

flags为0,所以进不去。

真正调用的是:

在handleSandman中,isDreaming为false后执行。

4.添加日志的patch:

From 2be617566be1b2d9ee3704c078c685d1a30d2664 Mon Sep 17 00:00:00 2001
From: zhoujinyan <zhoujinyan@noboauto.com>
Date: Fri, 15 Sep 2023 17:29:33 +0800
Subject: [PATCH] =?UTF-8?q?[V35CUX25-775]:=E6=9E=B6=E6=9E=84=E8=A6=81?=
 =?UTF-8?q?=E6=B1=82=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97=E8=BF=BD=E8=B8=AA?=
 =?UTF-8?q?Surfaceflinger=E6=B2=A1=E6=9C=89=E8=AE=BE=E7=BD=AE=E7=81=AD?=
 =?UTF-8?q?=E5=B1=8F=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[MODULE]:frameworks/base
[REASON]:其它
[SOLUTION]:架构要求添加日志追踪Surfaceflinger没有设置灭屏日志记录
[IMPACT]:none
[TEST RECOMMENDATIONS]:none
[SOURCE]:none

Change-Id: Iabad198ab910043b7c42c08bd338aa72c219e441
---
 .../server/display/DisplayManagerService.java |  1 +
 .../display/DisplayPowerController.java       | 26 ++++++++++++++++++-
 .../server/display/LocalDisplayAdapter.java   |  2 +-
 .../server/power/PowerManagerService.java     | 12 ++++++---
 4 files changed, 36 insertions(+), 5 deletions(-)
 mode change 100644 => 100755 services/core/java/com/android/server/display/DisplayManagerService.java
 mode change 100644 => 100755 services/core/java/com/android/server/display/DisplayPowerController.java
 mode change 100644 => 100755 services/core/java/com/android/server/display/LocalDisplayAdapter.java
 mode change 100644 => 100755 services/core/java/com/android/server/power/PowerManagerService.java

diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
old mode 100644
new mode 100755
index 713f9c8f173..434d7217b33
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -2562,6 +2562,7 @@ public final class DisplayManagerService extends SystemService {
         @Override
         public boolean requestPowerState(DisplayPowerRequest request,
                 boolean waitForNegativeProximity) {
+                 Slog.d(TAG, "requestPowerState");
             synchronized (mSyncRoot) {
                 return mDisplayPowerController.requestPowerState(request, waitForNegativeProximity);
             }
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
old mode 100644
new mode 100755
index 7c0f4197363..0d90e70f16f
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -94,7 +94,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
     private static final String SCREEN_ON_BLOCKED_TRACE_NAME = "Screen on blocked";
     private static final String SCREEN_OFF_BLOCKED_TRACE_NAME = "Screen off blocked";
 
-    private static final boolean DEBUG = false;
+    private static final boolean DEBUG = true;
     private static final boolean DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT = false;
 
     // If true, uses the color fade on animation.
@@ -649,6 +649,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             if (changed) {
                 mDisplayReadyLocked = false;
             }
+			Slog.d(TAG, "requestPowerState changed:"+changed+",mPendingRequestChangedLocked:"+mPendingRequestChangedLocked);
 
             if (changed && !mPendingRequestChangedLocked) {
                 mPendingRequestChangedLocked = true;
@@ -673,6 +674,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
     }
 
     private void sendUpdatePowerStateLocked() {
+		Slog.d(TAG, "sendUpdatePowerStateLocked mPendingUpdatePowerStateLocked:"+mPendingUpdatePowerStateLocked);
         if (!mPendingUpdatePowerStateLocked) {
             mPendingUpdatePowerStateLocked = true;
             Message msg = mHandler.obtainMessage(MSG_UPDATE_POWER_STATE);
@@ -751,6 +753,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
     };
 
     private void updatePowerState() {
+		Slog.d(TAG, "updatePowerState");
         // Update the power state request.
         final boolean mustNotify;
         final int previousPolicy;
@@ -874,6 +877,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
         // The transition may be deferred, so after this point we will use the
         // actual state instead of the desired one.
         final int oldState = mPowerState.getScreenState();
+		Slog.d(TAG, "updatePowerState oldState:"+oldState);
         animateScreenStateChange(state, performScreenOffTransition);
         state = mPowerState.getScreenState();
 
@@ -1246,6 +1250,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
     }
 
     private void blockScreenOff() {
+        Slog.d(TAG, "blockScreenOff");
         if (mPendingScreenOffUnblocker == null) {
             Trace.asyncTraceBegin(Trace.TRACE_TAG_POWER, SCREEN_OFF_BLOCKED_TRACE_NAME, 0);
             mPendingScreenOffUnblocker = new ScreenOffUnblocker();
@@ -1269,13 +1274,16 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
 
     private boolean setScreenState(int state, boolean reportOnly) {
         final boolean isOff = (state == Display.STATE_OFF);
+		Slog.d(TAG, "setScreenState state:"+state+",reportOnly:"+reportOnly+",isOff:"+isOff);
         if (mPowerState.getScreenState() != state) {
 
             // If we are trying to turn screen off, give policy a chance to do something before we
             // actually turn the screen off.
+            Slog.d(TAG, "setScreenState mScreenOffBecauseOfProximity:"+mScreenOffBecauseOfProximity+",mReportedScreenStateToPolicy:"+mReportedScreenStateToPolicy);
             if (isOff && !mScreenOffBecauseOfProximity) {
                 if (mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_ON) {
                     setReportedScreenState(REPORTED_TO_POLICY_SCREEN_TURNING_OFF);
+					Slog.d(TAG, "screenTurningOff");
                     blockScreenOff();
                     mWindowManagerPolicy.screenTurningOff(mPendingScreenOffUnblocker);
                     unblockScreenOff();
@@ -1289,6 +1297,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                 Trace.traceCounter(Trace.TRACE_TAG_POWER, "ScreenState", state);
                 // TODO(b/153319140) remove when we can get this from the above trace invocation
                 SystemProperties.set("debug.tracing.screen_state", String.valueOf(state));
+				Slog.d(TAG, "setScreenState state:"+state);
                 mPowerState.setScreenState(state);
                 // Tell battery stats about the transition.
                 try {
@@ -1379,6 +1388,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
     }
 
     private void animateScreenStateChange(int target, boolean performScreenOffTransition) {
+		Slog.d(TAG, "animateScreenStateChange target:"+target+",performScreenOffTransition:"+performScreenOffTransition);
         // If there is already an animation in progress, don't interfere with it.
         if (mColorFadeEnabled &&
                 (mColorFadeOnAnimator.isStarted() || mColorFadeOffAnimator.isStarted())) {
@@ -1404,6 +1414,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             // display has turned off so it can prepare the appropriate power on animation, but we
             // don't want to actually transition to the fully off state since that takes
             // significantly longer to transition from.
+            Slog.d(TAG, "animateScreenStateChange setScreenState1");
             setScreenState(Display.STATE_OFF, target != Display.STATE_OFF /*reportOnly*/);
         }
 
@@ -1411,6 +1422,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
         // finish.  Then finish up now to prevent a jarring transition back
         // to screen on if we skipped blocking screen on as usual.
         if (mPendingScreenOff && target != Display.STATE_OFF) {
+			Slog.d(TAG, "animateScreenStateChange setScreenState2");
             setScreenState(Display.STATE_OFF);
             mPendingScreenOff = false;
             mPowerState.dismissColorFadeResources();
@@ -1420,6 +1432,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             // Want screen on.  The contents of the screen may not yet
             // be visible if the color fade has not been dismissed because
             // its last frame of animation is solid black.
+            Slog.d(TAG, "animateScreenStateChange setScreenState3");
             if (!setScreenState(Display.STATE_ON)) {
                 return; // screen on blocked
             }
@@ -1448,6 +1461,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                     && mPowerState.getScreenState() == Display.STATE_ON) {
                 return;
             }
+			Slog.d(TAG, "animateScreenStateChange setScreenState4");
 
             // Set screen state.
             if (!setScreenState(Display.STATE_VR)) {
@@ -1458,6 +1472,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             mPowerState.setColorFadeLevel(1.0f);
             mPowerState.dismissColorFade();
         } else if (target == Display.STATE_DOZE) {
+            Slog.d(TAG, "animateScreenStateChange target is STATE_DOZE");
             // Want screen dozing.
             // Wait for brightness animation to complete beforehand when entering doze
             // from screen on to prevent a perceptible jump because brightness may operate
@@ -1466,6 +1481,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                     && mPowerState.getScreenState() == Display.STATE_ON) {
                 return;
             }
+			Slog.d(TAG, "animateScreenStateChange setScreenState5");
 
             // Set screen state.
             if (!setScreenState(Display.STATE_DOZE)) {
@@ -1479,6 +1495,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             // Want screen dozing and suspended.
             // Wait for brightness animation to complete beforehand unless already
             // suspended because we may not be able to change it after suspension.
+            Slog.d(TAG, "animateScreenStateChange target is STATE_DOZE_SUSPEND");
             if (mScreenBrightnessRampAnimator.isAnimating()
                     && mPowerState.getScreenState() != Display.STATE_DOZE_SUSPEND) {
                 return;
@@ -1486,7 +1503,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
 
             // If not already suspending, temporarily set the state to doze until the
             // screen on is unblocked, then suspend.
+            Slog.d(TAG, "animateScreenStateChange getScreenState is not STATE_DOZE_SUSPEND");
             if (mPowerState.getScreenState() != Display.STATE_DOZE_SUSPEND) {
+				Slog.d(TAG, "animateScreenStateChange setScreenState6");
                 if (!setScreenState(Display.STATE_DOZE)) {
                     return; // screen on blocked
                 }
@@ -1497,6 +1516,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             mPowerState.setColorFadeLevel(1.0f);
             mPowerState.dismissColorFade();
         } else if (target == Display.STATE_ON_SUSPEND) {
+            Slog.d(TAG, "animateScreenStateChange target is STATE_ON_SUSPEND");
             // Want screen full-power and suspended.
             // Wait for brightness animation to complete beforehand unless already
             // suspended because we may not be able to change it after suspension.
@@ -1507,7 +1527,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
 
             // If not already suspending, temporarily set the state to on until the
             // screen on is unblocked, then suspend.
+             Slog.d(TAG, "animateScreenStateChange getScreenState is not STATE_ON_SUSPEND");
             if (mPowerState.getScreenState() != Display.STATE_ON_SUSPEND) {
+				Slog.d(TAG, "animateScreenStateChange setScreenState7");
                 if (!setScreenState(Display.STATE_ON)) {
                     return;
                 }
@@ -1523,10 +1545,12 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             if (!mColorFadeEnabled) {
                 mPowerState.setColorFadeLevel(0.0f);
             }
+			Slog.d(TAG, "animateScreenStateChange getColorFadeLevel:"+mPowerState.getColorFadeLevel());
 
             if (mPowerState.getColorFadeLevel() == 0.0f) {
                 // Turn the screen off.
                 // A black surface is already hiding the contents of the screen.
+                Slog.d(TAG, "animateScreenStateChange setScreenState8");
                 setScreenState(Display.STATE_OFF);
                 mPendingScreenOff = false;
                 mPowerState.dismissColorFadeResources();
diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
old mode 100644
new mode 100755
index 2c08420af42..06f35b5928f
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
@@ -59,7 +59,7 @@ import java.util.Objects;
  */
 final class LocalDisplayAdapter extends DisplayAdapter {
     private static final String TAG = "LocalDisplayAdapter";
-    private static final boolean DEBUG = false;
+    private static final boolean DEBUG = true;
 
     private static final String UNIQUE_ID_PREFIX = "local:";
 
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
old mode 100644
new mode 100755
index dee604a3a5d..26920f20916
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -127,7 +127,7 @@ public final class PowerManagerService extends SystemService
         implements Watchdog.Monitor {
     private static final String TAG = "PowerManagerService";
 
-    private static final boolean DEBUG = false;
+    private static final boolean DEBUG = true;
     private static final boolean DEBUG_SPEW = DEBUG && true;
 
     // Message: Sent when a user activity timeout occurs to update the power state.
@@ -1818,9 +1818,10 @@ public final class PowerManagerService extends SystemService
             Slog.d(TAG, "reallyGoToSleepNoUpdateLocked: eventTime=" + eventTime
                     + ", uid=" + uid);
         }
-
+        Slog.i(TAG, "reallyGoToSleepNoUpdateLocked eventTime:"+eventTime+",mLastWakeTime:"+mLastWakeTime+",mBootCompleted:"+mBootCompleted+",mSystemReady:"+mSystemReady);
         if (eventTime < mLastWakeTime || getWakefulnessLocked() == WAKEFULNESS_ASLEEP
                 || !mBootCompleted || !mSystemReady) {
+            Slog.d(TAG, "reallyGoToSleepNoUpdateLocked return false");  
             return false;
         }
 
@@ -1907,6 +1908,7 @@ public final class PowerManagerService extends SystemService
      * way each time.  The point is to gather all of the transition logic here.
      */
     private void updatePowerStateLocked() {
+        Slog.d(TAG, "updatePowerStateLocked mSystemReady:"+mSystemReady+",mDirty:"+mDirty);  
         if (!mSystemReady || mDirty == 0) {
             return;
         }
@@ -1943,6 +1945,7 @@ public final class PowerManagerService extends SystemService
             updateProfilesLocked(now);
 
             // Phase 3: Update display power state.
+            Slog.d(TAG, "updatePowerStateLocked updateDisplayPowerStateLocked dirtyPhase2:"+dirtyPhase2); 
             final boolean displayBecameReady = updateDisplayPowerStateLocked(dirtyPhase2);
 
             // Phase 4: Update dream state (depends on display ready signal).
@@ -2738,6 +2741,7 @@ public final class PowerManagerService extends SystemService
                         return; // continue dreaming
                     }
                 }
+				Slog.i(TAG, "WAKEFULNESS_DREAMING...");
 
                 // Dream has ended or will be stopped.  Update the power state.
                 if (isItBedTimeYetLocked()) {
@@ -2756,6 +2760,7 @@ public final class PowerManagerService extends SystemService
                     updatePowerStateLocked();
                 }
             } else if (wakefulness == WAKEFULNESS_DOZING) {
+                Slog.i(TAG, "WAKEFULNESS_DOZING isDreaming:"+isDreaming);
                 if (isDreaming) {
                     return; // continue dozing
                 }
@@ -2876,7 +2881,7 @@ public final class PowerManagerService extends SystemService
                 mDisplayPowerRequest.dozeScreenBrightness =
                         PowerManager.BRIGHTNESS_INVALID_FLOAT;
             }
-
+            Slog.d(TAG, "updateDisplayPowerStateLocked  mRequestWaitForNegativeProximity:"+mRequestWaitForNegativeProximity); 
             mDisplayReady = mDisplayManagerInternal.requestPowerState(mDisplayPowerRequest,
                     mRequestWaitForNegativeProximity);
             mRequestWaitForNegativeProximity = false;
@@ -2895,6 +2900,7 @@ public final class PowerManagerService extends SystemService
                         + ", sQuiescent=" + sQuiescent);
             }
         }
+		 Slog.d(TAG, "updateDisplayPowerStateLocked mDisplayReady:"+mDisplayReady+",oldDisplayReady:"+oldDisplayReady);
         return mDisplayReady && !oldDisplayReady;
     }
 
-- 
2.28.0

另外添加的日志:

zhoujinyan@QNXAnd-Srv07:~/ES15_STR_PBASE1/android/frameworks/base/services$ git diff .
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 0d90e70f16f..ecd9ed0ee9a 100755
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -65,7 +65,7 @@ import com.android.server.policy.WindowManagerPolicy;

 import java.io.PrintWriter;
 import java.util.List;
-
+import android.util.Log;
 /**
  * Controls the power state of the display.
  *
@@ -652,6 +652,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                        Slog.d(TAG, "requestPowerState changed:"+changed+",mPendingRequestChangedLocked:"+mPendingRequestChangedLocked);

             if (changed && !mPendingRequestChangedLocked) {
+               Slog.d(TAG, "to run sendUpdatePowerStateLocked");
                 mPendingRequestChangedLocked = true;
                 sendUpdatePowerStateLocked();
             }
@@ -674,6 +675,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
     }

     private void sendUpdatePowerStateLocked() {
+       Log.d(TAG,"sendUpdatePowerStateLocked throw:"+Log.getStackTraceString(new Throwable()));
                Slog.d(TAG, "sendUpdatePowerStateLocked mPendingUpdatePowerStateLocked:"+mPendingUpdatePowerStateLocked);
         if (!mPendingUpdatePowerStateLocked) {
             mPendingUpdatePowerStateLocked = true;
@@ -753,6 +755,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
     };

     private void updatePowerState() {
+        Log.d(TAG,"updatePowerState throw:"+Log.getStackTraceString(new Throwable()));
                Slog.d(TAG, "updatePowerState");
         // Update the power state request.
         final boolean mustNotify;
diff --git a/services/core/java/com/android/server/display/DisplayPowerState.java b/services/core/java/com/android/server/display/DisplayPowerState.java
index 4b6430d5197..e60e2b3474b 100644
--- a/services/core/java/com/android/server/display/DisplayPowerState.java
+++ b/services/core/java/com/android/server/display/DisplayPowerState.java
@@ -50,7 +50,7 @@ import java.io.PrintWriter;
 final class DisplayPowerState {
     private static final String TAG = "DisplayPowerState";

-    private static boolean DEBUG = false;
+    private static boolean DEBUG = true;
     private static String COUNTER_COLOR_FADE = "ColorFadeLevel";

     private final Handler mHandler;
diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
index 06f35b5928f..34ce15ae278 100755
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
@@ -50,7 +50,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
-
+import android.util.Log;
 /**
  * A display adapter for the local displays managed by SurfaceFlinger.
  * <p>
@@ -665,6 +665,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
                     }

                     private void setDisplayState(int state) {
+                        Log.d(TAG,"setDisplayState throw:"+Log.getStackTraceString(new Throwable()));
                         if (DEBUG) {
                             Slog.d(TAG, "setDisplayState("
                                     + "id=" + physicalDisplayId
(END)

5.休眠逻辑日志:

82405: 01-01 00:45:07.283  1909  2119 D CAR.POWER: setDisplayState false
82407: 01-01 00:45:07.283  1110  2016 D PowerManagerService: acquireWakeLockInternal: lock=4447758, flags=0x1, tag="CAR.POWER", ws=null, uid=1000, pid=1909
82408: 01-01 00:45:07.285  1110  2016 D PowerManagerService: updatePowerStateLocked mSystemReady:true,mDirty:1
82410: 01-01 00:45:07.285  1110  2016 D PowerManagerService: updateWakeLockSummaryLocked: mWakefulness=Awake, mWakeLockSummary=0x25
82411: 01-01 00:45:07.285  1110  2016 D PowerManagerService: updateUserActivitySummaryLocked: mWakefulness=Awake, mUserActivitySummary=0x1, nextTimeout=2147526907 (in 2147369941 ms)
82412: 01-01 00:45:07.285  1110  2016 D PowerManagerService: updatePowerStateLocked updateDisplayPowerStateLocked dirtyPhase2:1
82413: 01-01 00:45:07.285  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked  mRequestWaitForNegativeProximity:false
82414: 01-01 00:45:07.285  1110  2016 D DisplayManagerService: requestPowerState
82415: 01-01 00:45:07.285  1110  2016 D DisplayPowerController: requestPowerState: policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, useAutoBrightness=false, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN, waitForNegativeProximity=false
82416: 01-01 00:45:07.285  1110  2016 D DisplayPowerController: requestPowerState changed:false,mPendingRequestChangedLocked:false
82417: 01-01 00:45:07.285  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked: mDisplayReady=true, policy=3, mWakefulness=1, mWakeLockSummary=0x25, mUserActivitySummary=0x1, mBootCompleted=true, screenBrightnessOverride=NaN, useAutoBrightness=false, mScreenBrightnessBoostInProgress=false, mIsVrModeEnabled= false, sQuiescent=false
82418: 01-01 00:45:07.285  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked mDisplayReady:true,oldDisplayReady:true
82419: 01-01 00:45:07.287  1110  2016 D PowerManagerService: releaseWakeLockInternal: lock=167243542 [CAR.POWER], flags=0x0
82420: 01-01 00:45:07.288  1110  2016 D PowerManagerService: updatePowerStateLocked mSystemReady:true,mDirty:1
82421: 01-01 00:45:07.288  1110  2016 D PowerManagerService: updateWakeLockSummaryLocked: mWakefulness=Awake, mWakeLockSummary=0x1
82422: 01-01 00:45:07.288  1110  2016 D PowerManagerService: updateUserActivitySummaryLocked: mWakefulness=Awake, mUserActivitySummary=0x1, nextTimeout=2147526907 (in 2147369938 ms)
82423: 01-01 00:45:07.288  1110  2016 D PowerManagerService: updatePowerStateLocked updateDisplayPowerStateLocked dirtyPhase2:1
82424: 01-01 00:45:07.288  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked  mRequestWaitForNegativeProximity:false
82425: 01-01 00:45:07.288  1110  2016 D DisplayManagerService: requestPowerState
82426: 01-01 00:45:07.288  1110  2016 D DisplayPowerController: requestPowerState: policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, useAutoBrightness=false, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN, waitForNegativeProximity=false
82427: 01-01 00:45:07.288  1110  2016 D DisplayPowerController: requestPowerState changed:false,mPendingRequestChangedLocked:false
82428: 01-01 00:45:07.288  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked: mDisplayReady=true, policy=3, mWakefulness=1, mWakeLockSummary=0x1, mUserActivitySummary=0x1, mBootCompleted=true, screenBrightnessOverride=NaN, useAutoBrightness=false, mScreenBrightnessBoostInProgress=false, mIsVrModeEnabled= false, sQuiescent=false
82429: 01-01 00:45:07.288  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked mDisplayReady:true,oldDisplayReady:true
82430: 01-01 00:45:07.288  1909  2119 I CAR.POWER: off display
82431: 01-01 00:45:07.289  1110  2016 D PowerManagerService: goToSleepNoUpdateLocked: eventTime=156970, reason=0, flags=0, uid=1000
82432: 01-01 00:45:07.289  1110  2016 I PowerManagerService: Going to sleep due to application (uid 1000)...
82435: 01-01 00:45:07.290  1110  2016 D PowerManagerService: updatePowerStateLocked mSystemReady:true,mDirty:2
82437: 01-01 00:45:07.290  1110  2016 D PowerManagerService: updateWakeLockSummaryLocked: mWakefulness=Dozing, mWakeLockSummary=0x1
82438: 01-01 00:45:07.290  1110  2016 D PowerManagerService: updateUserActivitySummaryLocked: mWakefulness=Dozing, mUserActivitySummary=0x1, nextTimeout=2147526907 (in 2147369935 ms)
82439: 01-01 00:45:07.290  1110  2016 D PowerManagerService: updatePowerStateLocked updateDisplayPowerStateLocked dirtyPhase2:2
82440: 01-01 00:45:07.291  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked  mRequestWaitForNegativeProximity:false
82441: 01-01 00:45:07.291  1110  2016 D DisplayManagerService: requestPowerState
82442: 01-01 00:45:07.291  1110  2016 D DisplayPowerController: requestPowerState: policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, useAutoBrightness=false, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN, waitForNegativeProximity=false
82443: 01-01 00:45:07.291  1110  2016 D DisplayPowerController: requestPowerState changed:false,mPendingRequestChangedLocked:false
82444: 01-01 00:45:07.291  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked: mDisplayReady=true, policy=3, mWakefulness=3, mWakeLockSummary=0x1, mUserActivitySummary=0x1, mBootCompleted=true, screenBrightnessOverride=NaN, useAutoBrightness=false, mScreenBrightnessBoostInProgress=false, mIsVrModeEnabled= false, sQuiescent=false
82445: 01-01 00:45:07.291  1110  2016 D PowerManagerService: updateDisplayPowerStateLocked mDisplayReady:true,oldDisplayReady:true
82446: 01-01 00:45:07.292  1110  1281 I DreamManagerService: Entering dreamland.
82448: 01-01 00:45:07.292  1110  1281 D PowerManagerService: acquireWakeLockInternal: lock=183005125, flags=0x1, tag="startDream", ws=null, uid=1000, pid=1110
82449: 01-01 00:45:07.292  1110  1281 D PowerManagerService: updatePowerStateLocked mSystemReady:true,mDirty:1
82450: 01-01 00:45:07.293  1110  1281 D PowerManagerService: updateWakeLockSummaryLocked: mWakefulness=Dozing, mWakeLockSummary=0x1
82451: 01-01 00:45:07.293  1110  1281 D PowerManagerService: updateUserActivitySummaryLocked: mWakefulness=Dozing, mUserActivitySummary=0x1, nextTimeout=2147526907 (in 2147369933 ms)
82452: 01-01 00:45:07.293  1110  1281 D PowerManagerService: updatePowerStateLocked updateDisplayPowerStateLocked dirtyPhase2:1
82453: 01-01 00:45:07.293  1110  1281 D PowerManagerService: updateDisplayPowerStateLocked  mRequestWaitForNegativeProximity:false
82454: 01-01 00:45:07.293  1110  1281 D DisplayManagerService: requestPowerState
82455: 01-01 00:45:07.293  1110  1281 D DisplayPowerController: requestPowerState: policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, useAutoBrightness=false, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN, waitForNegativeProximity=false
82456: 01-01 00:45:07.294  1110  1281 D DisplayPowerController: requestPowerState changed:false,mPendingRequestChangedLocked:false
82457: 01-01 00:45:07.294  1110  1281 D PowerManagerService: updateDisplayPowerStateLocked: mDisplayReady=true, policy=3, mWakefulness=3, mWakeLockSummary=0x1, mUserActivitySummary=0x1, mBootCompleted=true, screenBrightnessOverride=NaN, useAutoBrightness=false, mScreenBrightnessBoostInProgress=false, mIsVrModeEnabled= false, sQuiescent=false
82458: 01-01 00:45:07.294  1110  1281 D PowerManagerService: updateDisplayPowerStateLocked mDisplayReady:true,oldDisplayReady:true
82459: 01-01 00:45:07.295  1110  1281 I PowerManagerService: Dozing...
82460: 01-01 00:45:07.295  1110  1281 I PowerManagerService: WAKEFULNESS_DOZING isDreaming:true
82461: 01-01 00:45:07.295  1110  1281 I PowerManagerService: WAKEFULNESS_DOZING isDreaming:true
82498: 01-01 00:45:07.405  1909  2119 I CAR.POWER: starting shutdown prepare with Garage Mode
82499: 01-01 00:45:07.4
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值