From 42b46deb38c2f5fe5f423d5c8de401cf92fae27f Mon Sep 17 00:00:00 2001 From: blong Date: Wed, 29 Oct 2014 15:48:27 +0800 Subject: Add the new res for SIM and Phone account - Use the new res for Phone and SIM account display Change-Id: I90c6746059f46a0c8eaecb01416b31c1ba4af789 --- res/drawable-hdpi/ic_menu_settings_holo_light.png | Bin 1219 -> 1374 bytes res/drawable-hdpi/phone_account.png | Bin 0 -> 1150 bytes res/drawable-hdpi/sim1_account.png | Bin 0 -> 1236 bytes res/drawable-hdpi/sim2_account.png | Bin 0 -> 1414 bytes res/drawable-hdpi/simcard_account.png | Bin 0 -> 1207 bytes res/drawable-mdpi/ic_menu_settings_holo_light.png | Bin 850 -> 1233 bytes res/drawable-mdpi/phone_account.png | Bin 0 -> 1098 bytes res/drawable-mdpi/sim1_account.png | Bin 0 -> 1159 bytes res/drawable-mdpi/sim2_account.png | Bin 0 -> 1289 bytes res/drawable-mdpi/simcard_account.png | Bin 0 -> 1369 bytes res/drawable-xhdpi/ic_menu_settings_holo_light.png | Bin 1638 -> 1503 bytes res/drawable-xhdpi/phone_account.png | Bin 0 -> 1187 bytes res/drawable-xhdpi/sim1_account.png | Bin 0 -> 1352 bytes res/drawable-xhdpi/sim2_account.png | Bin 0 -> 1539 bytes res/drawable-xhdpi/simcard_account.png | Bin 0 -> 1281 bytes .../ic_menu_settings_holo_light.png | Bin 2506 -> 1727 bytes res/drawable-xxhdpi/phone_account.png | Bin 0 -> 1317 bytes res/drawable-xxhdpi/sim1_account.png | Bin 0 -> 1519 bytes res/drawable-xxhdpi/sim2_account.png | Bin 0 -> 1826 bytes res/drawable-xxhdpi/simcard_account.png | Bin 0 -> 1431 bytes .../ic_menu_settings_holo_light.png | Bin 0 -> 2064 bytes res/drawable-xxxhdpi/phone_account.png | Bin 0 -> 1406 bytes res/drawable-xxxhdpi/sim1_account.png | Bin 0 -> 1601 bytes res/drawable-xxxhdpi/sim2_account.png | Bin 0 -> 2040 bytes res/drawable-xxxhdpi/simcard_account.png | Bin 0 -> 1517 bytes .../common/list/AccountFilterActivity.java | 3 +- .../common/list/ContactListFilterView.java | 12 +++++- .../list/CustomContactListFilterActivity.java | 19 ++++++--- .../contacts/common/model/account/AccountType.java | 44 +++++++++++++++++++++ .../contacts/common/util/AccountsListAdapter.java | 10 ++++- 30 files changed, 78 insertions(+), 10 deletions(-) mode change 100644 => 100755 res/drawable-hdpi/ic_menu_settings_holo_light.png create mode 100755 res/drawable-hdpi/phone_account.png create mode 100755 res/drawable-hdpi/sim1_account.png create mode 100755 res/drawable-hdpi/sim2_account.png create mode 100755 res/drawable-hdpi/simcard_account.png mode change 100644 => 100755 res/drawable-mdpi/ic_menu_settings_holo_light.png create mode 100755 res/drawable-mdpi/phone_account.png create mode 100755 res/drawable-mdpi/sim1_account.png create mode 100755 res/drawable-mdpi/sim2_account.png create mode 100755 res/drawable-mdpi/simcard_account.png mode change 100644 => 100755 res/drawable-xhdpi/ic_menu_settings_holo_light.png create mode 100755 res/drawable-xhdpi/phone_account.png create mode 100755 res/drawable-xhdpi/sim1_account.png create mode 100755 res/drawable-xhdpi/sim2_account.png create mode 100755 res/drawable-xhdpi/simcard_account.png mode change 100644 => 100755 res/drawable-xxhdpi/ic_menu_settings_holo_light.png create mode 100755 res/drawable-xxhdpi/phone_account.png create mode 100755 res/drawable-xxhdpi/sim1_account.png create mode 100755 res/drawable-xxhdpi/sim2_account.png create mode 100755 res/drawable-xxhdpi/simcard_account.png create mode 100755 res/drawable-xxxhdpi/ic_menu_settings_holo_light.png create mode 100755 res/drawable-xxxhdpi/phone_account.png create mode 100755 res/drawable-xxxhdpi/sim1_account.png create mode 100755 res/drawable-xxxhdpi/sim2_account.png create mode 100755 res/drawable-xxxhdpi/simcard_account.png mode change 100644 => 100755 src/com/android/contacts/common/list/AccountFilterActivity.java mode change 100644 => 100755 src/com/android/contacts/common/list/ContactListFilterView.java mode change 100644 => 100755 src/com/android/contacts/common/list/CustomContactListFilterActivity.java mode change 100644 => 100755 src/com/android/contacts/common/model/account/AccountType.java diff --git a/res/drawable-hdpi/ic_menu_settings_holo_light.png b/res/drawable-hdpi/ic_menu_settings_holo_light.png old mode 100644 new mode 100755 index b7bb5c41..ca012b85 Binary files a/res/drawable-hdpi/ic_menu_settings_holo_light.png and b/res/drawable-hdpi/ic_menu_settings_holo_light.png differ diff --git a/res/drawable-hdpi/phone_account.png b/res/drawable-hdpi/phone_account.png new file mode 100755 index 00000000..f2324885 Binary files /dev/null and b/res/drawable-hdpi/phone_account.png differ diff --git a/res/drawable-hdpi/sim1_account.png b/res/drawable-hdpi/sim1_account.png new file mode 100755 index 00000000..2d9a51c0 Binary files /dev/null and b/res/drawable-hdpi/sim1_account.png differ diff --git a/res/drawable-hdpi/sim2_account.png b/res/drawable-hdpi/sim2_account.png new file mode 100755 index 00000000..c512d524 Binary files /dev/null and b/res/drawable-hdpi/sim2_account.png differ diff --git a/res/drawable-hdpi/simcard_account.png b/res/drawable-hdpi/simcard_account.png new file mode 100755 index 00000000..0ee3dac2 Binary files /dev/null and b/res/drawable-hdpi/simcard_account.png differ diff --git a/res/drawable-mdpi/ic_menu_settings_holo_light.png b/res/drawable-mdpi/ic_menu_settings_holo_light.png old mode 100644 new mode 100755 index 1ebc112e..45a5ff0f Binary files a/res/drawable-mdpi/ic_menu_settings_holo_light.png and b/res/drawable-mdpi/ic_menu_settings_holo_light.png differ diff --git a/res/drawable-mdpi/phone_account.png b/res/drawable-mdpi/phone_account.png new file mode 100755 index 00000000..1fa24f6c Binary files /dev/null and b/res/drawable-mdpi/phone_account.png differ diff --git a/res/drawable-mdpi/sim1_account.png b/res/drawable-mdpi/sim1_account.png new file mode 100755 index 00000000..cd80def2 Binary files /dev/null and b/res/drawable-mdpi/sim1_account.png differ diff --git a/res/drawable-mdpi/sim2_account.png b/res/drawable-mdpi/sim2_account.png new file mode 100755 index 00000000..fd52224a Binary files /dev/null and b/res/drawable-mdpi/sim2_account.png differ diff --git a/res/drawable-mdpi/simcard_account.png b/res/drawable-mdpi/simcard_account.png new file mode 100755 index 00000000..e5a76881 Binary files /dev/null and b/res/drawable-mdpi/simcard_account.png differ diff --git a/res/drawable-xhdpi/ic_menu_settings_holo_light.png b/res/drawable-xhdpi/ic_menu_settings_holo_light.png old mode 100644 new mode 100755 index 68ba92bd..91d0444d Binary files a/res/drawable-xhdpi/ic_menu_settings_holo_light.png and b/res/drawable-xhdpi/ic_menu_settings_holo_light.png differ diff --git a/res/drawable-xhdpi/phone_account.png b/res/drawable-xhdpi/phone_account.png new file mode 100755 index 00000000..a61f2034 Binary files /dev/null and b/res/drawable-xhdpi/phone_account.png differ diff --git a/res/drawable-xhdpi/sim1_account.png b/res/drawable-xhdpi/sim1_account.png new file mode 100755 index 00000000..c0ae46f2 Binary files /dev/null and b/res/drawable-xhdpi/sim1_account.png differ diff --git a/res/drawable-xhdpi/sim2_account.png b/res/drawable-xhdpi/sim2_account.png new file mode 100755 index 00000000..68fb25ce Binary files /dev/null and b/res/drawable-xhdpi/sim2_account.png differ diff --git a/res/drawable-xhdpi/simcard_account.png b/res/drawable-xhdpi/simcard_account.png new file mode 100755 index 00000000..92b382ee Binary files /dev/null and b/res/drawable-xhdpi/simcard_account.png differ diff --git a/res/drawable-xxhdpi/ic_menu_settings_holo_light.png b/res/drawable-xxhdpi/ic_menu_settings_holo_light.png old mode 100644 new mode 100755 index 5b672a3d..c87e0463 Binary files a/res/drawable-xxhdpi/ic_menu_settings_holo_light.png and b/res/drawable-xxhdpi/ic_menu_settings_holo_light.png differ diff --git a/res/drawable-xxhdpi/phone_account.png b/res/drawable-xxhdpi/phone_account.png new file mode 100755 index 00000000..04b06fda Binary files /dev/null and b/res/drawable-xxhdpi/phone_account.png differ diff --git a/res/drawable-xxhdpi/sim1_account.png b/res/drawable-xxhdpi/sim1_account.png new file mode 100755 index 00000000..9293bdbe Binary files /dev/null and b/res/drawable-xxhdpi/sim1_account.png differ diff --git a/res/drawable-xxhdpi/sim2_account.png b/res/drawable-xxhdpi/sim2_account.png new file mode 100755 index 00000000..4788f1cd Binary files /dev/null and b/res/drawable-xxhdpi/sim2_account.png differ diff --git a/res/drawable-xxhdpi/simcard_account.png b/res/drawable-xxhdpi/simcard_account.png new file mode 100755 index 00000000..e98fd1d9 Binary files /dev/null and b/res/drawable-xxhdpi/simcard_account.png differ diff --git a/res/drawable-xxxhdpi/ic_menu_settings_holo_light.png b/res/drawable-xxxhdpi/ic_menu_settings_holo_light.png new file mode 100755 index 00000000..dfdd5798 Binary files /dev/null and b/res/drawable-xxxhdpi/ic_menu_settings_holo_light.png differ diff --git a/res/drawable-xxxhdpi/phone_account.png b/res/drawable-xxxhdpi/phone_account.png new file mode 100755 index 00000000..3d726f60 Binary files /dev/null and b/res/drawable-xxxhdpi/phone_account.png differ diff --git a/res/drawable-xxxhdpi/sim1_account.png b/res/drawable-xxxhdpi/sim1_account.png new file mode 100755 index 00000000..389569ac Binary files /dev/null and b/res/drawable-xxxhdpi/sim1_account.png differ diff --git a/res/drawable-xxxhdpi/sim2_account.png b/res/drawable-xxxhdpi/sim2_account.png new file mode 100755 index 00000000..ce5d8ddb Binary files /dev/null and b/res/drawable-xxxhdpi/sim2_account.png differ diff --git a/res/drawable-xxxhdpi/simcard_account.png b/res/drawable-xxxhdpi/simcard_account.png new file mode 100755 index 00000000..5f18f34b Binary files /dev/null and b/res/drawable-xxxhdpi/simcard_account.png differ diff --git a/src/com/android/contacts/common/list/AccountFilterActivity.java b/src/com/android/contacts/common/list/AccountFilterActivity.java old mode 100644 new mode 100755 index 58450c65..9dba5362 --- a/src/com/android/contacts/common/list/AccountFilterActivity.java +++ b/src/com/android/contacts/common/list/AccountFilterActivity.java @@ -120,7 +120,8 @@ public class AccountFilterActivity extends Activity implements AdapterView.OnIte // Hide extensions with no raw_contacts. continue; } - Drawable icon = accountType != null ? accountType.getDisplayIcon(context) : null; + Drawable icon = accountType != null ? accountType.getDisplayIcon( + context, account.name) : null; accountFilters.add(ContactListFilter.createAccountFilter( account.type, account.name, account.dataSet, icon)); } diff --git a/src/com/android/contacts/common/list/ContactListFilterView.java b/src/com/android/contacts/common/list/ContactListFilterView.java old mode 100644 new mode 100755 index 4cea7558..075f1fb6 --- a/src/com/android/contacts/common/list/ContactListFilterView.java +++ b/src/com/android/contacts/common/list/ContactListFilterView.java @@ -28,6 +28,8 @@ import android.widget.TextView; import com.android.contacts.common.R; import com.android.contacts.common.model.AccountTypeManager; import com.android.contacts.common.model.account.AccountType; +import com.android.contacts.common.model.account.PhoneAccountType; +import com.android.contacts.common.model.account.SimAccountType; /** * Contact list filter parameters. @@ -113,7 +115,13 @@ public class ContactListFilterView extends LinearLayout { break; } case ContactListFilter.FILTER_TYPE_ACCOUNT: { - mAccountUserName.setVisibility(View.VISIBLE); + if (SimAccountType.ACCOUNT_TYPE.equals(mFilter.accountType) + || PhoneAccountType.ACCOUNT_TYPE + .equals(mFilter.accountType)) { + mAccountUserName.setVisibility(View.GONE); + } else { + mAccountUserName.setVisibility(View.VISIBLE); + } mIcon.setVisibility(View.VISIBLE); if (mFilter.icon != null) { mIcon.setImageDrawable(mFilter.icon); @@ -123,7 +131,7 @@ public class ContactListFilterView extends LinearLayout { final AccountType accountType = accountTypes.getAccountType(mFilter.accountType, mFilter.dataSet); mAccountUserName.setText(mFilter.accountName); - mAccountType.setText(accountType.getDisplayLabel(getContext())); + mAccountType.setText(accountType.getDisplayLabel(getContext(),mFilter.accountName)); break; } } diff --git a/src/com/android/contacts/common/list/CustomContactListFilterActivity.java b/src/com/android/contacts/common/list/CustomContactListFilterActivity.java old mode 100644 new mode 100755 index 6a72c3f4..b0bf9c3d --- a/src/com/android/contacts/common/list/CustomContactListFilterActivity.java +++ b/src/com/android/contacts/common/list/CustomContactListFilterActivity.java @@ -55,11 +55,14 @@ import android.widget.ExpandableListView.ExpandableListContextMenuInfo; import android.widget.TextView; import com.android.contacts.common.R; +import com.android.contacts.common.MoreContactUtils; import com.android.contacts.common.model.AccountTypeManager; import com.android.contacts.common.model.ValuesDelta; import com.android.contacts.common.model.account.AccountType; import com.android.contacts.common.model.account.AccountWithDataSet; import com.android.contacts.common.model.account.GoogleAccountType; +import com.android.contacts.common.model.account.PhoneAccountType; +import com.android.contacts.common.model.account.SimAccountType; import com.android.contacts.common.util.EmptyService; import com.android.contacts.common.util.LocalizedNameResolver; import com.android.contacts.common.util.WeakAsyncTask; @@ -587,11 +590,17 @@ public class CustomContactListFilterActivity extends Activity final AccountType accountType = mAccountTypes.getAccountType( account.mType, account.mDataSet); - - text1.setText(account.mName); - text1.setVisibility(account.mName == null ? View.GONE : View.VISIBLE); - text2.setText(accountType.getDisplayLabel(mContext)); - + if (SimAccountType.ACCOUNT_TYPE.equals(account.mType) + || PhoneAccountType.ACCOUNT_TYPE.equals(account.mType)) { + text1.setVisibility(View.VISIBLE); + text1.setText(accountType.getDisplayLabel(mContext, account.mName)); + text2.setVisibility(View.GONE); + } else { + text1.setText(account.mName); + text1.setVisibility(account.mName == null ? View.GONE : View.VISIBLE); + text2.setText(accountType.getDisplayLabel(mContext, account.mName)); + text2.setVisibility(View.VISIBLE); + } return convertView; } diff --git a/src/com/android/contacts/common/model/account/AccountType.java b/src/com/android/contacts/common/model/account/AccountType.java old mode 100644 new mode 100755 index 560d33d0..f7b9772c --- a/src/com/android/contacts/common/model/account/AccountType.java +++ b/src/com/android/contacts/common/model/account/AccountType.java @@ -27,6 +27,7 @@ import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.CommonDataKinds.StructuredPostal; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.RawContacts; +import android.telephony.TelephonyManager; import android.util.Log; import android.view.inputmethod.EditorInfo; import android.widget.EditText; @@ -34,6 +35,7 @@ import android.widget.EditText; import com.android.contacts.common.MoreContactUtils; import com.android.contacts.common.R; import com.android.contacts.common.model.dataitem.DataKind; +import com.android.internal.telephony.PhoneConstants; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -304,9 +306,27 @@ public abstract class AccountType { return label; } + public CharSequence getDisplayLabel(Context context, String accountName) { + if ((SimAccountType.ACCOUNT_TYPE).equals(accountType)) { + final int slot = MoreContactUtils.getSubscription(accountType, + accountName); + return MoreContactUtils.getMultiSimAliasesName(context, slot); + } + return getDisplayLabel(context); + } + + /** + * Gets an icon associated with a particular account type. If none found, return null. + * + * @param accountType the type of account + * @return a drawable for the icon or null if one cannot be found. + */ public Drawable getDisplayIcon(Context context) { Drawable icon = null; updateAuthDescriptions(context); + if (PhoneAccountType.ACCOUNT_TYPE.equals(accountType)) { + return context.getResources().getDrawable(R.drawable.phone_account); + } if (mTypeToAuthDescription.containsKey(accountType)) { try { AuthenticatorDescription desc = mTypeToAuthDescription @@ -324,6 +344,30 @@ public abstract class AccountType { return icon; } + public Drawable getDisplayIcon(Context context, String accountName) { + if ((SimAccountType.ACCOUNT_TYPE).equals(accountType)) { + final int slot = MoreContactUtils.getSubscription(accountType, + accountName); + if (TelephonyManager.getDefault().isMultiSimEnabled()) { + switch (slot) { + case PhoneConstants.SUB1: + return context.getResources().getDrawable( + R.drawable.sim1_account); + case PhoneConstants.SUB2: + return context.getResources().getDrawable( + R.drawable.sim2_account); + default: + return context.getResources().getDrawable( + R.drawable.simcard_account); + } + } else { + return context.getResources().getDrawable( + R.drawable.simcard_account); + } + } + return getDisplayIcon(context); + } + /** * Whether or not groups created under this account type have editable membership lists. */ diff --git a/src/com/android/contacts/common/util/AccountsListAdapter.java b/src/com/android/contacts/common/util/AccountsListAdapter.java index af526cc9..0b2e24af 100755 --- a/src/com/android/contacts/common/util/AccountsListAdapter.java +++ b/src/com/android/contacts/common/util/AccountsListAdapter.java @@ -108,14 +108,20 @@ public final class AccountsListAdapter extends BaseAdapter { final AccountWithDataSet account = mAccounts.get(position); final AccountType accountType = mAccountTypes.getAccountType(account.type, account.dataSet); - text1.setText(accountType.getDisplayLabel(mContext)); + text1.setText(accountType.getDisplayLabel(mContext, account.name)); // For email addresses, we don't want to truncate at end, which might cut off the domain // name. + if (SimAccountType.ACCOUNT_TYPE.equals(account.type) + || PhoneAccountType.ACCOUNT_TYPE.equals(account.type)) { + text2.setVisibility(View.GONE); + } else { + text2.setVisibility(View.VISIBLE); + } text2.setText(account.name); text2.setEllipsize(TruncateAt.MIDDLE); - icon.setImageDrawable(accountType.getDisplayIcon(mContext)); + icon.setImageDrawable(accountType.getDisplayIcon(mContext, account.name)); return resultView; } -- cgit v1.2.3