summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Craig Mautner <cmautner@google.com> 2013-06-10 19:21:27 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2013-06-10 19:21:27 +0000
commit6a7e5c28a400bb91b7ed81175ddcc227af404ccd (patch)
treed2d24807ad4c41a2d5c3ef500030cdbe610088b0
parent2983acc00861f7dc4c13564929e4d672fbdcf540 (diff)
parent92098c7c30bc76310a066b220e625fa9aa4b925d (diff)
Merge "Dismiss immediately to maintain consistent state."
-rw-r--r--core/java/android/app/Dialog.java5
-rw-r--r--core/java/android/view/WindowManagerGlobal.java8
2 files changed, 6 insertions, 7 deletions
diff --git a/core/java/android/app/Dialog.java b/core/java/android/app/Dialog.java
index 634fa30c1c40..cda2c5f3b7c5 100644
--- a/core/java/android/app/Dialog.java
+++ b/core/java/android/app/Dialog.java
@@ -306,6 +306,7 @@ public class Dialog implements DialogInterface, Window.Callback,
* method to do cleanup when the dialog is dismissed, instead implement
* that in {@link #onStop}.
*/
+ @Override
public void dismiss() {
if (Looper.myLooper() == mHandler.getLooper()) {
dismissDialog();
@@ -325,7 +326,7 @@ public class Dialog implements DialogInterface, Window.Callback,
}
try {
- mWindowManager.removeView(mDecor);
+ mWindowManager.removeViewImmediate(mDecor);
} finally {
if (mActionMode != null) {
mActionMode.finish();
@@ -334,7 +335,7 @@ public class Dialog implements DialogInterface, Window.Callback,
mWindow.closeAllPanels();
onStop();
mShowing = false;
-
+
sendDismissMessage();
}
}
diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java
index 6bcf863aa6e6..f7b85cc7436c 100644
--- a/core/java/android/view/WindowManagerGlobal.java
+++ b/core/java/android/view/WindowManagerGlobal.java
@@ -335,15 +335,13 @@ public final class WindowManagerGlobal {
}
}
root.die(immediate);
+ if (view != null) {
+ view.assignParent(null);
+ }
}
void doRemoveView(ViewRootImpl root) {
synchronized (mLock) {
- final View view = root.getView();
- if (view != null) {
- view.assignParent(null);
- }
-
final int index = mRoots.indexOf(root);
if (index >= 0) {
mRoots.remove(index);