Settings: Status bar weather font style (2/2)

Change-Id: I642c2cceec91b14de11f14f9ab248556bf5aefa4
To-Do: Add more fonts

Conflicts:
	res/values/custom_arrays.xml
	res/values/strings_aicp.xml
	res/xml/status_bar_weather.xml
	src/com/android/settings/aicp/StatusBarWeather.java
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index 62d84b2..c1f9d87 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -1148,4 +1148,16 @@
         <item>1</item>
         <item>2</item>
     </string-array>
+
+    <!-- Statusbar weather font style -->
+    <string-array name="status_bar_weather_font_style_entries">
+        <item>@string/status_bar_weather_font_bold</item>
+        <item>@string/status_bar_weather_font_normal</item>
+    </string-array>
+
+    <string-array name="status_bar_weather_font_style_values" translatable="false">
+        <item>0</item>
+        <item>1</item>
+    </string-array>
+
 </resources>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 679f114..6865322 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -1862,5 +1862,8 @@
     <string name="status_bar_temperature_hidden">Hidden</string>
     <string name="status_bar_temperature_show_scale">Scale showing</string>
     <string name="status_bar_temperature_hide_scale">Scale hidden</string>
+    <string name="status_bar_weather_font_style_title">Font</string>
+    <string name="status_bar_weather_font_normal">Normal</string>
+    <string name="status_bar_weather_font_bold">Bold</string>
 
 </resources>
diff --git a/res/xml/status_bar_weather_icon.xml b/res/xml/status_bar_weather_icon.xml
index d38352b..2ecba63 100644
--- a/res/xml/status_bar_weather_icon.xml
+++ b/res/xml/status_bar_weather_icon.xml
@@ -22,4 +22,10 @@
             android:entries="@array/status_bar_temperature_entries"
             android:entryValues="@array/status_bar_temperature_values" />
 
+        <ListPreference
+            android:key="status_bar_weather_font_style"
+            android:entries="@array/status_bar_weather_font_style_entries"
+            android:entryValues="@array/status_bar_weather_font_style_values"
+            android:title="@string/status_bar_weather_font_style_title" />
+
 </PreferenceScreen>
diff --git a/src/com/android/settings/broken/StatusBarWeatherIcon.java b/src/com/android/settings/broken/StatusBarWeatherIcon.java
index 6ccd198..0b323c0 100644
--- a/src/com/android/settings/broken/StatusBarWeatherIcon.java
+++ b/src/com/android/settings/broken/StatusBarWeatherIcon.java
@@ -38,8 +38,10 @@
         implements OnPreferenceChangeListener {
 
     private static final String STATUS_BAR_TEMPERATURE_STYLE = "status_bar_temperature_style";
+    private static final String PREF_STATUS_BAR_WEATHER_FONT_STYLE = "status_bar_weather_font_style";
 
     private ListPreference mStatusBarTemperature;
+    private ListPreference mStatusBarTemperatureFontStyle;
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -54,6 +56,12 @@
         mStatusBarTemperature.setValue(String.valueOf(temperatureStyle));
         mStatusBarTemperature.setSummary(mStatusBarTemperature.getEntry());
         mStatusBarTemperature.setOnPreferenceChangeListener(this);
+
+        mStatusBarTemperatureFontStyle = (ListPreference) findPreference(PREF_STATUS_BAR_WEATHER_FONT_STYLE);
+        mStatusBarTemperatureFontStyle.setOnPreferenceChangeListener(this);
+        mStatusBarTemperatureFontStyle.setValue(Integer.toString(Settings.System.getInt(getActivity()
+                .getContentResolver(), Settings.System.STATUS_BAR_WEATHER_FONT_STYLE, 0)));
+        mStatusBarTemperatureFontStyle.setSummary(mStatusBarTemperatureFontStyle.getEntry());
     }
 
     @Override
@@ -67,8 +75,14 @@
             mStatusBarTemperature.setSummary(
                     mStatusBarTemperature.getEntries()[index]);
             return true;
+        } else if (preference == mStatusBarTemperatureFontStyle) {
+            int val = Integer.parseInt((String) newValue);
+            int index = mStatusBarTemperatureFontStyle.findIndexOfValue((String) newValue);
+            Settings.System.putInt(getActivity().getContentResolver(),
+                    Settings.System.STATUS_BAR_WEATHER_FONT_STYLE, val);
+            mStatusBarTemperatureFontStyle.setSummary(mStatusBarTemperatureFontStyle.getEntries()[index]);
+            return true;
         }
         return false;
     }
-
 }