diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2016-08-23 11:14:06 -0700 |
---|---|---|
committer | Svetoslav Ganov <svetoslavganov@google.com> | 2016-08-23 18:49:27 +0000 |
commit | 4b1e2d8d07db3a40ec494cb6191cdbd80a0dd740 (patch) | |
tree | 54c426c85a87f36fe11e91a3a4a51a610ce5a491 | |
parent | 8c4f0ff91d15eeb583451e5f87a7db59e811ff29 (diff) | |
download | android_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.java | 10 |
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(); + } } } |