diff options
Diffstat (limited to 'src/com/android/contacts/common/util/AccountSelectionUtil.java')
-rw-r--r-- | src/com/android/contacts/common/util/AccountSelectionUtil.java | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/src/com/android/contacts/common/util/AccountSelectionUtil.java b/src/com/android/contacts/common/util/AccountSelectionUtil.java index ff8397ae..79eb44a8 100644 --- a/src/com/android/contacts/common/util/AccountSelectionUtil.java +++ b/src/com/android/contacts/common/util/AccountSelectionUtil.java @@ -22,6 +22,8 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; +import android.telephony.SubscriptionManager; +import android.telephony.TelephonyManager; import android.util.Log; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; @@ -31,11 +33,14 @@ import android.widget.ArrayAdapter; import android.widget.TextView; import com.android.contacts.common.R; +import com.android.contacts.common.SimContactsConstants; import com.android.contacts.common.model.AccountTypeManager; import com.android.contacts.common.model.account.AccountType; import com.android.contacts.common.model.account.AccountWithDataSet; import com.android.contacts.common.vcard.ImportVCardActivity; +import com.android.internal.telephony.PhoneConstants; +import java.util.ArrayList; import java.util.List; /** @@ -48,6 +53,8 @@ public class AccountSelectionUtil { public static boolean mVCardShare = false; public static Uri mPath; + // QRD enhancement: import subscription selected by user + private static int mImportSub = SubscriptionManager.INVALID_SUBSCRIPTION_ID; public static class AccountSelectedListener implements DialogInterface.OnClickListener { @@ -78,7 +85,7 @@ public class AccountSelectionUtil { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); - doImport(mContext, mResId, mAccountList.get(which), mSubscriptionId); + doImport(mContext, mResId, mAccountList.get(which)); } /** * Reset the account list for this listener, to make sure the selected @@ -91,6 +98,10 @@ public class AccountSelectionUtil { } } + public static void setImportSubscription(int subscription) { + mImportSub = subscription; + } + public static Dialog getSelectAccountDialog(Context context, int resId) { return getSelectAccountDialog(context, resId, null, null); } @@ -188,11 +199,11 @@ public class AccountSelectionUtil { .create(); } - public static void doImport(Context context, int resId, AccountWithDataSet account, - int subscriptionId) { + public static void doImport(Context context, int resId, + AccountWithDataSet account) { switch (resId) { - case R.string.manage_sim_contacts: { - doImportFromSim(context, account, subscriptionId); + case R.string.import_from_sim: { + doImportFromSim(context, account); break; } case R.string.import_from_vcf_file: { @@ -202,17 +213,18 @@ public class AccountSelectionUtil { } } - public static void doImportFromSim(Context context, AccountWithDataSet account, - int subscriptionId) { - Intent importIntent = new Intent(Intent.ACTION_VIEW); - importIntent.setType("vnd.android.cursor.item/sim-contact"); + public static void doImportFromSim(Context context, AccountWithDataSet account) { + Intent importIntent = new Intent(SimContactsConstants.ACTION_MULTI_PICK_SIM); if (account != null) { - importIntent.putExtra("account_name", account.name); - importIntent.putExtra("account_type", account.type); - importIntent.putExtra("data_set", account.dataSet); + importIntent.putExtra(SimContactsConstants.ACCOUNT_NAME, account.name); + importIntent.putExtra(SimContactsConstants.ACCOUNT_TYPE, account.type); + importIntent.putExtra(SimContactsConstants.ACCOUNT_DATA, account.dataSet); + } + if (TelephonyManager.getDefault().isMultiSimEnabled()) { + importIntent.putExtra(PhoneConstants.SLOT_KEY, mImportSub); + } else { + importIntent.putExtra(PhoneConstants.SLOT_KEY,PhoneConstants.SUB1); } - importIntent.putExtra("subscription_id", (Integer) subscriptionId); - importIntent.setClassName("com.android.phone", "com.android.phone.SimContacts"); context.startActivity(importIntent); } |