Loading services/core/java/com/android/server/display/DisplayManagerService.java +0 −5 Original line number Diff line number Diff line Loading @@ -3151,11 +3151,6 @@ public final class DisplayManagerService extends SystemService { // with the corresponding displaydevice. HighBrightnessModeMetadata hbmMetadata = mHighBrightnessModeMetadataMapper.getHighBrightnessModeMetadataLocked(display); if (hbmMetadata == null) { Slog.wtf(TAG, "High Brightness Mode Metadata is null in DisplayManagerService for " + "display: " + display.getDisplayIdLocked()); return null; } if (mConfigParameterProvider.isNewPowerControllerFeatureEnabled()) { displayPowerController = new DisplayPowerController2( mContext, /* injector= */ null, mDisplayPowerCallbacks, mPowerHandler, Loading services/core/java/com/android/server/display/DisplayPowerController.java +2 −0 Original line number Diff line number Diff line Loading @@ -450,6 +450,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private float[] mNitsRange; private final BrightnessRangeController mBrightnessRangeController; @Nullable private final HighBrightnessModeMetadata mHighBrightnessModeMetadata; private final BrightnessThrottler mBrightnessThrottler; Loading services/core/java/com/android/server/display/HighBrightnessModeController.java +27 −16 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.server.display; import android.annotation.Nullable; import android.content.Context; import android.database.ContentObserver; import android.hardware.display.BrightnessInfo; Loading Loading @@ -75,6 +76,8 @@ class HighBrightnessModeController { private final Injector mInjector; private HdrListener mHdrListener; @Nullable private HighBrightnessModeData mHbmData; private HdrBrightnessDeviceConfig mHdrBrightnessCfg; private IBinder mRegisteredDisplayToken; Loading Loading @@ -107,7 +110,9 @@ class HighBrightnessModeController { * If HBM is currently running, this is the start time and set of all events, * for the current HBM session. */ private HighBrightnessModeMetadata mHighBrightnessModeMetadata = null; @Nullable private HighBrightnessModeMetadata mHighBrightnessModeMetadata; HighBrightnessModeController(Handler handler, int width, int height, IBinder displayToken, String displayUniqueId, float brightnessMin, float brightnessMax, HighBrightnessModeData hbmData, HdrBrightnessDeviceConfig hdrBrightnessCfg, Loading Loading @@ -310,10 +315,13 @@ class HighBrightnessModeController { pw.println(" mBrightnessMax=" + mBrightnessMax); pw.println(" remainingTime=" + calculateRemainingTime(mClock.uptimeMillis())); pw.println(" mIsTimeAvailable= " + mIsTimeAvailable); pw.println(" mRunningStartTimeMillis=" + TimeUtils.formatUptime(mHighBrightnessModeMetadata.getRunningStartTimeMillis())); pw.println(" mIsBlockedByLowPowerMode=" + mIsBlockedByLowPowerMode); pw.println(" width*height=" + mWidth + "*" + mHeight); if (mHighBrightnessModeMetadata != null) { pw.println(" mRunningStartTimeMillis=" + TimeUtils.formatUptime( mHighBrightnessModeMetadata.getRunningStartTimeMillis())); pw.println(" mEvents="); final long currentTime = mClock.uptimeMillis(); long lastStartTime = currentTime; Loading @@ -328,6 +336,9 @@ class HighBrightnessModeController { } lastStartTime = dumpHbmEvent(pw, event); } } else { pw.println(" mHighBrightnessModeMetadata=null"); } } private long dumpHbmEvent(PrintWriter pw, HbmEvent event) { Loading @@ -353,7 +364,7 @@ class HighBrightnessModeController { } private boolean deviceSupportsHbm() { return mHbmData != null; return mHbmData != null && mHighBrightnessModeMetadata != null; } private long calculateRemainingTime(long currentTime) { Loading services/core/java/com/android/server/display/HighBrightnessModeMetadataMapper.java +3 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ class HighBrightnessModeMetadataMapper { + display.getDisplayIdLocked()); return null; } if (device.getDisplayDeviceConfig().getHighBrightnessModeData() == null) { return null; } final String uniqueId = device.getUniqueId(); Loading services/tests/displayservicetests/src/com/android/server/display/DisplayPowerController2Test.java +4 −2 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.os.IBinder; import android.os.Looper; import android.os.PowerManager; import android.os.SystemProperties; import android.os.UserHandle; import android.os.test.TestLooper; import android.provider.Settings; import android.testing.TestableContext; Loading Loading @@ -144,11 +145,12 @@ public final class DisplayPowerController2Test { mTestLooper = new TestLooper(mClock::now); mHandler = new Handler(mTestLooper.getLooper()); // Put the system into manual brightness by default, just to minimize unexpected events and // have a consistent starting state // Set some settings to minimize unexpected events and have a consistent starting state Settings.System.putInt(mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); Settings.System.putFloatForUser(mContext.getContentResolver(), Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0, UserHandle.USER_CURRENT); addLocalServiceMock(WindowManagerPolicy.class, mWindowManagerPolicyMock); addLocalServiceMock(ColorDisplayService.ColorDisplayServiceInternal.class, Loading Loading
services/core/java/com/android/server/display/DisplayManagerService.java +0 −5 Original line number Diff line number Diff line Loading @@ -3151,11 +3151,6 @@ public final class DisplayManagerService extends SystemService { // with the corresponding displaydevice. HighBrightnessModeMetadata hbmMetadata = mHighBrightnessModeMetadataMapper.getHighBrightnessModeMetadataLocked(display); if (hbmMetadata == null) { Slog.wtf(TAG, "High Brightness Mode Metadata is null in DisplayManagerService for " + "display: " + display.getDisplayIdLocked()); return null; } if (mConfigParameterProvider.isNewPowerControllerFeatureEnabled()) { displayPowerController = new DisplayPowerController2( mContext, /* injector= */ null, mDisplayPowerCallbacks, mPowerHandler, Loading
services/core/java/com/android/server/display/DisplayPowerController.java +2 −0 Original line number Diff line number Diff line Loading @@ -450,6 +450,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private float[] mNitsRange; private final BrightnessRangeController mBrightnessRangeController; @Nullable private final HighBrightnessModeMetadata mHighBrightnessModeMetadata; private final BrightnessThrottler mBrightnessThrottler; Loading
services/core/java/com/android/server/display/HighBrightnessModeController.java +27 −16 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.server.display; import android.annotation.Nullable; import android.content.Context; import android.database.ContentObserver; import android.hardware.display.BrightnessInfo; Loading Loading @@ -75,6 +76,8 @@ class HighBrightnessModeController { private final Injector mInjector; private HdrListener mHdrListener; @Nullable private HighBrightnessModeData mHbmData; private HdrBrightnessDeviceConfig mHdrBrightnessCfg; private IBinder mRegisteredDisplayToken; Loading Loading @@ -107,7 +110,9 @@ class HighBrightnessModeController { * If HBM is currently running, this is the start time and set of all events, * for the current HBM session. */ private HighBrightnessModeMetadata mHighBrightnessModeMetadata = null; @Nullable private HighBrightnessModeMetadata mHighBrightnessModeMetadata; HighBrightnessModeController(Handler handler, int width, int height, IBinder displayToken, String displayUniqueId, float brightnessMin, float brightnessMax, HighBrightnessModeData hbmData, HdrBrightnessDeviceConfig hdrBrightnessCfg, Loading Loading @@ -310,10 +315,13 @@ class HighBrightnessModeController { pw.println(" mBrightnessMax=" + mBrightnessMax); pw.println(" remainingTime=" + calculateRemainingTime(mClock.uptimeMillis())); pw.println(" mIsTimeAvailable= " + mIsTimeAvailable); pw.println(" mRunningStartTimeMillis=" + TimeUtils.formatUptime(mHighBrightnessModeMetadata.getRunningStartTimeMillis())); pw.println(" mIsBlockedByLowPowerMode=" + mIsBlockedByLowPowerMode); pw.println(" width*height=" + mWidth + "*" + mHeight); if (mHighBrightnessModeMetadata != null) { pw.println(" mRunningStartTimeMillis=" + TimeUtils.formatUptime( mHighBrightnessModeMetadata.getRunningStartTimeMillis())); pw.println(" mEvents="); final long currentTime = mClock.uptimeMillis(); long lastStartTime = currentTime; Loading @@ -328,6 +336,9 @@ class HighBrightnessModeController { } lastStartTime = dumpHbmEvent(pw, event); } } else { pw.println(" mHighBrightnessModeMetadata=null"); } } private long dumpHbmEvent(PrintWriter pw, HbmEvent event) { Loading @@ -353,7 +364,7 @@ class HighBrightnessModeController { } private boolean deviceSupportsHbm() { return mHbmData != null; return mHbmData != null && mHighBrightnessModeMetadata != null; } private long calculateRemainingTime(long currentTime) { Loading
services/core/java/com/android/server/display/HighBrightnessModeMetadataMapper.java +3 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ class HighBrightnessModeMetadataMapper { + display.getDisplayIdLocked()); return null; } if (device.getDisplayDeviceConfig().getHighBrightnessModeData() == null) { return null; } final String uniqueId = device.getUniqueId(); Loading
services/tests/displayservicetests/src/com/android/server/display/DisplayPowerController2Test.java +4 −2 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.os.IBinder; import android.os.Looper; import android.os.PowerManager; import android.os.SystemProperties; import android.os.UserHandle; import android.os.test.TestLooper; import android.provider.Settings; import android.testing.TestableContext; Loading Loading @@ -144,11 +145,12 @@ public final class DisplayPowerController2Test { mTestLooper = new TestLooper(mClock::now); mHandler = new Handler(mTestLooper.getLooper()); // Put the system into manual brightness by default, just to minimize unexpected events and // have a consistent starting state // Set some settings to minimize unexpected events and have a consistent starting state Settings.System.putInt(mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); Settings.System.putFloatForUser(mContext.getContentResolver(), Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0, UserHandle.USER_CURRENT); addLocalServiceMock(WindowManagerPolicy.class, mWindowManagerPolicyMock); addLocalServiceMock(ColorDisplayService.ColorDisplayServiceInternal.class, Loading