Merge "Fix bug 5528574 - "View not attached to window manager" upon orientation change when there is a dialog with ActionMode on" into ics-mr1

This commit is contained in:
Adam Powell
2011-11-01 17:27:26 -07:00
committed by Android (Google) Code Review

View File

@@ -110,6 +110,8 @@ public class Dialog implements DialogInterface, Window.Callback,
private Handler mListenersHandler;
private ActionMode mActionMode;
private final Runnable mDismissAction = new Runnable() {
public void run() {
dismissDialog();
@@ -310,6 +312,9 @@ public class Dialog implements DialogInterface, Window.Callback,
try {
mWindowManager.removeView(mDecor);
} finally {
if (mActionMode != null) {
mActionMode.finish();
}
mDecor = null;
mWindow.closeAllPanels();
onStop();
@@ -952,10 +957,26 @@ public class Dialog implements DialogInterface, Window.Callback,
return null;
}
/**
* {@inheritDoc}
*
* Note that if you override this method you should always call through
* to the superclass implementation by calling super.onActionModeStarted(mode).
*/
public void onActionModeStarted(ActionMode mode) {
mActionMode = mode;
}
/**
* {@inheritDoc}
*
* Note that if you override this method you should always call through
* to the superclass implementation by calling super.onActionModeFinished(mode).
*/
public void onActionModeFinished(ActionMode mode) {
if (mode == mActionMode) {
mActionMode = null;
}
}
/**