Merge "Add sim color selection in settings" into lmp-mr1-dev

This commit is contained in:
Sanket Padawe
2014-10-28 22:48:33 +00:00
committed by Android (Google) Code Review
5 changed files with 83 additions and 23 deletions

View File

@@ -49,6 +49,28 @@
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sim_dialog_margin_top"
android:paddingStart="@dimen/sim_label_padding"
android:text="@string/color_title"
style="?android:attr/textAppearanceMedium" />
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sim_dialog_margin_top"
android:paddingStart="@dimen/sim_label_padding" />
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@@ -1260,21 +1260,23 @@
<item>Cached (empty)</item> <item>Cached (empty)</item>
</string-array> </string-array>
<!-- Multi-SIM titles for captioning color preference. --> <!-- Array storing rgb values of sim colors for multi-sim -->
<string-array name="sim_info_picker_color_titles" translatable="false" > <array name="sim_colors">
<item>@string/color_blue</item> <item>@color/Teal_700</item>
<item>@string/color_green</item> <item>@color/Blue_700</item>
<item>@string/color_purple</item> <item>@color/Indigo_700</item>
<item>@string/color_red</item> <item>@color/Purple_700</item>
<item>@string/color_orange</item> <item>@color/Pink_700</item>
</string-array> <item>@color/Red_700</item>
</array>
<!-- Multi-SIM colors. --> <!-- Array of titles for sim color for multi-sim -->
<integer-array name="sim_info_picker_color_values" translatable="false" > <string-array name="color_picker">
<item>@color/blue_500</item> <item>Teal</item>
<item>@color/green_500</item> <item>Blue</item>
<item>@color/purple_500</item> <item>Indigo</item>
<item>@color/red_500</item> <item>Purple</item>
<item>@color/orange_500</item> <item>Pink</item>
</integer-array> <item>Red</item>
</string-array>
</resources> </resources>

View File

@@ -75,11 +75,13 @@
<color name="wifi_divider">#ffe0e0e0</color> <color name="wifi_divider">#ffe0e0e0</color>
<!-- Multi-SIM colors --> <!-- Multi-SIM colors Todo: To check whether to append 00 or FF before color values-->
<color name="blue_500">#5677fc</color> <color name="Teal_700">#0000796b</color>
<color name="green_500">#259b24</color> <color name="Blue_700">#003367d6</color>
<color name="purple_500">#9c27b0</color> <color name="Indigo_700">#00303f9f</color>
<color name="red_500">#e51c23</color> <color name="Purple_700">#007b1fa2</color>
<color name="orange_500">#ff9800</color> <color name="Pink_700">#00c2185b</color>
<color name="Red_700">#00c53929</color>
</resources> </resources>

View File

@@ -3631,6 +3631,8 @@
<!-- Label for the default device locale. [CHAR LIMIT=35] --> <!-- Label for the default device locale. [CHAR LIMIT=35] -->
<string name="locale_default">Default</string> <string name="locale_default">Default</string>
<!-- Label for color selection title in sim settings [CHAR LIMIT=35] -->
<string name = "color_title">Color</string>
<!-- Label for default color. This lets the app pick the color. [CHAR LIMIT=35] --> <!-- Label for default color. This lets the app pick the color. [CHAR LIMIT=35] -->
<string name="color_unspecified">Default</string> <string name="color_unspecified">Default</string>
<!-- Label for no color (transparent). [CHAR LIMIT=35] --> <!-- Label for no color (transparent). [CHAR LIMIT=35] -->

View File

@@ -16,6 +16,7 @@
package com.android.settings.sim; package com.android.settings.sim;
import android.graphics.Color;
import android.provider.SearchIndexableResource; import android.provider.SearchIndexableResource;
import com.android.settings.R; import com.android.settings.R;
@@ -463,6 +464,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
private class SimPreference extends Preference{ private class SimPreference extends Preference{
private SubInfoRecord mSubInfoRecord; private SubInfoRecord mSubInfoRecord;
private int mSlotId; private int mSlotId;
private int[] colorArr;
public SimPreference(Context context, SubInfoRecord subInfoRecord, int slotId) { public SimPreference(Context context, SubInfoRecord subInfoRecord, int slotId) {
super(context); super(context);
@@ -471,6 +473,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
mSlotId = slotId; mSlotId = slotId;
setKey("sim" + mSlotId); setKey("sim" + mSlotId);
update(); update();
colorArr = context.getResources().getIntArray(R.array.sim_colors);
} }
public void update() { public void update() {
@@ -530,6 +533,31 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
EditText nameText = (EditText)dialogLayout.findViewById(R.id.sim_name); EditText nameText = (EditText)dialogLayout.findViewById(R.id.sim_name);
nameText.setText(mSubInfoRecord.displayName); 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); TextView numberView = (TextView)dialogLayout.findViewById(R.id.number);
numberView.setText(simPref.getFormattedPhoneNumber()); numberView.setText(simPref.getFormattedPhoneNumber());
@@ -547,10 +575,14 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
mSubInfoRecord.displayName = nameText.getText().toString(); mSubInfoRecord.displayName = nameText.getText().toString();
SubscriptionManager.setDisplayName(mSubInfoRecord.displayName, SubscriptionManager.setDisplayName(mSubInfoRecord.displayName,
mSubInfoRecord.subId); mSubInfoRecord.subId);
findRecordBySubId(mSubInfoRecord.subId).displayName = findRecordBySubId(mSubInfoRecord.subId).displayName =
nameText.getText().toString(); 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(); updateAllOptions();
update(); update();
} }