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

Commit 0aae6acf authored by Tiger Huang's avatar Tiger Huang Committed by android-build-merger
Browse files

Merge "Only apply rounded-corner animation on TYPE_BUILT_IN displays" into qt-dev

am: 3939be61

Change-Id: I72360b2f6b0b0b44139e65320bd0b354bf3c2210
parents d9fea83b 3939be61
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -129,7 +129,7 @@ class AppWindowThumbnail implements Animatable {
        mSurfaceAnimator.startAnimation(t, new LocalAnimationAdapter(
        mSurfaceAnimator.startAnimation(t, new LocalAnimationAdapter(
                new WindowAnimationSpec(anim, position,
                new WindowAnimationSpec(anim, position,
                        mAppToken.getDisplayContent().mAppTransition.canSkipFirstFrame(),
                        mAppToken.getDisplayContent().mAppTransition.canSkipFirstFrame(),
                        mAppToken.getWindowCornerRadiusForAnimation()),
                        mAppToken.getDisplayContent().getWindowCornerRadius()),
                mAppToken.mWmService.mSurfaceAnimationRunner), false /* hidden */);
                mAppToken.mWmService.mSurfaceAnimationRunner), false /* hidden */);
    }
    }


+1 −1
Original line number Original line Diff line number Diff line
@@ -2558,7 +2558,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
                                    getDisplayContent().mAppTransition.canSkipFirstFrame(),
                                    getDisplayContent().mAppTransition.canSkipFirstFrame(),
                                    appStackClipMode,
                                    appStackClipMode,
                                    true /* isAppAnimation */,
                                    true /* isAppAnimation */,
                                    getWindowCornerRadiusForAnimation()),
                                    getDisplayContent().getWindowCornerRadius()),
                            mWmService.mSurfaceAnimationRunner);
                            mWmService.mSurfaceAnimationRunner);
                    if (a.getZAdjustment() == Animation.ZORDER_TOP) {
                    if (a.getZAdjustment() == Animation.ZORDER_TOP) {
                        mNeedsZBoost = true;
                        mNeedsZBoost = true;
+8 −0
Original line number Original line Diff line number Diff line
@@ -554,6 +554,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
    // Last systemUiVisibility we dispatched to windows.
    // Last systemUiVisibility we dispatched to windows.
    private int mLastDispatchedSystemUiVisibility = 0;
    private int mLastDispatchedSystemUiVisibility = 0;


    /** Corner radius that windows should have in order to match the display. */
    private final float mWindowCornerRadius;

    private final Consumer<WindowState> mUpdateWindowsForAnimator = w -> {
    private final Consumer<WindowState> mUpdateWindowsForAnimator = w -> {
        WindowStateAnimator winAnimator = w.mWinAnimator;
        WindowStateAnimator winAnimator = w.mWinAnimator;
        final AppWindowToken atoken = w.mAppToken;
        final AppWindowToken atoken = w.mAppToken;
@@ -914,6 +917,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
        if (mWmService.mSystemReady) {
        if (mWmService.mSystemReady) {
            mDisplayPolicy.systemReady();
            mDisplayPolicy.systemReady();
        }
        }
        mWindowCornerRadius = mDisplayPolicy.getWindowCornerRadius();
        mDividerControllerLocked = new DockedStackDividerController(service, this);
        mDividerControllerLocked = new DockedStackDividerController(service, this);
        mPinnedStackControllerLocked = new PinnedStackController(service, this);
        mPinnedStackControllerLocked = new PinnedStackController(service, this);


@@ -958,6 +962,10 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
        return mDisplayId;
        return mDisplayId;
    }
    }


    float getWindowCornerRadius() {
        return mWindowCornerRadius;
    }

    WindowToken getWindowToken(IBinder binder) {
    WindowToken getWindowToken(IBinder binder) {
        return mTokenMap.get(binder);
        return mTokenMap.get(binder);
    }
    }
+12 −0
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECOND
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
import static android.content.res.Configuration.UI_MODE_TYPE_CAR;
import static android.content.res.Configuration.UI_MODE_TYPE_CAR;
import static android.content.res.Configuration.UI_MODE_TYPE_MASK;
import static android.content.res.Configuration.UI_MODE_TYPE_MASK;
import static android.view.Display.TYPE_BUILT_IN;
import static android.view.InsetsState.TYPE_TOP_BAR;
import static android.view.InsetsState.TYPE_TOP_BAR;
import static android.view.InsetsState.TYPE_TOP_GESTURES;
import static android.view.InsetsState.TYPE_TOP_GESTURES;
import static android.view.InsetsState.TYPE_TOP_TAPPABLE_ELEMENT;
import static android.view.InsetsState.TYPE_TOP_TAPPABLE_ELEMENT;
@@ -157,6 +158,7 @@ import android.view.accessibility.AccessibilityManager;
import com.android.internal.R;
import com.android.internal.R;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.internal.util.ScreenShapeHelper;
import com.android.internal.util.ScreenShapeHelper;
import com.android.internal.util.ScreenshotHelper;
import com.android.internal.util.ScreenshotHelper;
import com.android.internal.util.function.TriConsumer;
import com.android.internal.util.function.TriConsumer;
@@ -2870,6 +2872,16 @@ public class DisplayPolicy {
                - statusBarHeight;
                - statusBarHeight;
    }
    }


    /**
     * Return corner radius in pixels that should be used on windows in order to cover the display.
     * The radius is only valid for built-in displays since the one who configures window corner
     * radius cannot know the corner radius of non-built-in display.
     */
    float getWindowCornerRadius() {
        return mDisplayContent.getDisplay().getType() == TYPE_BUILT_IN
                ? ScreenDecorationsUtils.getWindowCornerRadius(mContext.getResources()) : 0f;
    }

    boolean isShowingDreamLw() {
    boolean isShowingDreamLw() {
        return mShowingDream;
        return mShowingDream;
    }
    }
+0 −5
Original line number Original line Diff line number Diff line
@@ -240,7 +240,6 @@ import com.android.internal.os.BackgroundThread;
import com.android.internal.os.IResultReceiver;
import com.android.internal.os.IResultReceiver;
import com.android.internal.policy.IKeyguardDismissCallback;
import com.android.internal.policy.IKeyguardDismissCallback;
import com.android.internal.policy.IShortcutService;
import com.android.internal.policy.IShortcutService;
import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.util.LatencyTracker;
import com.android.internal.util.LatencyTracker;
@@ -793,9 +792,6 @@ public class WindowManagerService extends IWindowManager.Stub
    final DisplayManager mDisplayManager;
    final DisplayManager mDisplayManager;
    final ActivityTaskManagerService mAtmService;
    final ActivityTaskManagerService mAtmService;


    /** Corner radius that windows should have in order to match the display. */
    final float mWindowCornerRadius;

    /** Indicates whether this device supports wide color gamut / HDR rendering */
    /** Indicates whether this device supports wide color gamut / HDR rendering */
    private boolean mHasWideColorGamutSupport;
    private boolean mHasWideColorGamutSupport;
    private boolean mHasHdrSupport;
    private boolean mHasHdrSupport;
@@ -1020,7 +1016,6 @@ public class WindowManagerService extends IWindowManager.Stub
        mInputManager = inputManager; // Must be before createDisplayContentLocked.
        mInputManager = inputManager; // Must be before createDisplayContentLocked.
        mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class);
        mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class);
        mDisplayWindowSettings = new DisplayWindowSettings(this);
        mDisplayWindowSettings = new DisplayWindowSettings(this);
        mWindowCornerRadius = ScreenDecorationsUtils.getWindowCornerRadius(context.getResources());


        mTransactionFactory = transactionFactory;
        mTransactionFactory = transactionFactory;
        mTransaction = mTransactionFactory.make();
        mTransaction = mTransactionFactory.make();
Loading