Loading core/java/android/os/PowerManagerInternal.java +0 −10 Original line number Diff line number Diff line Loading @@ -86,16 +86,6 @@ public abstract class PowerManagerInternal { */ public abstract void setScreenBrightnessOverrideFromWindowManager(int brightness); /** * Used by the window manager to override the button brightness based on the * current foreground activity. * * This method must only be called by the window manager. * * @param brightness The overridden brightness, or -1 to disable the override. */ public abstract void setButtonBrightnessOverrideFromWindowManager(int brightness); /** * Used by the window manager to override the user activity timeout based on the * current foreground activity. It can only be used to make the timeout shorter Loading services/core/java/com/android/server/power/PowerManagerService.java +0 −6 Original line number Diff line number Diff line Loading @@ -4631,12 +4631,6 @@ public final class PowerManagerService extends SystemService setScreenBrightnessOverrideFromWindowManagerInternal(screenBrightness); } @Override public void setButtonBrightnessOverrideFromWindowManager(int screenBrightness) { // Do nothing. // Button lights are not currently supported in the new implementation. } @Override public void setDozeOverrideFromDreamManager(int screenState, int screenBrightness) { switch (screenState) { Loading services/core/java/com/android/server/wm/RootWindowContainer.java +41 −19 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ import android.graphics.Rect; import android.hardware.power.V1_0.PowerHint; import android.os.Binder; import android.os.Debug; import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.PowerManager; import android.os.RemoteException; Loading @@ -34,6 +37,8 @@ import android.util.SparseIntArray; import android.view.Display; import android.view.DisplayInfo; import android.view.WindowManager; import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import com.android.server.EventLogTags; Loading Loading @@ -87,13 +92,15 @@ import static com.android.server.wm.WindowSurfacePlacer.SET_WALLPAPER_MAY_CHANGE class RootWindowContainer extends WindowContainer<DisplayContent> { private static final String TAG = TAG_WITH_CLASS_NAME ? "RootWindowContainer" : TAG_WM; private static final int SET_SCREEN_BRIGHTNESS_OVERRIDE = 1; private static final int SET_USER_ACTIVITY_TIMEOUT = 2; WindowManagerService mService; private boolean mWallpaperForceHidingChanged = false; private Object mLastWindowFreezeSource = null; private Session mHoldScreen = null; private float mScreenBrightness = -1; private float mButtonBrightness = -1; private long mUserActivityTimeout = -1; private boolean mUpdateRotation = false; // Following variables are for debugging screen wakelock only. Loading Loading @@ -128,6 +135,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { private final WindowLayersController mLayersController; final WallpaperController mWallpaperController; private final Handler mHandler; private String mCloseSystemDialogsReason; private final Consumer<WindowState> mCloseSystemDialogsConsumer = w -> { if (w.mHasSurface) { Loading @@ -147,6 +156,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { RootWindowContainer(WindowManagerService service) { mService = service; mHandler = new MyHandler(service.mH.getLooper()); mLayersController = new WindowLayersController(mService); mWallpaperController = new WallpaperController(mService); } Loading Loading @@ -552,7 +562,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { mHoldScreen = null; mScreenBrightness = -1; mButtonBrightness = -1; mUserActivityTimeout = -1; mObscureApplicationContentOnSecondaryDisplays = false; mSustainedPerformanceModeCurrent = false; Loading Loading @@ -702,20 +711,13 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { mService.setHoldScreenLocked(mHoldScreen); if (!mService.mDisplayFrozen) { if (mScreenBrightness < 0 || mScreenBrightness > 1.0f) { mService.mPowerManagerInternal.setScreenBrightnessOverrideFromWindowManager(-1); } else { mService.mPowerManagerInternal.setScreenBrightnessOverrideFromWindowManager( toBrightnessOverride(mScreenBrightness)); } if (mButtonBrightness < 0 || mButtonBrightness > 1.0f) { mService.mPowerManagerInternal.setButtonBrightnessOverrideFromWindowManager(-1); } else { mService.mPowerManagerInternal.setButtonBrightnessOverrideFromWindowManager( toBrightnessOverride(mButtonBrightness)); } mService.mPowerManagerInternal.setUserActivityTimeoutOverrideFromWindowManager( mUserActivityTimeout); final int brightness = mScreenBrightness < 0 || mScreenBrightness > 1.0f ? -1 : toBrightnessOverride(mScreenBrightness); // Post these on a handler such that we don't call into power manager service while // holding the window manager lock to avoid lock contention with power manager lock. mHandler.obtainMessage(SET_SCREEN_BRIGHTNESS_OVERRIDE, brightness, 0).sendToTarget(); mHandler.obtainMessage(SET_USER_ACTIVITY_TIMEOUT, mUserActivityTimeout).sendToTarget(); } if (mSustainedPerformanceModeCurrent != mSustainedPerformanceModeEnabled) { Loading Loading @@ -863,9 +865,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { if (!syswin && w.mAttrs.screenBrightness >= 0 && mScreenBrightness < 0) { mScreenBrightness = w.mAttrs.screenBrightness; } if (!syswin && w.mAttrs.buttonBrightness >= 0 && mButtonBrightness < 0) { mButtonBrightness = w.mAttrs.buttonBrightness; } if (!syswin && w.mAttrs.userActivityTimeout >= 0 && mUserActivityTimeout < 0) { mUserActivityTimeout = w.mAttrs.userActivityTimeout; } Loading Loading @@ -935,6 +934,29 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { return (int)(value * PowerManager.BRIGHTNESS_ON); } private final class MyHandler extends Handler { public MyHandler(Looper looper) { super(looper); } @Override public void handleMessage(Message msg) { switch (msg.what) { case SET_SCREEN_BRIGHTNESS_OVERRIDE: mService.mPowerManagerInternal.setScreenBrightnessOverrideFromWindowManager( msg.arg1); break; case SET_USER_ACTIVITY_TIMEOUT: mService.mPowerManagerInternal.setUserActivityTimeoutOverrideFromWindowManager( (Long) msg.obj); break; default: break; } } } void enableSurfaceTrace(ParcelFileDescriptor pfd) { final FileDescriptor fd = pfd.getFileDescriptor(); if (mSurfaceTraceEnabled) { Loading Loading
core/java/android/os/PowerManagerInternal.java +0 −10 Original line number Diff line number Diff line Loading @@ -86,16 +86,6 @@ public abstract class PowerManagerInternal { */ public abstract void setScreenBrightnessOverrideFromWindowManager(int brightness); /** * Used by the window manager to override the button brightness based on the * current foreground activity. * * This method must only be called by the window manager. * * @param brightness The overridden brightness, or -1 to disable the override. */ public abstract void setButtonBrightnessOverrideFromWindowManager(int brightness); /** * Used by the window manager to override the user activity timeout based on the * current foreground activity. It can only be used to make the timeout shorter Loading
services/core/java/com/android/server/power/PowerManagerService.java +0 −6 Original line number Diff line number Diff line Loading @@ -4631,12 +4631,6 @@ public final class PowerManagerService extends SystemService setScreenBrightnessOverrideFromWindowManagerInternal(screenBrightness); } @Override public void setButtonBrightnessOverrideFromWindowManager(int screenBrightness) { // Do nothing. // Button lights are not currently supported in the new implementation. } @Override public void setDozeOverrideFromDreamManager(int screenState, int screenBrightness) { switch (screenState) { Loading
services/core/java/com/android/server/wm/RootWindowContainer.java +41 −19 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ import android.graphics.Rect; import android.hardware.power.V1_0.PowerHint; import android.os.Binder; import android.os.Debug; import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.PowerManager; import android.os.RemoteException; Loading @@ -34,6 +37,8 @@ import android.util.SparseIntArray; import android.view.Display; import android.view.DisplayInfo; import android.view.WindowManager; import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import com.android.server.EventLogTags; Loading Loading @@ -87,13 +92,15 @@ import static com.android.server.wm.WindowSurfacePlacer.SET_WALLPAPER_MAY_CHANGE class RootWindowContainer extends WindowContainer<DisplayContent> { private static final String TAG = TAG_WITH_CLASS_NAME ? "RootWindowContainer" : TAG_WM; private static final int SET_SCREEN_BRIGHTNESS_OVERRIDE = 1; private static final int SET_USER_ACTIVITY_TIMEOUT = 2; WindowManagerService mService; private boolean mWallpaperForceHidingChanged = false; private Object mLastWindowFreezeSource = null; private Session mHoldScreen = null; private float mScreenBrightness = -1; private float mButtonBrightness = -1; private long mUserActivityTimeout = -1; private boolean mUpdateRotation = false; // Following variables are for debugging screen wakelock only. Loading Loading @@ -128,6 +135,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { private final WindowLayersController mLayersController; final WallpaperController mWallpaperController; private final Handler mHandler; private String mCloseSystemDialogsReason; private final Consumer<WindowState> mCloseSystemDialogsConsumer = w -> { if (w.mHasSurface) { Loading @@ -147,6 +156,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { RootWindowContainer(WindowManagerService service) { mService = service; mHandler = new MyHandler(service.mH.getLooper()); mLayersController = new WindowLayersController(mService); mWallpaperController = new WallpaperController(mService); } Loading Loading @@ -552,7 +562,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { mHoldScreen = null; mScreenBrightness = -1; mButtonBrightness = -1; mUserActivityTimeout = -1; mObscureApplicationContentOnSecondaryDisplays = false; mSustainedPerformanceModeCurrent = false; Loading Loading @@ -702,20 +711,13 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { mService.setHoldScreenLocked(mHoldScreen); if (!mService.mDisplayFrozen) { if (mScreenBrightness < 0 || mScreenBrightness > 1.0f) { mService.mPowerManagerInternal.setScreenBrightnessOverrideFromWindowManager(-1); } else { mService.mPowerManagerInternal.setScreenBrightnessOverrideFromWindowManager( toBrightnessOverride(mScreenBrightness)); } if (mButtonBrightness < 0 || mButtonBrightness > 1.0f) { mService.mPowerManagerInternal.setButtonBrightnessOverrideFromWindowManager(-1); } else { mService.mPowerManagerInternal.setButtonBrightnessOverrideFromWindowManager( toBrightnessOverride(mButtonBrightness)); } mService.mPowerManagerInternal.setUserActivityTimeoutOverrideFromWindowManager( mUserActivityTimeout); final int brightness = mScreenBrightness < 0 || mScreenBrightness > 1.0f ? -1 : toBrightnessOverride(mScreenBrightness); // Post these on a handler such that we don't call into power manager service while // holding the window manager lock to avoid lock contention with power manager lock. mHandler.obtainMessage(SET_SCREEN_BRIGHTNESS_OVERRIDE, brightness, 0).sendToTarget(); mHandler.obtainMessage(SET_USER_ACTIVITY_TIMEOUT, mUserActivityTimeout).sendToTarget(); } if (mSustainedPerformanceModeCurrent != mSustainedPerformanceModeEnabled) { Loading Loading @@ -863,9 +865,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { if (!syswin && w.mAttrs.screenBrightness >= 0 && mScreenBrightness < 0) { mScreenBrightness = w.mAttrs.screenBrightness; } if (!syswin && w.mAttrs.buttonBrightness >= 0 && mButtonBrightness < 0) { mButtonBrightness = w.mAttrs.buttonBrightness; } if (!syswin && w.mAttrs.userActivityTimeout >= 0 && mUserActivityTimeout < 0) { mUserActivityTimeout = w.mAttrs.userActivityTimeout; } Loading Loading @@ -935,6 +934,29 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { return (int)(value * PowerManager.BRIGHTNESS_ON); } private final class MyHandler extends Handler { public MyHandler(Looper looper) { super(looper); } @Override public void handleMessage(Message msg) { switch (msg.what) { case SET_SCREEN_BRIGHTNESS_OVERRIDE: mService.mPowerManagerInternal.setScreenBrightnessOverrideFromWindowManager( msg.arg1); break; case SET_USER_ACTIVITY_TIMEOUT: mService.mPowerManagerInternal.setUserActivityTimeoutOverrideFromWindowManager( (Long) msg.obj); break; default: break; } } } void enableSurfaceTrace(ParcelFileDescriptor pfd) { final FileDescriptor fd = pfd.getFileDescriptor(); if (mSurfaceTraceEnabled) { Loading