Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit abc505aa authored by Sanket Padawe's avatar Sanket Padawe
Browse files

Add sim color selection in settings

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

Change-Id: I26da0a79f5b1edf829fc5d46af2c0c23962226b8
parent 4aab7ecb
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -49,6 +49,28 @@

        </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
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
+18 −16
Original line number Diff line number Diff line
@@ -1260,21 +1260,23 @@
        <item>Cached (empty)</item>
    </string-array>

    <!-- Multi-SIM titles for captioning color preference. -->
    <string-array name="sim_info_picker_color_titles" translatable="false" >
        <item>@string/color_blue</item>
        <item>@string/color_green</item>
        <item>@string/color_purple</item>
        <item>@string/color_red</item>
        <item>@string/color_orange</item>
    <!-- Array storing rgb values of sim colors for multi-sim -->
    <array name="sim_colors">
        <item>@color/Teal_700</item>
        <item>@color/Blue_700</item>
        <item>@color/Indigo_700</item>
        <item>@color/Purple_700</item>
        <item>@color/Pink_700</item>
        <item>@color/Red_700</item>
    </array>

    <!-- Array of titles for sim color for multi-sim -->
    <string-array name="color_picker">
        <item>Teal</item>
        <item>Blue</item>
        <item>Indigo</item>
        <item>Purple</item>
        <item>Pink</item>
        <item>Red</item>
    </string-array>

    <!-- Multi-SIM colors. -->
    <integer-array name="sim_info_picker_color_values" translatable="false" >
        <item>@color/blue_500</item>
        <item>@color/green_500</item>
        <item>@color/purple_500</item>
        <item>@color/red_500</item>
        <item>@color/orange_500</item>
    </integer-array>
</resources>
+8 −6
Original line number Diff line number Diff line
@@ -75,11 +75,13 @@

    <color name="wifi_divider">#ffe0e0e0</color>

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


</resources>
+2 −0
Original line number Diff line number Diff line
@@ -3631,6 +3631,8 @@
    <!-- Label for the default device locale. [CHAR LIMIT=35] -->
    <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] -->
    <string name="color_unspecified">Default</string>
    <!-- Label for no color (transparent). [CHAR LIMIT=35] -->
+33 −1
Original line number Diff line number Diff line
@@ -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();
                }