summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/sim
diff options
context:
space:
mode:
authorSanket Padawe <sanketpadawe@google.com>2014-11-12 12:41:35 -0800
committerSanket Padawe <sanketpadawe@google.com>2014-11-12 12:41:35 -0800
commit0381f6c67540b8696a8a32851034ea588d7ab9d7 (patch)
treead1b2f74e2861ee9aa34f32a0a3537e8e5ef8f6d /src/com/android/settings/sim
parentcdbba0489bec3a889c457312183ab9ab855cfc51 (diff)
downloadpackages_apps_Settings-0381f6c67540b8696a8a32851034ea588d7ab9d7.zip
packages_apps_Settings-0381f6c67540b8696a8a32851034ea588d7ab9d7.tar.gz
packages_apps_Settings-0381f6c67540b8696a8a32851034ea588d7ab9d7.tar.bz2
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
Diffstat (limited to 'src/com/android/settings/sim')
-rw-r--r--src/com/android/settings/sim/SimSettings.java79
1 files changed, 48 insertions, 31 deletions
diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java
index a371868..6de0cc1 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<String> {
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());