Use fragment arguments in picker dialog

Test:
Rotate device while picker is up and tap on a raw contact.

Bug: 32219954
Change-Id: I6223d0ba108c784d1c9edb171f13428498e2acfe
diff --git a/src/com/android/contacts/editor/PickRawContactDialogFragment.java b/src/com/android/contacts/editor/PickRawContactDialogFragment.java
index 0f87d99..623d038 100644
--- a/src/com/android/contacts/editor/PickRawContactDialogFragment.java
+++ b/src/com/android/contacts/editor/PickRawContactDialogFragment.java
@@ -36,6 +36,10 @@
  * for the chosen raw contact.
  */
 public class PickRawContactDialogFragment extends DialogFragment {
+    private static final String ARGS_URI = "uri";
+    private static final String ARGS_MATERIAL_PALETTE = "materialPalette";
+    private static final String ARGS_IS_USER_PROFILE = "isUserProfile";
+
     /**
      * Used to list the account info for the given raw contacts list.
      */
@@ -147,10 +151,12 @@
     public static PickRawContactDialogFragment getInstance(Uri uri, Cursor cursor,
             MaterialPalette materialPalette, boolean isUserProfile) {
         final PickRawContactDialogFragment fragment = new PickRawContactDialogFragment();
-        fragment.setUri(uri);
+        final Bundle args = new Bundle();
+        args.putParcelable(ARGS_URI, uri);
+        args.putParcelable(ARGS_MATERIAL_PALETTE, materialPalette);
+        args.putBoolean(ARGS_IS_USER_PROFILE, isUserProfile);
+        fragment.setArguments(args);
         fragment.setCursor(cursor);
-        fragment.setMaterialPalette(materialPalette);
-        fragment.setIsUserProfile(isUserProfile);
         return fragment;
     }
 
@@ -180,8 +186,16 @@
         finishActivity();
     }
 
-    private void setUri(Uri uri) {
-        mUri = uri;
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        final Bundle args = getArguments();
+        if (args != null) {
+            mUri = args.getParcelable(ARGS_URI);
+            mMaterialPalette = args.getParcelable(ARGS_MATERIAL_PALETTE);
+            mIsUserProfile = args.getBoolean(ARGS_IS_USER_PROFILE);
+        }
     }
 
     public void setCursor(Cursor cursor) {
@@ -191,14 +205,6 @@
         mCursor = cursor;
     }
 
-    private void setMaterialPalette(MaterialPalette materialPalette) {
-        mMaterialPalette = materialPalette;
-    }
-
-    private void setIsUserProfile(boolean isUserProfile) {
-        mIsUserProfile = isUserProfile;
-    }
-
     private void finishActivity() {
         if (getActivity() != null && !getActivity().isFinishing()) {
             getActivity().finish();