Merge "Make Activity.removeDialog() less strict." into gingerbread

This commit is contained in:
Dianne Hackborn
2010-10-06 17:26:16 -07:00
committed by Android (Google) Code Review

View File

@@ -2609,6 +2609,10 @@ public class Activity extends ContextThemeWrapper
* <p>This can be useful if you know that you will never show a dialog again and * <p>This can be useful if you know that you will never show a dialog again and
* want to avoid the overhead of saving and restoring it in the future. * want to avoid the overhead of saving and restoring it in the future.
* *
* <p>As of {@link android.os.Build.VERSION_CODES#GINGERBREAD}, this function
* will not throw an exception if you try to remove an ID that does not
* currently have an associated dialog.</p>
*
* @param id The id of the managed dialog. * @param id The id of the managed dialog.
* *
* @see #onCreateDialog(int, Bundle) * @see #onCreateDialog(int, Bundle)
@@ -2617,17 +2621,13 @@ public class Activity extends ContextThemeWrapper
* @see #dismissDialog(int) * @see #dismissDialog(int)
*/ */
public final void removeDialog(int id) { public final void removeDialog(int id) {
if (mManagedDialogs == null) { if (mManagedDialogs != null) {
return; final ManagedDialog md = mManagedDialogs.get(id);
if (md != null) {
md.mDialog.dismiss();
mManagedDialogs.remove(id);
}
} }
final ManagedDialog md = mManagedDialogs.get(id);
if (md == null) {
return;
}
md.mDialog.dismiss();
mManagedDialogs.remove(id);
} }
/** /**