From 0381f6c67540b8696a8a32851034ea588d7ab9d7 Mon Sep 17 00:00:00 2001 From: Sanket Padawe Date: Wed, 12 Nov 2014 12:41:35 -0800 Subject: [PATCH] UI changes for icons in sim settings + UI changes relate to displaying sim icons in sim settings + Correcting way to display phone number inside sim settings dialog Bug: 18356419 Change-Id: I1fe025fac52f20b607d4492b99cfef9588ec9416 --- res/drawable-hdpi/ic_live_help.png | Bin 0 -> 411 bytes res/drawable-mdpi/ic_live_help.png | Bin 0 -> 306 bytes res/drawable-xhdpi/ic_live_help.png | Bin 0 -> 463 bytes res/drawable-xxhdpi/ic_live_help.png | Bin 0 -> 635 bytes res/drawable-xxxhdpi/ic_live_help.png | Bin 0 -> 814 bytes res/layout/select_account_list_item.xml | 36 ++++++-- src/com/android/settings/sim/SimSettings.java | 79 +++++++++++------- 7 files changed, 77 insertions(+), 38 deletions(-) create mode 100644 res/drawable-hdpi/ic_live_help.png create mode 100644 res/drawable-mdpi/ic_live_help.png create mode 100644 res/drawable-xhdpi/ic_live_help.png create mode 100644 res/drawable-xxhdpi/ic_live_help.png create mode 100644 res/drawable-xxxhdpi/ic_live_help.png diff --git a/res/drawable-hdpi/ic_live_help.png b/res/drawable-hdpi/ic_live_help.png new file mode 100644 index 0000000000000000000000000000000000000000..f3548f64bb5d574138a2ceb95fbf82c6f5c1f2f1 GIT binary patch literal 411 zcmV;M0c8G(P)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0RM-N%)bBt010qN zS#tmY3ljhU3ljkVnw%H_009$8L_t(Y$K}?sO2beT2H?*@tJ2j;k?!iEbP;v&IeY`5 zxH}X#!CLYxf{UYzgY+3nU!W*OyVN+ul-5ScO^PVypDyR*8*Xkmmw)jb=@^M~=1s>z z7PD!P8%Z;;F$*<O@s`r~yUtQ6Vo=_Jr1~Oq~HJm002ovPDHLk FV1m4|rDgyC literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_live_help.png b/res/drawable-mdpi/ic_live_help.png new file mode 100644 index 0000000000000000000000000000000000000000..e958662bd768dae0c95a597566827bf122a9e13d GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO=~G=WkLc z%G1R$#Nu>v!UA!Ql!}ud7A=KEv5<&iZ?9oxb|VTB7?>}&oyoKJcw literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/ic_live_help.png b/res/drawable-xhdpi/ic_live_help.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbbfedd79d8f878fd152d5334c048500d623678 GIT binary patch literal 463 zcmV;=0WkiFP)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0RM-N%)bBt010qN zS#tmY3ljhU3ljkVnw%H_00BoyL_t(o!|j(bZo*IuhJS{p3sTh+bSWt6hSaK4#Ua?c zAQZ$YvT>XM;a`DFj$5r2|e7<@uGD*b+nR(f|8DDbI0Ypo(h?A0w=h7R&?_ z_;&lauz8lT4KXThpCZMW2dqT^8y;XgHb;O4Ja}lLk1wm%8L&h5kFtgUdnv#UZ$@>S zMK}VwtiCS+nCI0eOtC%b^%`>*PJke{|2Fjcpgf>KwW+b!{qg{hYFlHk-^#Qp|1zlo zB0AC10j%+YsVJ0{1j`>c?IzA<*X_m8G`5`;5 zv+R+s^N+4D;L$iX1OYdsTWA5Y_|XDfniW6~;Hs+t?tn!5=XW9kh;$c_C7SjfXUu$O zFMBwV-JXlkXctN@hoP?hIYQk26ro~&M5x&x5UTdq7{8o4k#WBThSdN7002ovPDHLk FV1igKwz~iT literal 0 HcmV?d00001 diff --git a/res/drawable-xxhdpi/ic_live_help.png b/res/drawable-xxhdpi/ic_live_help.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a01fe29e1fa5e4994757e508777f8f48f2d8a5 GIT binary patch literal 635 zcmV->0)+jEP)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0RM-N%)bBt010qN zS#tmY3ljhU3ljkVnw%H_00Hw!L_t(&-tF1FP69y?2k?I|f>9qpP)sQGCA1*c7HW)@ zFF-(^fCht!m8F#-TJsKe9$t({L5zTQwnl>&qnw2y%<^@6>dtPlGwtr=m%Y2p?k!-$ zh7COtLl#$fg|8qzTqB2A7)}y3B@~)9EXuErdX5htw}{GtvMd}QKC*HkhYeJf1HG|< zI&z>eC7UQBjX0u+B7rmx(GE5LUqLNwAu=>Of*m~S0F^O2w!$3Fxk07CD#x6lvQ(W5 zE>LU2!=f>dCmztYFnR`gxbQ}Hs9g?FQ~0uys88rnk-+cmA3#N6b?N~fs-zy2CL{BK z9cn{8C{9MYfgNf|J%~OKFR(+!I9tcKd?&T0O#nHhR>}lWhSb{A4|0XKtfCv#zyhhX zf=|7mdn8DmDO~by&<68i;9zsYy<-%!jb)+A5&ssJ<}*@4jiQb{bw9gU7b+C=Z1Veg zD$LL6I(78&LwK3j@TD765kB>XzH?bG_sQJNkaLxQR>|Bm6F~F~a%TdF#*1m7t_h&O zqy<@!1%)kYK^9~|GU1tawcxUW963;)4U~}sjrx_TB5!0b@PK6Kt>|w!iEx*|2dJW> z=v8)*kzXCT2tF(qxG&NRW^pEyv~b3gv~fn0v~q??+BqW02u`154CjYr6vqZ*d;>r% VM-I6WGsOS^002ovPDHLkV1hvF0l)wN literal 0 HcmV?d00001 diff --git a/res/drawable-xxxhdpi/ic_live_help.png b/res/drawable-xxxhdpi/ic_live_help.png new file mode 100644 index 0000000000000000000000000000000000000000..00338a0572dbd800127cdbf0a88a16f262cea3a1 GIT binary patch literal 814 zcmV+}1JV46P)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0RM-N%)bBt010qN zS#tmY3ljhU3ljkVnw%H_00O2-L_t(|+U=T6OIuM8hF@BZQCp$f3hf{0qS)XfU^jxc zyZ(ua0hcbMuJZ%Bs*z;juAulI#QK2?5lR=ukW^?_-PW(DftuSz2%0nbxaVBGX9i|w z|DN{==bke&Ie>K;CWd2W+zD@+}k?0R&jK2Pm@wDB1&5Spi(x14LQw6syP}jS(b}z*D4=!5U5@ zX~qUn!VLObDh^;4KY0UOU;#ZHReSLfms|nLcoj84ds^Lbj$e!@S%h*cj^Bo~@@fP_^aVb=A1{L1NW z)1Kz&kp^IHq36;7a>goCvH-3zW~`Ex1@M`y@M z^6dw@=Pn)*{rC7M1z-=4iTX4yxDK|=+{X~no - + - + android:layout_weight="1" > + + + diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java index a3718686dd3..6de0cc10f2a 100644 --- a/src/com/android/settings/sim/SimSettings.java +++ b/src/com/android/settings/sim/SimSettings.java @@ -22,6 +22,7 @@ import android.content.ContentUris; import android.content.DialogInterface; import android.content.res.Resources; import android.database.Cursor; +import android.graphics.drawable.BitmapDrawable; import android.net.Uri; import android.os.Bundle; import android.preference.Preference; @@ -322,7 +323,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable ListAdapter adapter = new SelectAccountListAdapter( builder.getContext(), R.layout.select_account_list_item, - arr); + arr, id); if (id == DATA_PICK) { builder.setTitle(R.string.select_sim_for_data); @@ -339,43 +340,61 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable private class SelectAccountListAdapter extends ArrayAdapter { private Context mContext; private int mResId; + private int mDialogId; + private final float OPACITY = 0.54f; public SelectAccountListAdapter( - Context context, int resource, String[] arr) { + Context context, int resource, String[] arr, int dialogId) { super(context, resource, arr); mContext = context; mResId = resource; + mDialogId = dialogId; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - View rowView; final ViewHolder holder; + SubscriptionInfo sir; if (convertView == null) { // Cache views for faster scrolling rowView = inflater.inflate(mResId, null); holder = new ViewHolder(); - holder.textView = (TextView) rowView.findViewById(R.id.text); - holder.imageView = (ImageView) rowView.findViewById(R.id.icon); + holder.title = (TextView) rowView.findViewById(R.id.title); + holder.summary = (TextView) rowView.findViewById(R.id.summary); + holder.icon = (ImageView) rowView.findViewById(R.id.icon); rowView.setTag(holder); - } - else { + } else { rowView = convertView; holder = (ViewHolder) rowView.getTag(); } - holder.textView.setText(getItem(position)); - holder.imageView.setImageDrawable(getResources().getDrawable(R.drawable.ic_sim_sd)); + if (mDialogId == CALLS_PICK && position == 0) { + holder.title.setText(getItem(position)); + holder.summary.setText(""); + holder.icon.setImageDrawable(getResources() + .getDrawable(R.drawable.ic_live_help)); + holder.icon.setAlpha(OPACITY); + } else { + if (mDialogId == CALLS_PICK && position != 0) { + sir = mSelectableSubInfos.get(position - 1); + } else { + sir = mSelectableSubInfos.get(position); + } + holder.title.setText(sir.getDisplayName()); + holder.summary.setText(sir.getNumber()); + holder.icon.setImageBitmap(sir.createIconBitmap(mContext)); + } return rowView; } private class ViewHolder { - TextView textView; - ImageView imageView; + TextView title; + TextView summary; + ImageView icon; } } @@ -397,10 +416,12 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable private SubscriptionInfo mSubInfoRecord; private int mSlotId; private int[] tintArr; + Context mContext; public SimPreference(Context context, SubscriptionInfo subInfoRecord, int slotId) { super(context); + mContext = context; mSubInfoRecord = subInfoRecord; mSlotId = slotId; setKey("sim" + mSlotId); @@ -411,12 +432,17 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable public void update() { final Resources res = getResources(); + setTitle(String.format(getResources() + .getString(R.string.sim_editor_title), (mSlotId + 1))); if (mSubInfoRecord != null) { - setTitle(String.format(res.getString(R.string.sim_editor_title), - (mSubInfoRecord.getSimSlotIndex() + 1))); - setSummary(mSubInfoRecord.getDisplayName() + " - " + - mSubInfoRecord.getNumber().toString()); - setEnabled(true); + if (TextUtils.isEmpty(mSubInfoRecord.getNumber().toString())) { + setSummary(mSubInfoRecord.getDisplayName()); + } else { + setSummary(mSubInfoRecord.getDisplayName() + " - " + + mSubInfoRecord.getNumber().toString()); + setEnabled(true); + } + setIcon(new BitmapDrawable(res, (mSubInfoRecord.createIconBitmap(mContext)))); } else { setSummary(R.string.sim_slot_empty); setFragment(null); @@ -424,20 +450,6 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable } } - public String getFormattedPhoneNumber() { - try{ - final String rawNumber = PhoneFactory.getPhone(mSlotId).getLine1Number(); - String formattedNumber = null; - if (!TextUtils.isEmpty(rawNumber)) { - formattedNumber = PhoneNumberUtils.formatNumber(rawNumber); - } - - return formattedNumber; - } catch (java.lang.IllegalStateException ise){ - return "Unknown"; - } - } - public SubscriptionInfo getSubInfoRecord() { return mSubInfoRecord; } @@ -480,7 +492,12 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable }); TextView numberView = (TextView)dialogLayout.findViewById(R.id.number); - numberView.setText(simPref.getFormattedPhoneNumber()); + final String rawNumber = mSubInfoRecord.getNumber(); + if (TextUtils.isEmpty(rawNumber)) { + numberView.setText(res.getString(com.android.internal.R.string.unknownName)); + } else { + numberView.setText(PhoneNumberUtils.formatNumber(rawNumber)); + } TextView carrierView = (TextView)dialogLayout.findViewById(R.id.carrier); carrierView.setText(mSubInfoRecord.getCarrierName());