summaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorLuis Vidal <lvidal@cyngn.com>2016-03-21 10:08:14 -0700
committerLuis Vidal <lvidal@cyngn.com>2016-03-31 17:14:08 -0700
commit2703eb717e542ff225611cb9e0217815ee14661c (patch)
tree8b0152d2b3da7daf49cf45704df78e9ee5d00e83 /res
parent44a5b78ccbfb7ab39451209cdfa6feeebb0508db (diff)
downloadpackages_apps_Settings-2703eb717e542ff225611cb9e0217815ee14661c.tar.gz
packages_apps_Settings-2703eb717e542ff225611cb9e0217815ee14661c.tar.bz2
packages_apps_Settings-2703eb717e542ff225611cb9e0217815ee14661c.zip
Add Weather Content Provider [2/5]
Introduce a new entry in the settings menu to select the available weather provider services. This entry will be parked in the System category between Date&Time and Accessibility Change-Id: Ida230f3be72eb575a2b09504c99eaa16851c99f8
Diffstat (limited to 'res')
-rw-r--r--res/drawable/ic_settings_weather.xml30
-rw-r--r--res/layout/empty_weather_state.xml47
-rw-r--r--res/layout/weather_service_provider_info_row.xml104
-rw-r--r--res/values/cm_colors.xml1
-rw-r--r--res/values/cm_strings.xml6
-rw-r--r--res/xml/dashboard_categories.xml8
6 files changed, 196 insertions, 0 deletions
diff --git a/res/drawable/ic_settings_weather.xml b/res/drawable/ic_settings_weather.xml
new file mode 100644
index 000000000..1a5a8a922
--- /dev/null
+++ b/res/drawable/ic_settings_weather.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2016 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+
+ <path
+ android:fillColor="?android:attr/colorAccent"
+ android:pathData="M5.3,6.7L3.5,4.9L5,3.5l1.8,1.8L5.3,6.7z M13,1h-2v3h2V1z M1,13h3v-2H1V13z
+M20.5,4.9L19,3.5l-1.8,1.8l1.4,1.4L20.5,4.9z
+M17.3,9.1c-1-1.9-3-3.2-5.3-3.2c-3.3,0-6,2.7-6,6c0,0.9,0.2,1.7,0.5,2.5C5.6,15.3,5,16.6,5,18c0,2.8,2.2,5,5,5h6c3.9,0,7-3.1,7-7
+C23,12.6,20.5,9.7,17.3,9.1z
+M16,11c2.8,0,5,2.2,5,5s-2.2,5-5,5h-6c-1.7,0-3-1.3-3-3s1.3-3,3-3h1.1C11.6,12.7,13.6,11,16,11" />
+</vector> \ No newline at end of file
diff --git a/res/layout/empty_weather_state.xml b/res/layout/empty_weather_state.xml
new file mode 100644
index 000000000..09c379452
--- /dev/null
+++ b/res/layout/empty_weather_state.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2016 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/empty_weather_state"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:visibility="gone">
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:orientation="vertical">
+ <ImageView
+ android:id="@+id/icon"
+ android:layout_width="192dp"
+ android:layout_height="192dp"
+ android:layout_marginBottom="12dip"
+ android:src="@drawable/ic_settings_weather"
+ android:tint="@color/weather_settings_icon_tint"
+ android:contentDescription="@null">
+ </ImageView>
+
+ <TextView
+ android:id="@+id/message"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="18dp"
+ android:textColor="?android:attr/textColorSecondary">
+ </TextView>
+
+ </LinearLayout>
+</FrameLayout>
diff --git a/res/layout/weather_service_provider_info_row.xml b/res/layout/weather_service_provider_info_row.xml
new file mode 100644
index 000000000..36d547010
--- /dev/null
+++ b/res/layout/weather_service_provider_info_row.xml
@@ -0,0 +1,104 @@
+<!--
+ Copyright (C) 2016 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+ <RelativeLayout
+ android:id="@android:id/widget_frame"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_toStartOf="@+id/divider"
+ android:clickable="true"
+ android:focusable="true"
+ android:background="?android:attr/selectableItemBackground" >
+
+ <!-- Weather Provider Service icon -->
+
+ <ImageView
+ android:id="@android:id/icon"
+ android:layout_width="@android:dimen/app_icon_size"
+ android:layout_height="@android:dimen/app_icon_size"
+ android:layout_centerVertical="true"
+ android:layout_marginBottom="10dp"
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="6dp"
+ android:layout_marginTop="10dp"
+ android:contentDescription="@null"
+ android:maxHeight="@android:dimen/app_icon_size"
+ android:maxWidth="@android:dimen/app_icon_size"
+ android:scaleType="fitCenter" />
+
+ <!-- Weather Provider Service caption -->
+
+ <TextView
+ android:id="@android:id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:layout_toStartOf="@android:id/button1"
+ android:layout_toEndOf="@android:id/icon"
+ android:ellipsize="end"
+ android:singleLine="true"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAlignment="viewStart"
+ android:labelFor="@android:id/button2" />
+
+ <!-- Weather Provider Service radio button -->
+
+ <RadioButton
+ android:id="@android:id/button1"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:duplicateParentState="true"
+ android:clickable="false"
+ android:focusable="false" />
+
+ </RelativeLayout>
+
+ <!-- Divider -->
+
+ <ImageView
+ android:id="@id/divider"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_centerVertical="true"
+ android:layout_toStartOf="@android:id/button2"
+ android:contentDescription="@null"
+ android:src="@drawable/nav_divider" />
+
+ <ImageView
+ android:id="@android:id/button2"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_alignBottom="@android:id/widget_frame"
+ android:layout_alignParentEnd="true"
+ android:layout_alignTop="@android:id/widget_frame"
+ android:layout_centerVertical="true"
+ android:layout_margin="0dip"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/weather_settings_button"
+ android:padding="8dip"
+ android:clickable="true"
+ android:focusable="true"
+ android:src="@drawable/ic_bt_config" />
+
+
+</RelativeLayout>
diff --git a/res/values/cm_colors.xml b/res/values/cm_colors.xml
index 8fa69ded4..8e0a0f15e 100644
--- a/res/values/cm_colors.xml
+++ b/res/values/cm_colors.xml
@@ -127,4 +127,5 @@ limitations under the License.
<color name="crypt_keeper_emergency_button_text_color">@color/text_color_white</color>
<color name="custom_screencolor_buttons_text_color">@color/text_color_white</color>
+ <color name="weather_settings_icon_tint">#B4B9BA</color>
</resources>
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index 6b42f4edd..78c057664 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -1163,4 +1163,10 @@
<string name="restrict_app_cellular_title">Disable app cellular usage</string>
<string name="restrict_app_cellular_summary">Prevent app from using cellular data connection</string>
<string name="privacy_guard_internet_category">Internet</string>
+
+ <!-- Weather -->
+ <string name="weather_settings_title">Weather</string>
+ <string name="weather_settings_no_services_prompt">No weather provider services installed</string>
+ <string name="weather_settings_button">Provider settings</string>
+
</resources>
diff --git a/res/xml/dashboard_categories.xml b/res/xml/dashboard_categories.xml
index 56b3b8e59..24deb20d3 100644
--- a/res/xml/dashboard_categories.xml
+++ b/res/xml/dashboard_categories.xml
@@ -270,6 +270,14 @@
android:icon="@drawable/ic_settings_date_time"
/>
+ <!-- Weather -->
+ <dashboard-tile
+ android:id="@+id/weather_settings"
+ android:title="@string/weather_settings_title"
+ android:fragment="com.android.settings.cyanogenmod.WeatherServiceSettings"
+ android:icon="@drawable/ic_settings_weather"
+ />
+
<!-- Accessibility feedback -->
<dashboard-tile
android:id="@+id/accessibility_settings"