Changing the add account activity to uniformly open the full screen UI
for choosing account type.

Bug:26296631
Change-Id: Ifedbc9c6cb93121ca60ddb7a42f0f872bdef812a
diff --git a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
index 664ed72..617ef0d 100644
--- a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
@@ -36,6 +36,7 @@
 import com.android.contacts.common.model.account.AccountWithDataSet;
 import com.android.contacts.common.util.AccountsListAdapter;
 import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
+import com.android.contacts.util.AccountPromptUtils;
 
 import java.util.List;
 
@@ -69,8 +70,8 @@
     private final OnClickListener mAddAccountClickListener = new OnClickListener() {
         @Override
         public void onClick(View v) {
-            startActivityForResult(mEditorUtils.createAddWritableAccountIntent(),
-                    SUBACTIVITY_ADD_NEW_ACCOUNT);
+            final Intent intent = AccountPromptUtils.getIntentForAddingAccount();
+            startActivityForResult(intent, SUBACTIVITY_ADD_NEW_ACCOUNT);
         }
     };
 
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 9c2c0a8..d887ef9 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -61,40 +61,40 @@
 import com.android.contacts.common.dialog.ClearFrequentsDialog;
 import com.android.contacts.common.util.ImplicitIntentsUtil;
 import com.android.contacts.common.widget.FloatingActionButtonController;
-import com.android.contacts.editor.EditorIntents;
-import com.android.contacts.interactions.ContactDeletionInteraction;
 import com.android.contacts.common.interactions.ImportExportDialogFragment;
 import com.android.contacts.common.list.ContactEntryListFragment;
 import com.android.contacts.common.list.ContactListFilter;
 import com.android.contacts.common.list.ContactListFilterController;
 import com.android.contacts.common.list.ContactTileAdapter.DisplayType;
-import com.android.contacts.interactions.ContactMultiDeletionInteraction;
-import com.android.contacts.interactions.ContactMultiDeletionInteraction.MultiContactDeleteListener;
-import com.android.contacts.interactions.JoinContactsDialogFragment;
-import com.android.contacts.interactions.JoinContactsDialogFragment.JoinContactsListener;
-import com.android.contacts.list.MultiSelectContactsListFragment;
-import com.android.contacts.list.MultiSelectContactsListFragment.OnCheckBoxListActionListener;
-import com.android.contacts.list.ContactTileListFragment;
-import com.android.contacts.list.ContactsIntentResolver;
-import com.android.contacts.list.ContactsRequest;
-import com.android.contacts.list.ContactsUnavailableFragment;
 import com.android.contacts.common.list.DirectoryListLoader;
-import com.android.contacts.common.preference.DisplayOptionsPreferenceFragment;
-import com.android.contacts.list.OnContactBrowserActionListener;
-import com.android.contacts.list.OnContactsUnavailableActionListener;
-import com.android.contacts.list.ProviderStatusWatcher;
-import com.android.contacts.list.ProviderStatusWatcher.ProviderStatusListener;
 import com.android.contacts.common.list.ViewPagerTabs;
 import com.android.contacts.common.logging.Logger;
 import com.android.contacts.common.logging.ScreenEvent;
 import com.android.contacts.common.preference.ContactsPreferenceActivity;
+import com.android.contacts.common.preference.DisplayOptionsPreferenceFragment;
 import com.android.contacts.common.util.AccountFilterUtil;
+import com.android.contacts.common.util.Constants;
 import com.android.contacts.common.util.ViewUtil;
+import com.android.contacts.editor.EditorIntents;
+import com.android.contacts.interactions.ContactDeletionInteraction;
+import com.android.contacts.interactions.ContactMultiDeletionInteraction;
+import com.android.contacts.interactions.ContactMultiDeletionInteraction.MultiContactDeleteListener;
+import com.android.contacts.interactions.JoinContactsDialogFragment;
+import com.android.contacts.interactions.JoinContactsDialogFragment.JoinContactsListener;
+import com.android.contacts.list.ContactTileListFragment;
+import com.android.contacts.list.ContactsIntentResolver;
+import com.android.contacts.list.ContactsRequest;
+import com.android.contacts.list.ContactsUnavailableFragment;
+import com.android.contacts.list.MultiSelectContactsListFragment;
+import com.android.contacts.list.MultiSelectContactsListFragment.OnCheckBoxListActionListener;
+import com.android.contacts.list.OnContactBrowserActionListener;
+import com.android.contacts.list.OnContactsUnavailableActionListener;
+import com.android.contacts.list.ProviderStatusWatcher;
+import com.android.contacts.list.ProviderStatusWatcher.ProviderStatusListener;
 import com.android.contacts.quickcontact.QuickContactActivity;
 import com.android.contacts.util.AccountPromptUtils;
-import com.android.contacts.common.util.Constants;
-import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.contacts.util.DialogManager;
+import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.contactsbind.HelpUtils;
 
 import java.util.List;
@@ -1024,10 +1024,7 @@
 
         @Override
         public void onAddAccountAction() {
-            Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT);
-            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
-            intent.putExtra(Settings.EXTRA_AUTHORITIES,
-                    new String[]{ContactsContract.AUTHORITY});
+            final Intent intent = AccountPromptUtils.getIntentForAddingAccount();
             ImplicitIntentsUtil.startActivityOutsideApp(PeopleActivity.this, intent);
         }
 
diff --git a/src/com/android/contacts/util/AccountPromptUtils.java b/src/com/android/contacts/util/AccountPromptUtils.java
index 172d274..4fc95a5 100644
--- a/src/com/android/contacts/util/AccountPromptUtils.java
+++ b/src/com/android/contacts/util/AccountPromptUtils.java
@@ -24,9 +24,12 @@
 import android.accounts.OperationCanceledException;
 import android.app.Activity;
 import android.content.Context;
+import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
+import android.provider.ContactsContract;
+import android.provider.Settings;
 import android.util.Log;
 
 import com.android.contacts.R;
@@ -100,6 +103,18 @@
                 activity, getAccountManagerCallback(activity), null);
     }
 
+    /**
+     * When adding account
+     * open the same UI screen for user to choose account
+     */
+    public static Intent getIntentForAddingAccount() {
+         final Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT);
+         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+         intent.putExtra(Settings.EXTRA_AUTHORITIES,
+                 new String[]{ContactsContract.AUTHORITY});
+         return intent;
+    }
+
     private static AccountManagerCallback<Bundle> getAccountManagerCallback(
             final Activity activity) {
         return new AccountManagerCallback<Bundle>() {