diff options
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java index 102fd6ef..48c5edf5 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -25,6 +25,7 @@ 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; @@ -176,6 +177,20 @@ 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(); if (rootView.getTop() != 0) { |