Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2bf1f425 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Use parent frame to update wallpaper offset" into tm-qpr-dev

parents a1c41b0d dbfa31c2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -371,7 +371,7 @@ class WallpaperController {

    boolean updateWallpaperOffset(WindowState wallpaperWin, boolean sync) {
        // Size of the display the wallpaper is rendered on.
        final Rect lastWallpaperBounds = wallpaperWin.getLastReportedBounds();
        final Rect lastWallpaperBounds = wallpaperWin.getParentFrame();
        // Full size of the wallpaper (usually larger than bounds above to parallax scroll when
        // swiping through Launcher pages).
        final Rect wallpaperFrame = wallpaperWin.getFrame();
+4 −7
Original line number Diff line number Diff line
@@ -3081,12 +3081,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        return mLastReportedConfiguration.getMergedConfiguration();
    }

    /** Returns the last window configuration bounds reported to the client. */
    Rect getLastReportedBounds() {
        final Rect bounds = getLastReportedConfiguration().windowConfiguration.getBounds();
        return !bounds.isEmpty() ? bounds : getBounds();
    }

    void adjustStartingWindowFlags() {
        if (mAttrs.type == TYPE_BASE_APPLICATION && mActivityRecord != null
                && mActivityRecord.mStartingWindow != null) {
@@ -4421,6 +4415,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
            pw.print("null");
        }

        if (mXOffset != 0 || mYOffset != 0) {
            pw.println(prefix + "mXOffset=" + mXOffset + " mYOffset=" + mYOffset);
        }
        if (mHScale != 1 || mVScale != 1) {
            pw.println(prefix + "mHScale=" + mHScale
                    + " mVScale=" + mVScale);
@@ -5573,7 +5570,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
                mSurfacePosition);

        if (mWallpaperScale != 1f) {
            final Rect bounds = getLastReportedBounds();
            final Rect bounds = getParentFrame();
            Matrix matrix = mTmpMatrix;
            matrix.setTranslate(mXOffset, mYOffset);
            matrix.postScale(mWallpaperScale, mWallpaperScale, bounds.exactCenterX(),
+1 −1
Original line number Diff line number Diff line
@@ -391,7 +391,7 @@ public class WallpaperControllerTests extends WindowTestsBase {
        dc.updateOrientation();
        dc.sendNewConfiguration();
        spyOn(wallpaperWindow);
        doReturn(new Rect(0, 0, width, height)).when(wallpaperWindow).getLastReportedBounds();
        doReturn(new Rect(0, 0, width, height)).when(wallpaperWindow).getParentFrame();
    }

    @Test