Merge "Fix crash issue when dismiss MMI dialog"
diff --git a/src/com/android/phone/MMIDialogActivity.java b/src/com/android/phone/MMIDialogActivity.java
index 24179b8..10ec6a3 100644
--- a/src/com/android/phone/MMIDialogActivity.java
+++ b/src/com/android/phone/MMIDialogActivity.java
@@ -69,6 +69,20 @@
         showMMIDialog();
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        if (mMMIDialog != null) {
+            mMMIDialog.dismiss();
+            mMMIDialog = null;
+        }
+        if (mHandler != null) {
+            mCM.unregisterForMmiComplete(mHandler);
+            mHandler = null;
+        }
+    }
+
     private void showMMIDialog() {
         final List<? extends MmiCode> codes = mPhone.getPendingMmiCodes();
         if (codes.size() > 0) {
@@ -127,9 +141,11 @@
     private void dismissDialogsAndFinish() {
         if (mMMIDialog != null) {
             mMMIDialog.dismiss();
+            mMMIDialog = null;
         }
         if (mHandler != null) {
             mCM.unregisterForMmiComplete(mHandler);
+            mHandler = null;
         }
         finish();
     }