diff options
-rw-r--r-- | res/layout/grant_permissions.xml | 5 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/res/layout/grant_permissions.xml b/res/layout/grant_permissions.xml index abb219a5..8ed9c5d6 100644 --- a/res/layout/grant_permissions.xml +++ b/res/layout/grant_permissions.xml @@ -25,6 +25,9 @@ android:paddingBottom="32dp" android:clipToPadding="false"> + <ScrollView android:layout_width="wrap_content" + android:layout_height="wrap_content"> + <LinearLayout android:id="@+id/dialog_container" android:layout_width="wrap_content" @@ -116,4 +119,6 @@ </LinearLayout> + </ScrollView> + </com.android.packageinstaller.permission.ui.ManualLayoutFrame> diff --git a/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java b/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java index a20c9523..0b07c806 100644 --- a/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java +++ b/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java @@ -61,8 +61,13 @@ public class ManualLayoutFrame extends ViewGroup { @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + // We want to keep the content bottom at the same place to avoid movement of the "Allow" + // button. + // Try to keep the content bottom at the same height. If this would move the dialog out of + // the top of the screen move it down as much as possible, then keep it at that position for + // the rest of the sequence of permission dialogs. View content = getChildAt(0); - if (mContentBottom == 0) { + if (mContentBottom == 0 || content.getMeasuredHeight() > mContentBottom) { mContentBottom = (getMeasuredHeight() + content.getMeasuredHeight()) / 2; } final int contentLeft = (getMeasuredWidth() - content.getMeasuredWidth()) / 2; |