summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorblong <blong@codeaurora.org>2014-10-29 15:48:27 +0800
committerXiaojing Zhang <zhangx@codeaurora.org>2014-11-04 20:34:51 -0800
commit42b46deb38c2f5fe5f423d5c8de401cf92fae27f (patch)
treec24c8a0250c4c739aee379e07e07eb6e906858a8
parent997bdc9cf352913542d43ef5cedf8eb125b98df1 (diff)
downloadandroid_packages_apps_ContactsCommon-42b46deb38c2f5fe5f423d5c8de401cf92fae27f.tar.gz
android_packages_apps_ContactsCommon-42b46deb38c2f5fe5f423d5c8de401cf92fae27f.tar.bz2
android_packages_apps_ContactsCommon-42b46deb38c2f5fe5f423d5c8de401cf92fae27f.zip
Add the new res for SIM and Phone account
- Use the new res for Phone and SIM account display Change-Id: I90c6746059f46a0c8eaecb01416b31c1ba4af789
-rwxr-xr-x[-rw-r--r--]res/drawable-hdpi/ic_menu_settings_holo_light.pngbin1219 -> 1374 bytes
-rwxr-xr-xres/drawable-hdpi/phone_account.pngbin0 -> 1150 bytes
-rwxr-xr-xres/drawable-hdpi/sim1_account.pngbin0 -> 1236 bytes
-rwxr-xr-xres/drawable-hdpi/sim2_account.pngbin0 -> 1414 bytes
-rwxr-xr-xres/drawable-hdpi/simcard_account.pngbin0 -> 1207 bytes
-rwxr-xr-x[-rw-r--r--]res/drawable-mdpi/ic_menu_settings_holo_light.pngbin850 -> 1233 bytes
-rwxr-xr-xres/drawable-mdpi/phone_account.pngbin0 -> 1098 bytes
-rwxr-xr-xres/drawable-mdpi/sim1_account.pngbin0 -> 1159 bytes
-rwxr-xr-xres/drawable-mdpi/sim2_account.pngbin0 -> 1289 bytes
-rwxr-xr-xres/drawable-mdpi/simcard_account.pngbin0 -> 1369 bytes
-rwxr-xr-x[-rw-r--r--]res/drawable-xhdpi/ic_menu_settings_holo_light.pngbin1638 -> 1503 bytes
-rwxr-xr-xres/drawable-xhdpi/phone_account.pngbin0 -> 1187 bytes
-rwxr-xr-xres/drawable-xhdpi/sim1_account.pngbin0 -> 1352 bytes
-rwxr-xr-xres/drawable-xhdpi/sim2_account.pngbin0 -> 1539 bytes
-rwxr-xr-xres/drawable-xhdpi/simcard_account.pngbin0 -> 1281 bytes
-rwxr-xr-x[-rw-r--r--]res/drawable-xxhdpi/ic_menu_settings_holo_light.pngbin2506 -> 1727 bytes
-rwxr-xr-xres/drawable-xxhdpi/phone_account.pngbin0 -> 1317 bytes
-rwxr-xr-xres/drawable-xxhdpi/sim1_account.pngbin0 -> 1519 bytes
-rwxr-xr-xres/drawable-xxhdpi/sim2_account.pngbin0 -> 1826 bytes
-rwxr-xr-xres/drawable-xxhdpi/simcard_account.pngbin0 -> 1431 bytes
-rwxr-xr-xres/drawable-xxxhdpi/ic_menu_settings_holo_light.pngbin0 -> 2064 bytes
-rwxr-xr-xres/drawable-xxxhdpi/phone_account.pngbin0 -> 1406 bytes
-rwxr-xr-xres/drawable-xxxhdpi/sim1_account.pngbin0 -> 1601 bytes
-rwxr-xr-xres/drawable-xxxhdpi/sim2_account.pngbin0 -> 2040 bytes
-rwxr-xr-xres/drawable-xxxhdpi/simcard_account.pngbin0 -> 1517 bytes
-rwxr-xr-x[-rw-r--r--]src/com/android/contacts/common/list/AccountFilterActivity.java3
-rwxr-xr-x[-rw-r--r--]src/com/android/contacts/common/list/ContactListFilterView.java12
-rwxr-xr-x[-rw-r--r--]src/com/android/contacts/common/list/CustomContactListFilterActivity.java19
-rwxr-xr-x[-rw-r--r--]src/com/android/contacts/common/model/account/AccountType.java44
-rwxr-xr-xsrc/com/android/contacts/common/util/AccountsListAdapter.java10
30 files changed, 78 insertions, 10 deletions
diff --git a/res/drawable-hdpi/ic_menu_settings_holo_light.png b/res/drawable-hdpi/ic_menu_settings_holo_light.png
index b7bb5c41..ca012b85 100644..100755
--- a/res/drawable-hdpi/ic_menu_settings_holo_light.png
+++ b/res/drawable-hdpi/ic_menu_settings_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/phone_account.png b/res/drawable-hdpi/phone_account.png
new file mode 100755
index 00000000..f2324885
--- /dev/null
+++ b/res/drawable-hdpi/phone_account.png
Binary files differ
diff --git a/res/drawable-hdpi/sim1_account.png b/res/drawable-hdpi/sim1_account.png
new file mode 100755
index 00000000..2d9a51c0
--- /dev/null
+++ b/res/drawable-hdpi/sim1_account.png
Binary files differ
diff --git a/res/drawable-hdpi/sim2_account.png b/res/drawable-hdpi/sim2_account.png
new file mode 100755
index 00000000..c512d524
--- /dev/null
+++ b/res/drawable-hdpi/sim2_account.png
Binary files differ
diff --git a/res/drawable-hdpi/simcard_account.png b/res/drawable-hdpi/simcard_account.png
new file mode 100755
index 00000000..0ee3dac2
--- /dev/null
+++ b/res/drawable-hdpi/simcard_account.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_settings_holo_light.png b/res/drawable-mdpi/ic_menu_settings_holo_light.png
index 1ebc112e..45a5ff0f 100644..100755
--- a/res/drawable-mdpi/ic_menu_settings_holo_light.png
+++ b/res/drawable-mdpi/ic_menu_settings_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/phone_account.png b/res/drawable-mdpi/phone_account.png
new file mode 100755
index 00000000..1fa24f6c
--- /dev/null
+++ b/res/drawable-mdpi/phone_account.png
Binary files differ
diff --git a/res/drawable-mdpi/sim1_account.png b/res/drawable-mdpi/sim1_account.png
new file mode 100755
index 00000000..cd80def2
--- /dev/null
+++ b/res/drawable-mdpi/sim1_account.png
Binary files differ
diff --git a/res/drawable-mdpi/sim2_account.png b/res/drawable-mdpi/sim2_account.png
new file mode 100755
index 00000000..fd52224a
--- /dev/null
+++ b/res/drawable-mdpi/sim2_account.png
Binary files differ
diff --git a/res/drawable-mdpi/simcard_account.png b/res/drawable-mdpi/simcard_account.png
new file mode 100755
index 00000000..e5a76881
--- /dev/null
+++ b/res/drawable-mdpi/simcard_account.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_settings_holo_light.png b/res/drawable-xhdpi/ic_menu_settings_holo_light.png
index 68ba92bd..91d0444d 100644..100755
--- a/res/drawable-xhdpi/ic_menu_settings_holo_light.png
+++ b/res/drawable-xhdpi/ic_menu_settings_holo_light.png
Binary files differ
diff --git a/res/drawable-xhdpi/phone_account.png b/res/drawable-xhdpi/phone_account.png
new file mode 100755
index 00000000..a61f2034
--- /dev/null
+++ b/res/drawable-xhdpi/phone_account.png
Binary files differ
diff --git a/res/drawable-xhdpi/sim1_account.png b/res/drawable-xhdpi/sim1_account.png
new file mode 100755
index 00000000..c0ae46f2
--- /dev/null
+++ b/res/drawable-xhdpi/sim1_account.png
Binary files differ
diff --git a/res/drawable-xhdpi/sim2_account.png b/res/drawable-xhdpi/sim2_account.png
new file mode 100755
index 00000000..68fb25ce
--- /dev/null
+++ b/res/drawable-xhdpi/sim2_account.png
Binary files differ
diff --git a/res/drawable-xhdpi/simcard_account.png b/res/drawable-xhdpi/simcard_account.png
new file mode 100755
index 00000000..92b382ee
--- /dev/null
+++ b/res/drawable-xhdpi/simcard_account.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_settings_holo_light.png b/res/drawable-xxhdpi/ic_menu_settings_holo_light.png
index 5b672a3d..c87e0463 100644..100755
--- a/res/drawable-xxhdpi/ic_menu_settings_holo_light.png
+++ b/res/drawable-xxhdpi/ic_menu_settings_holo_light.png
Binary files differ
diff --git a/res/drawable-xxhdpi/phone_account.png b/res/drawable-xxhdpi/phone_account.png
new file mode 100755
index 00000000..04b06fda
--- /dev/null
+++ b/res/drawable-xxhdpi/phone_account.png
Binary files differ
diff --git a/res/drawable-xxhdpi/sim1_account.png b/res/drawable-xxhdpi/sim1_account.png
new file mode 100755
index 00000000..9293bdbe
--- /dev/null
+++ b/res/drawable-xxhdpi/sim1_account.png
Binary files differ
diff --git a/res/drawable-xxhdpi/sim2_account.png b/res/drawable-xxhdpi/sim2_account.png
new file mode 100755
index 00000000..4788f1cd
--- /dev/null
+++ b/res/drawable-xxhdpi/sim2_account.png
Binary files differ
diff --git a/res/drawable-xxhdpi/simcard_account.png b/res/drawable-xxhdpi/simcard_account.png
new file mode 100755
index 00000000..e98fd1d9
--- /dev/null
+++ b/res/drawable-xxhdpi/simcard_account.png
Binary files 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
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_menu_settings_holo_light.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/phone_account.png b/res/drawable-xxxhdpi/phone_account.png
new file mode 100755
index 00000000..3d726f60
--- /dev/null
+++ b/res/drawable-xxxhdpi/phone_account.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/sim1_account.png b/res/drawable-xxxhdpi/sim1_account.png
new file mode 100755
index 00000000..389569ac
--- /dev/null
+++ b/res/drawable-xxxhdpi/sim1_account.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/sim2_account.png b/res/drawable-xxxhdpi/sim2_account.png
new file mode 100755
index 00000000..ce5d8ddb
--- /dev/null
+++ b/res/drawable-xxxhdpi/sim2_account.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/simcard_account.png b/res/drawable-xxxhdpi/simcard_account.png
new file mode 100755
index 00000000..5f18f34b
--- /dev/null
+++ b/res/drawable-xxxhdpi/simcard_account.png
Binary files differ
diff --git a/src/com/android/contacts/common/list/AccountFilterActivity.java b/src/com/android/contacts/common/list/AccountFilterActivity.java
index 58450c65..9dba5362 100644..100755
--- 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
index 4cea7558..075f1fb6 100644..100755
--- 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
index 6a72c3f4..b0bf9c3d 100644..100755
--- 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
index 560d33d0..f7b9772c 100644..100755
--- 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;
}