diff options
| -rw-r--r-- | core/java/android/app/Activity.java | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index 2c4babb37a79..78a77eb09997 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -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 * 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. * * @see #onCreateDialog(int, Bundle) @@ -2617,17 +2621,13 @@ public class Activity extends ContextThemeWrapper * @see #dismissDialog(int) */ public final void removeDialog(int id) { - if (mManagedDialogs == null) { - return; - } - - final ManagedDialog md = mManagedDialogs.get(id); - if (md == null) { - return; + if (mManagedDialogs != null) { + final ManagedDialog md = mManagedDialogs.get(id); + if (md != null) { + md.mDialog.dismiss(); + mManagedDialogs.remove(id); + } } - - md.mDialog.dismiss(); - mManagedDialogs.remove(id); } /** |