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

Commit a0e0b5b5 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by android-build-merger
Browse files

Merge "Revert "Make request permissions dialog layout robost"" am: 41d260fe

am: eccff95e

* commit 'eccff95e':
  Revert "Make request permissions dialog layout robost"
parents 8e9c4fef eccff95e
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PermissionInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Typeface;
import android.graphics.drawable.Icon;
@@ -187,20 +186,6 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
        }
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // This is just gross - we need to relayout the window as
        // dialog width may be different in landscape vs portrait
        // which affect the min window height needed to show all
        // content. We have to re-add the window to force it to be
        // resized if needed. The way the permission grant dialog
        // is implemented is not correct and has to be rewritten.
        View decor = getWindow().getDecorView();
        getWindowManager().removeViewImmediate(decor);
        getWindowManager().addView(decor, decor.getLayoutParams());
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        View rootView = getWindow().getDecorView();
+5 −20
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package com.android.packageinstaller.permission.ui;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;

/**
@@ -26,10 +27,13 @@ import android.widget.FrameLayout;
 * but allows the view to grow downwards for animation.
 */
public class ManualLayoutFrame extends FrameLayout {

    private int mDesiredHeight;
    private int mHeight;
    private int mWidth;

    private View mOffsetView;

    public ManualLayoutFrame(Context context, AttributeSet attrs) {
        super(context, attrs);
        setClipChildren(false);
@@ -43,29 +47,10 @@ public class ManualLayoutFrame extends FrameLayout {
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        if (mWidth != 0) {
            int newWidth = mWidth;
            final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
            switch (widthMode) {
                case MeasureSpec.AT_MOST: {
                    newWidth = Math.min(mWidth, MeasureSpec.getSize(widthMeasureSpec));
                } break;
                case MeasureSpec.EXACTLY: {
                    newWidth = MeasureSpec.getSize(widthMeasureSpec);
                } break;
            }
            // If the width changes we have to re-evaluate the height
            if (newWidth != mWidth) {
                mWidth = newWidth;
                mHeight = 0;
            }
            // Keep the width constant to avoid weirdness.
            widthMeasureSpec = MeasureSpec.makeMeasureSpec(mWidth, MeasureSpec.EXACTLY);
        }

        // Let the content measure how much it needs to be fully shown
        heightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);

        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

        mDesiredHeight = getMeasuredHeight();
        if (mHeight == 0 && mDesiredHeight != 0) {
            // Record the first non-zero width and height, this will be the height henceforth.
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Icon;
import android.os.Bundle;
import android.util.SparseArray;