summaryrefslogtreecommitdiffstats
path: root/src/com/android/contacts/common/util/AccountSelectionUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/contacts/common/util/AccountSelectionUtil.java')
-rw-r--r--src/com/android/contacts/common/util/AccountSelectionUtil.java40
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);
}