summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/grant_permissions.xml5
-rw-r--r--src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java7
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;