summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2016-08-23 11:14:06 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2016-08-23 18:49:27 +0000
commit4b1e2d8d07db3a40ec494cb6191cdbd80a0dd740 (patch)
tree54c426c85a87f36fe11e91a3a4a51a610ce5a491
parent8c4f0ff91d15eeb583451e5f87a7db59e811ff29 (diff)
downloadandroid_packages_apps_PackageInstaller-4b1e2d8d07db3a40ec494cb6191cdbd80a0dd740.tar.gz
android_packages_apps_PackageInstaller-4b1e2d8d07db3a40ec494cb6191cdbd80a0dd740.tar.bz2
android_packages_apps_PackageInstaller-4b1e2d8d07db3a40ec494cb6191cdbd80a0dd740.zip
Fix an exception in PackageInstaller
It is apparently possible for an activity to get a configuration change callback when its view is no longer attached to the window manager. Check if a view is attached before removing it from the window manager. bug:30389560 Change-Id: I384401742eca61d140c7590eb5c67150a15da83b
-rw-r--r--src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
index c4471be6..b1347295 100644
--- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
@@ -196,10 +196,12 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
// window height needed to show all content. We have to
// re-add the window to force it to be resized if needed.
View decor = getWindow().getDecorView();
- getWindowManager().removeViewImmediate(decor);
- getWindowManager().addView(decor, decor.getLayoutParams());
- if (mViewHandler instanceof GrantPermissionsViewHandlerImpl) {
- ((GrantPermissionsViewHandlerImpl) mViewHandler).onConfigurationChanged();
+ if (decor.getParent() != null) {
+ getWindowManager().removeViewImmediate(decor);
+ getWindowManager().addView(decor, decor.getLayoutParams());
+ if (mViewHandler instanceof GrantPermissionsViewHandlerImpl) {
+ ((GrantPermissionsViewHandlerImpl) mViewHandler).onConfigurationChanged();
+ }
}
}