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

Commit 70044984 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix the SysUI dialogs size after rotating" into tm-dev am: f6942416...

Merge "Fix the SysUI dialogs size after rotating" into tm-dev am: f6942416 am: b7a85c3a am: 1b65dbe9 am: 4809c449

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18375395



Change-Id: I4e46cabc46ee0275fab2bf7a6d2283815689f6d5
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 5e711ace 4809c449
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -16,7 +16,8 @@
-->
<resources>
    <!-- DialogLaunchAnimator -->
    <item type="id" name="launch_animation_running"/>
    <item type="id" name="tag_launch_animation_running"/>
    <item type="id" name="tag_dialog_background"/>

    <!-- ViewBoundsAnimator -->
    <item type="id" name="tag_animator"/>
+3 −2
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ class DialogLaunchAnimator @JvmOverloads constructor(
            positionXInterpolator = ActivityLaunchAnimator.INTERPOLATORS.positionInterpolator
        )

        private val TAG_LAUNCH_ANIMATION_RUNNING = R.id.launch_animation_running
        private val TAG_LAUNCH_ANIMATION_RUNNING = R.id.tag_launch_animation_running
    }

    /**
@@ -447,6 +447,7 @@ private class AnimatedDialog(
            dialogContentWithBackground
        }
        this.dialogContentWithBackground = dialogContentWithBackground
        dialogContentWithBackground.setTag(R.id.tag_dialog_background, true)

        val background = dialogContentWithBackground.background
        originalDialogBackgroundColor =
@@ -584,7 +585,7 @@ private class AnimatedDialog(
                GhostView.removeGhost(touchSurface)
            },
            onLaunchAnimationEnd = {
                touchSurface.setTag(R.id.launch_animation_running, null)
                touchSurface.setTag(R.id.tag_launch_animation_running, null)

                // We hide the touch surface when the dialog is showing. We will make this
                // view visible again when dismissing the dialog.
+9 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.os.Looper;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewRootImpl;
import android.view.Window;
@@ -376,11 +377,17 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
    }

    private static int getHorizontalInsets(Dialog dialog) {
        if (dialog.getWindow().getDecorView() == null) {
        View decorView = dialog.getWindow().getDecorView();
        if (decorView == null) {
            return 0;
        }

        Drawable background = dialog.getWindow().getDecorView().getBackground();
        // We first look for the background on the dialogContentWithBackground added by
        // DialogLaunchAnimator. If it's not there, we use the background of the DecorView.
        View viewWithBackground = decorView.findViewByPredicate(
                view -> view.getTag(R.id.tag_dialog_background) != null);
        Drawable background = viewWithBackground != null ? viewWithBackground.getBackground()
                : decorView.getBackground();
        Insets insets = background != null ? background.getOpticalInsets() : Insets.NONE;
        return insets.left + insets.right;
    }