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

Commit 4809c449 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

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



Change-Id: Ie918c971ed44227ed9c7a22655a80250af2af746
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 672d79b1 1b65dbe9
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;
    }