am 969b5842: am 49ad08e2: am 1ecfc645: Merge "Fix crash while rotating with app info dialog up" into mnc-dev

* commit '969b58420fbe5620a367e134f9cc1b15aa773365':
  Fix crash while rotating with app info dialog up
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index ef90fd9..012c574 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -35,7 +35,6 @@
 import android.os.UserManager;
 import android.util.Log;
 
-import com.android.settings.InstrumentedPreferenceFragment;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
@@ -154,7 +153,7 @@
     }
 
     protected void showDialogInner(int id, int moveErrorCode) {
-        DialogFragment newFragment = new MyAlertDialogFragment(id, moveErrorCode);
+        DialogFragment newFragment = MyAlertDialogFragment.newInstance(id, moveErrorCode);
         newFragment.setTargetFragment(this, 0);
         newFragment.show(getFragmentManager(), "dialog " + id);
     }
@@ -214,23 +213,26 @@
                 new UserHandle(UserHandle.getUserId(uid)));
     }
 
-    public class MyAlertDialogFragment extends DialogFragment {
-        public MyAlertDialogFragment(int id, int errorCode) {
-            Bundle args = new Bundle();
-            args.putInt("id", id);
-            args.putInt("moveError", errorCode);
-            setArguments(args);
-        }
+    public static class MyAlertDialogFragment extends DialogFragment {
 
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
             int id = getArguments().getInt("id");
             int errorCode = getArguments().getInt("moveError");
-            Dialog dialog = createDialog(id, errorCode);
+            Dialog dialog = ((AppInfoBase) getTargetFragment()).createDialog(id, errorCode);
             if (dialog == null) {
                 throw new IllegalArgumentException("unknown id " + id);
             }
             return dialog;
         }
+
+        public static MyAlertDialogFragment newInstance(int id, int errorCode) {
+            MyAlertDialogFragment dialogFragment = new MyAlertDialogFragment();
+            Bundle args = new Bundle();
+            args.putInt("id", id);
+            args.putInt("moveError", errorCode);
+            dialogFragment.setArguments(args);
+            return dialogFragment;
+        }
     }
 }