Loading apct-tests/perftests/windowmanager/src/android/wm/WindowAddRemovePerfTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -107,8 +107,8 @@ public class WindowAddRemovePerfTest extends WindowManagerPerfTestBase long startTime = SystemClock.elapsedRealtimeNanos(); session.addToDisplay(this, mLayoutParams, View.VISIBLE, Display.DEFAULT_DISPLAY, mRequestedVisibility, mOutFrame, mOutDisplayCutout, inputChannel, mOutInsetsState, mOutControls); Display.DEFAULT_DISPLAY, mRequestedVisibility, mOutFrame, inputChannel, mOutInsetsState, mOutControls); final long elapsedTimeNsOfAdd = SystemClock.elapsedRealtimeNanos() - startTime; state.addExtraResult("add", elapsedTimeNsOfAdd); Loading core/java/android/service/wallpaper/WallpaperService.java +3 −4 Original line number Diff line number Diff line Loading @@ -881,8 +881,7 @@ public abstract class WallpaperService extends Service { if (mSession.addToDisplay(mWindow, mLayout, View.VISIBLE, mDisplay.getDisplayId(), mInsetsState, mWinFrames.frame, mWinFrames.displayCutout, inputChannel, mInsetsState, mTempControls) < 0) { inputChannel, mInsetsState, mTempControls) < 0) { Log.w(TAG, "Failed to add window while updating wallpaper surface."); return; } Loading Loading @@ -924,13 +923,13 @@ public abstract class WallpaperService extends Service { int w = mWinFrames.frame.width(); int h = mWinFrames.frame.height(); final DisplayCutout rawCutout = mWinFrames.displayCutout.get(); final DisplayCutout rawCutout = mInsetsState.getDisplayCutout(); final Configuration config = getResources().getConfiguration(); final Rect visibleFrame = new Rect(mWinFrames.frame); visibleFrame.intersect(mInsetsState.getDisplayFrame()); WindowInsets windowInsets = mInsetsState.calculateInsets(visibleFrame, null /* ignoringVisibilityState */, config.isScreenRound(), false /* alwaysConsumeSystemBars */, rawCutout, mLayout.softInputMode, false /* alwaysConsumeSystemBars */, mLayout.softInputMode, mLayout.flags, SYSTEM_UI_FLAG_VISIBLE, mLayout.type, config.windowConfiguration.getWindowingMode(), null /* typeSideMap */); Loading core/java/android/view/DisplayCutout.java +16 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,12 @@ public final class DisplayCutout { return rects; } private void scale(float scale) { for (int i = 0; i < BOUNDS_POSITION_LENGTH; ++i) { mRects[i].scale(scale); } } @Override public int hashCode() { int result = 0; Loading Loading @@ -871,6 +877,16 @@ public final class DisplayCutout { mInner = cutout; } public void scale(float scale) { final Rect safeInsets = mInner.getSafeInsets(); safeInsets.scale(scale); final Bounds bounds = new Bounds(mInner.mBounds.mRects, true); bounds.scale(scale); final Rect waterfallInsets = mInner.mWaterfallInsets.toRect(); waterfallInsets.scale(scale); mInner = new DisplayCutout(safeInsets, Insets.of(waterfallInsets), bounds); } @Override public int hashCode() { return mInner.hashCode(); Loading core/java/android/view/IWindowManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -728,7 +728,7 @@ interface IWindowManager * @return {@code true} if system bars are always comsumed. */ boolean getWindowInsets(in WindowManager.LayoutParams attrs, int displayId, out DisplayCutout.ParcelableWrapper outDisplayCutout, out InsetsState outInsetsState); out InsetsState outInsetsState); /** * Called to show global actions. Loading core/java/android/view/IWindowSession.aidl +2 −4 Original line number Diff line number Diff line Loading @@ -47,13 +47,11 @@ import java.util.List; interface IWindowSession { int addToDisplay(IWindow window, in WindowManager.LayoutParams attrs, in int viewVisibility, in int layerStackId, in InsetsState requestedVisibility, out Rect outFrame, out DisplayCutout.ParcelableWrapper displayCutout, out InputChannel outInputChannel, out InsetsState insetsState, out Rect outFrame, out InputChannel outInputChannel, out InsetsState insetsState, out InsetsSourceControl[] activeControls); int addToDisplayAsUser(IWindow window, in WindowManager.LayoutParams attrs, in int viewVisibility, in int layerStackId, in int userId, in InsetsState requestedVisibility, out Rect outFrame, out DisplayCutout.ParcelableWrapper displayCutout, out InputChannel outInputChannel, in InsetsState requestedVisibility, out Rect outFrame, out InputChannel outInputChannel, out InsetsState insetsState, out InsetsSourceControl[] activeControls); int addToDisplayWithoutInputChannel(IWindow window, in WindowManager.LayoutParams attrs, in int viewVisibility, in int layerStackId, out InsetsState insetsState); Loading Loading
apct-tests/perftests/windowmanager/src/android/wm/WindowAddRemovePerfTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -107,8 +107,8 @@ public class WindowAddRemovePerfTest extends WindowManagerPerfTestBase long startTime = SystemClock.elapsedRealtimeNanos(); session.addToDisplay(this, mLayoutParams, View.VISIBLE, Display.DEFAULT_DISPLAY, mRequestedVisibility, mOutFrame, mOutDisplayCutout, inputChannel, mOutInsetsState, mOutControls); Display.DEFAULT_DISPLAY, mRequestedVisibility, mOutFrame, inputChannel, mOutInsetsState, mOutControls); final long elapsedTimeNsOfAdd = SystemClock.elapsedRealtimeNanos() - startTime; state.addExtraResult("add", elapsedTimeNsOfAdd); Loading
core/java/android/service/wallpaper/WallpaperService.java +3 −4 Original line number Diff line number Diff line Loading @@ -881,8 +881,7 @@ public abstract class WallpaperService extends Service { if (mSession.addToDisplay(mWindow, mLayout, View.VISIBLE, mDisplay.getDisplayId(), mInsetsState, mWinFrames.frame, mWinFrames.displayCutout, inputChannel, mInsetsState, mTempControls) < 0) { inputChannel, mInsetsState, mTempControls) < 0) { Log.w(TAG, "Failed to add window while updating wallpaper surface."); return; } Loading Loading @@ -924,13 +923,13 @@ public abstract class WallpaperService extends Service { int w = mWinFrames.frame.width(); int h = mWinFrames.frame.height(); final DisplayCutout rawCutout = mWinFrames.displayCutout.get(); final DisplayCutout rawCutout = mInsetsState.getDisplayCutout(); final Configuration config = getResources().getConfiguration(); final Rect visibleFrame = new Rect(mWinFrames.frame); visibleFrame.intersect(mInsetsState.getDisplayFrame()); WindowInsets windowInsets = mInsetsState.calculateInsets(visibleFrame, null /* ignoringVisibilityState */, config.isScreenRound(), false /* alwaysConsumeSystemBars */, rawCutout, mLayout.softInputMode, false /* alwaysConsumeSystemBars */, mLayout.softInputMode, mLayout.flags, SYSTEM_UI_FLAG_VISIBLE, mLayout.type, config.windowConfiguration.getWindowingMode(), null /* typeSideMap */); Loading
core/java/android/view/DisplayCutout.java +16 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,12 @@ public final class DisplayCutout { return rects; } private void scale(float scale) { for (int i = 0; i < BOUNDS_POSITION_LENGTH; ++i) { mRects[i].scale(scale); } } @Override public int hashCode() { int result = 0; Loading Loading @@ -871,6 +877,16 @@ public final class DisplayCutout { mInner = cutout; } public void scale(float scale) { final Rect safeInsets = mInner.getSafeInsets(); safeInsets.scale(scale); final Bounds bounds = new Bounds(mInner.mBounds.mRects, true); bounds.scale(scale); final Rect waterfallInsets = mInner.mWaterfallInsets.toRect(); waterfallInsets.scale(scale); mInner = new DisplayCutout(safeInsets, Insets.of(waterfallInsets), bounds); } @Override public int hashCode() { return mInner.hashCode(); Loading
core/java/android/view/IWindowManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -728,7 +728,7 @@ interface IWindowManager * @return {@code true} if system bars are always comsumed. */ boolean getWindowInsets(in WindowManager.LayoutParams attrs, int displayId, out DisplayCutout.ParcelableWrapper outDisplayCutout, out InsetsState outInsetsState); out InsetsState outInsetsState); /** * Called to show global actions. Loading
core/java/android/view/IWindowSession.aidl +2 −4 Original line number Diff line number Diff line Loading @@ -47,13 +47,11 @@ import java.util.List; interface IWindowSession { int addToDisplay(IWindow window, in WindowManager.LayoutParams attrs, in int viewVisibility, in int layerStackId, in InsetsState requestedVisibility, out Rect outFrame, out DisplayCutout.ParcelableWrapper displayCutout, out InputChannel outInputChannel, out InsetsState insetsState, out Rect outFrame, out InputChannel outInputChannel, out InsetsState insetsState, out InsetsSourceControl[] activeControls); int addToDisplayAsUser(IWindow window, in WindowManager.LayoutParams attrs, in int viewVisibility, in int layerStackId, in int userId, in InsetsState requestedVisibility, out Rect outFrame, out DisplayCutout.ParcelableWrapper displayCutout, out InputChannel outInputChannel, in InsetsState requestedVisibility, out Rect outFrame, out InputChannel outInputChannel, out InsetsState insetsState, out InsetsSourceControl[] activeControls); int addToDisplayWithoutInputChannel(IWindow window, in WindowManager.LayoutParams attrs, in int viewVisibility, in int layerStackId, out InsetsState insetsState); Loading