Loading core/java/android/window/flags/window_surfaces.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -11,14 +11,6 @@ flag { bug: "292032926" } flag { namespace: "window_surfaces" name: "explicit_refresh_rate_hints" description: "Performance related hints during transitions" is_fixed_read_only: true bug: "300019131" } flag { namespace: "window_surfaces" name: "delete_capture_display" Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +0 −3 Original line number Diff line number Diff line Loading @@ -401,9 +401,6 @@ public abstract class WMShellBaseModule { ShellInit shellInit, ShellCommandHandler shellCommandHandler, RootTaskDisplayAreaOrganizer rootTdaOrganizer) { if (!com.android.window.flags.Flags.explicitRefreshRateHints()) { return Optional.empty(); } final PerfHintController perfHintController = new PerfHintController(context, shellInit, shellCommandHandler, rootTdaOrganizer); return Optional.of(perfHintController.getHinter()); Loading services/core/java/com/android/server/wm/DisplayContent.java +0 −13 Original line number Diff line number Diff line Loading @@ -159,7 +159,6 @@ import static com.android.server.wm.utils.DisplayInfoOverrides.WM_OVERRIDE_FIELD import static com.android.server.wm.utils.DisplayInfoOverrides.copyDisplayInfoFields; import static com.android.server.wm.utils.RegionUtils.forEachRectReverse; import static com.android.server.wm.utils.RegionUtils.rectListToRegion; import static com.android.window.flags.Flags.explicitRefreshRateHints; import android.annotation.IntDef; import android.annotation.NonNull; Loading Loading @@ -3426,14 +3425,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp if (!mWmService.mSupportsHighPerfTransitions) { return; } if (!explicitRefreshRateHints()) { if (enable) { getPendingTransaction().setEarlyWakeupStart(); } else { getPendingTransaction().setEarlyWakeupEnd(); } return; } if (enable) { if (mTransitionPrefSession == null) { mTransitionPrefSession = mWmService.mSystemPerformanceHinter.createSession( Loading @@ -3446,10 +3437,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp } void enableHighFrameRate(boolean enable) { if (!explicitRefreshRateHints()) { // Done by RefreshRatePolicy. return; } if (enable) { if (mHighFrameRateSession == null) { mHighFrameRateSession = mWmService.mSystemPerformanceHinter.createSession( Loading services/core/java/com/android/server/wm/RefreshRatePolicy.java +3 −39 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ package com.android.server.wm; import static android.hardware.display.DisplayManager.SWITCHING_TYPE_NONE; import static android.hardware.display.DisplayManager.SWITCHING_TYPE_RENDER_FRAME_RATE_ONLY; import static com.android.window.flags.Flags.explicitRefreshRateHints; import android.hardware.display.DisplayManager; import android.view.Display; import android.view.Display.Mode; Loading Loading @@ -60,7 +58,6 @@ class RefreshRatePolicy { } private final DisplayInfo mDisplayInfo; private final Mode mDefaultMode; private final Mode mLowRefreshRateMode; private final PackageRefreshRate mNonHighRefreshRatePackages = new PackageRefreshRate(); private final HighRefreshRateDenylist mHighRefreshRateDenylist; Loading Loading @@ -92,8 +89,7 @@ class RefreshRatePolicy { RefreshRatePolicy(WindowManagerService wmService, DisplayInfo displayInfo, HighRefreshRateDenylist denylist) { mDisplayInfo = displayInfo; mDefaultMode = displayInfo.getDefaultMode(); mLowRefreshRateMode = findLowRefreshRateMode(displayInfo, mDefaultMode); mLowRefreshRateMode = findLowRefreshRateMode(displayInfo); mHighRefreshRateDenylist = denylist; mWmService = wmService; } Loading @@ -102,7 +98,8 @@ class RefreshRatePolicy { * Finds the mode id with the lowest refresh rate which is >= 60hz and same resolution as the * default mode. */ private Mode findLowRefreshRateMode(DisplayInfo displayInfo, Mode defaultMode) { private Mode findLowRefreshRateMode(DisplayInfo displayInfo) { final Mode defaultMode = displayInfo.getDefaultMode(); float[] refreshRates = displayInfo.getDefaultRefreshRates(); float bestRefreshRate = defaultMode.getRefreshRate(); mMinSupportedRefreshRate = bestRefreshRate; Loading Loading @@ -135,33 +132,6 @@ class RefreshRatePolicy { // Unspecified, use default mode. return 0; } // If app is animating, it's not able to control refresh rate because we want the animation // to run in default refresh rate. But if the display size of default mode is different // from the using preferred mode, then still keep the preferred mode to avoid disturbing // the animation. if (!explicitRefreshRateHints() && w.isAnimationRunningSelfOrParent()) { Display.Mode preferredMode = null; for (Display.Mode mode : mDisplayInfo.supportedModes) { if (preferredDisplayModeId == mode.getModeId()) { preferredMode = mode; break; } } if (preferredMode != null) { final int pW = preferredMode.getPhysicalWidth(); final int pH = preferredMode.getPhysicalHeight(); if ((pW != mDefaultMode.getPhysicalWidth() || pH != mDefaultMode.getPhysicalHeight()) && pW == mDisplayInfo.getNaturalWidth() && pH == mDisplayInfo.getNaturalHeight()) { // Prefer not to change display size when animating. return preferredDisplayModeId; } } return 0; } return preferredDisplayModeId; } Loading Loading @@ -264,12 +234,6 @@ class RefreshRatePolicy { return w.mFrameRateVote.reset(); } // If app is animating, it's not able to control refresh rate because we want the animation // to run in default refresh rate. if (!explicitRefreshRateHints() && w.isAnimationRunningSelfOrParent()) { return w.mFrameRateVote.reset(); } // If the app set a preferredDisplayModeId, the preferred refresh rate is the refresh rate // of that mode id. if (refreshRateSwitchingType != SWITCHING_TYPE_RENDER_FRAME_RATE_ONLY) { Loading services/core/java/com/android/server/wm/WindowState.java +3 −7 Original line number Diff line number Diff line Loading @@ -182,7 +182,6 @@ import static com.android.server.wm.WindowStateProto.UNRESTRICTED_KEEP_CLEAR_ARE import static com.android.server.wm.WindowStateProto.VIEW_VISIBILITY; import static com.android.server.wm.WindowStateProto.WINDOW_CONTAINER; import static com.android.server.wm.WindowStateProto.WINDOW_FRAMES; import static com.android.window.flags.Flags.explicitRefreshRateHints; import static com.android.window.flags.Flags.secureWindowState; import static com.android.window.flags.Flags.surfaceTrustedOverlay; Loading Loading @@ -5304,13 +5303,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (voteChanged) { getPendingTransaction() .setFrameRate(mSurfaceControl, mFrameRateVote.mRefreshRate, mFrameRateVote.mCompatibility, Surface.CHANGE_FRAME_RATE_ALWAYS); if (explicitRefreshRateHints()) { getPendingTransaction().setFrameRateSelectionStrategy(mSurfaceControl, mFrameRateVote.mCompatibility, Surface.CHANGE_FRAME_RATE_ALWAYS) .setFrameRateSelectionStrategy(mSurfaceControl, mFrameRateVote.mSelectionStrategy); } } } private void updateScaleIfNeeded() { Loading Loading
core/java/android/window/flags/window_surfaces.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -11,14 +11,6 @@ flag { bug: "292032926" } flag { namespace: "window_surfaces" name: "explicit_refresh_rate_hints" description: "Performance related hints during transitions" is_fixed_read_only: true bug: "300019131" } flag { namespace: "window_surfaces" name: "delete_capture_display" Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +0 −3 Original line number Diff line number Diff line Loading @@ -401,9 +401,6 @@ public abstract class WMShellBaseModule { ShellInit shellInit, ShellCommandHandler shellCommandHandler, RootTaskDisplayAreaOrganizer rootTdaOrganizer) { if (!com.android.window.flags.Flags.explicitRefreshRateHints()) { return Optional.empty(); } final PerfHintController perfHintController = new PerfHintController(context, shellInit, shellCommandHandler, rootTdaOrganizer); return Optional.of(perfHintController.getHinter()); Loading
services/core/java/com/android/server/wm/DisplayContent.java +0 −13 Original line number Diff line number Diff line Loading @@ -159,7 +159,6 @@ import static com.android.server.wm.utils.DisplayInfoOverrides.WM_OVERRIDE_FIELD import static com.android.server.wm.utils.DisplayInfoOverrides.copyDisplayInfoFields; import static com.android.server.wm.utils.RegionUtils.forEachRectReverse; import static com.android.server.wm.utils.RegionUtils.rectListToRegion; import static com.android.window.flags.Flags.explicitRefreshRateHints; import android.annotation.IntDef; import android.annotation.NonNull; Loading Loading @@ -3426,14 +3425,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp if (!mWmService.mSupportsHighPerfTransitions) { return; } if (!explicitRefreshRateHints()) { if (enable) { getPendingTransaction().setEarlyWakeupStart(); } else { getPendingTransaction().setEarlyWakeupEnd(); } return; } if (enable) { if (mTransitionPrefSession == null) { mTransitionPrefSession = mWmService.mSystemPerformanceHinter.createSession( Loading @@ -3446,10 +3437,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp } void enableHighFrameRate(boolean enable) { if (!explicitRefreshRateHints()) { // Done by RefreshRatePolicy. return; } if (enable) { if (mHighFrameRateSession == null) { mHighFrameRateSession = mWmService.mSystemPerformanceHinter.createSession( Loading
services/core/java/com/android/server/wm/RefreshRatePolicy.java +3 −39 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ package com.android.server.wm; import static android.hardware.display.DisplayManager.SWITCHING_TYPE_NONE; import static android.hardware.display.DisplayManager.SWITCHING_TYPE_RENDER_FRAME_RATE_ONLY; import static com.android.window.flags.Flags.explicitRefreshRateHints; import android.hardware.display.DisplayManager; import android.view.Display; import android.view.Display.Mode; Loading Loading @@ -60,7 +58,6 @@ class RefreshRatePolicy { } private final DisplayInfo mDisplayInfo; private final Mode mDefaultMode; private final Mode mLowRefreshRateMode; private final PackageRefreshRate mNonHighRefreshRatePackages = new PackageRefreshRate(); private final HighRefreshRateDenylist mHighRefreshRateDenylist; Loading Loading @@ -92,8 +89,7 @@ class RefreshRatePolicy { RefreshRatePolicy(WindowManagerService wmService, DisplayInfo displayInfo, HighRefreshRateDenylist denylist) { mDisplayInfo = displayInfo; mDefaultMode = displayInfo.getDefaultMode(); mLowRefreshRateMode = findLowRefreshRateMode(displayInfo, mDefaultMode); mLowRefreshRateMode = findLowRefreshRateMode(displayInfo); mHighRefreshRateDenylist = denylist; mWmService = wmService; } Loading @@ -102,7 +98,8 @@ class RefreshRatePolicy { * Finds the mode id with the lowest refresh rate which is >= 60hz and same resolution as the * default mode. */ private Mode findLowRefreshRateMode(DisplayInfo displayInfo, Mode defaultMode) { private Mode findLowRefreshRateMode(DisplayInfo displayInfo) { final Mode defaultMode = displayInfo.getDefaultMode(); float[] refreshRates = displayInfo.getDefaultRefreshRates(); float bestRefreshRate = defaultMode.getRefreshRate(); mMinSupportedRefreshRate = bestRefreshRate; Loading Loading @@ -135,33 +132,6 @@ class RefreshRatePolicy { // Unspecified, use default mode. return 0; } // If app is animating, it's not able to control refresh rate because we want the animation // to run in default refresh rate. But if the display size of default mode is different // from the using preferred mode, then still keep the preferred mode to avoid disturbing // the animation. if (!explicitRefreshRateHints() && w.isAnimationRunningSelfOrParent()) { Display.Mode preferredMode = null; for (Display.Mode mode : mDisplayInfo.supportedModes) { if (preferredDisplayModeId == mode.getModeId()) { preferredMode = mode; break; } } if (preferredMode != null) { final int pW = preferredMode.getPhysicalWidth(); final int pH = preferredMode.getPhysicalHeight(); if ((pW != mDefaultMode.getPhysicalWidth() || pH != mDefaultMode.getPhysicalHeight()) && pW == mDisplayInfo.getNaturalWidth() && pH == mDisplayInfo.getNaturalHeight()) { // Prefer not to change display size when animating. return preferredDisplayModeId; } } return 0; } return preferredDisplayModeId; } Loading Loading @@ -264,12 +234,6 @@ class RefreshRatePolicy { return w.mFrameRateVote.reset(); } // If app is animating, it's not able to control refresh rate because we want the animation // to run in default refresh rate. if (!explicitRefreshRateHints() && w.isAnimationRunningSelfOrParent()) { return w.mFrameRateVote.reset(); } // If the app set a preferredDisplayModeId, the preferred refresh rate is the refresh rate // of that mode id. if (refreshRateSwitchingType != SWITCHING_TYPE_RENDER_FRAME_RATE_ONLY) { Loading
services/core/java/com/android/server/wm/WindowState.java +3 −7 Original line number Diff line number Diff line Loading @@ -182,7 +182,6 @@ import static com.android.server.wm.WindowStateProto.UNRESTRICTED_KEEP_CLEAR_ARE import static com.android.server.wm.WindowStateProto.VIEW_VISIBILITY; import static com.android.server.wm.WindowStateProto.WINDOW_CONTAINER; import static com.android.server.wm.WindowStateProto.WINDOW_FRAMES; import static com.android.window.flags.Flags.explicitRefreshRateHints; import static com.android.window.flags.Flags.secureWindowState; import static com.android.window.flags.Flags.surfaceTrustedOverlay; Loading Loading @@ -5304,13 +5303,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (voteChanged) { getPendingTransaction() .setFrameRate(mSurfaceControl, mFrameRateVote.mRefreshRate, mFrameRateVote.mCompatibility, Surface.CHANGE_FRAME_RATE_ALWAYS); if (explicitRefreshRateHints()) { getPendingTransaction().setFrameRateSelectionStrategy(mSurfaceControl, mFrameRateVote.mCompatibility, Surface.CHANGE_FRAME_RATE_ALWAYS) .setFrameRateSelectionStrategy(mSurfaceControl, mFrameRateVote.mSelectionStrategy); } } } private void updateScaleIfNeeded() { Loading