Add sim color selection in settings

Adding a dropdown list to select sim color from sim settings UI.

Change-Id: I26da0a79f5b1edf829fc5d46af2c0c23962226b8
This commit is contained in:
Sanket Padawe
2014-10-28 14:01:50 -07:00
parent 4aab7ecb56
commit abc505aac3
5 changed files with 83 additions and 23 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.sim;
import android.graphics.Color;
import android.provider.SearchIndexableResource;
import com.android.settings.R;
@@ -463,6 +464,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
private class SimPreference extends Preference{
private SubInfoRecord mSubInfoRecord;
private int mSlotId;
private int[] colorArr;
public SimPreference(Context context, SubInfoRecord subInfoRecord, int slotId) {
super(context);
@@ -471,6 +473,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
mSlotId = slotId;
setKey("sim" + mSlotId);
update();
colorArr = context.getResources().getIntArray(R.array.sim_colors);
}
public void update() {
@@ -530,6 +533,31 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
EditText nameText = (EditText)dialogLayout.findViewById(R.id.sim_name);
nameText.setText(mSubInfoRecord.displayName);
final Spinner colorSpinner = (Spinner) dialogLayout.findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getContext(),
R.array.color_picker, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
colorSpinner.setAdapter(adapter);
for (int i = 0; i < colorArr.length; i++) {
if (colorArr[i] == mSubInfoRecord.color) {
colorSpinner.setSelection(i);
break;
}
}
colorSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id){
colorSpinner.setSelection(pos);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
TextView numberView = (TextView)dialogLayout.findViewById(R.id.number);
numberView.setText(simPref.getFormattedPhoneNumber());
@@ -547,10 +575,14 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
mSubInfoRecord.displayName = nameText.getText().toString();
SubscriptionManager.setDisplayName(mSubInfoRecord.displayName,
mSubInfoRecord.subId);
findRecordBySubId(mSubInfoRecord.subId).displayName =
nameText.getText().toString();
final int colorSelected = colorSpinner.getSelectedItemPosition();
mSubInfoRecord.color = colorArr[colorSelected];
SubscriptionManager.setColor(colorArr[colorSelected], mSubInfoRecord.subId);
findRecordBySubId(mSubInfoRecord.subId).color = colorArr[colorSelected];
updateAllOptions();
update();
}