OSDN Git Service

Support changes in support prefs for DeviceDefault themes
authorJason Monk <jmonk@google.com>
Wed, 28 Oct 2015 18:34:53 +0000 (14:34 -0400)
committerJason Monk <jmonk@google.com>
Thu, 12 Nov 2015 15:09:10 +0000 (10:09 -0500)
Change-Id: Id9c333aed202cca8a8845e6f58af1c252e7e111a

res/layout/preference_list_fragment.xml
res/layout/preference_widget_sync_toggle.xml
res/layout/suw_no_scroll_template_card.xml [new file with mode: 0644]
res/layout/suw_no_scroll_template_card_wide.xml [new file with mode: 0644]
res/layout/suw_no_scroll_template_header.xml [new file with mode: 0644]
res/layout/suw_no_scroll_template_header_collapsed.xml [new file with mode: 0644]
res/values/styles.xml
res/values/themes.xml
src/com/android/settings/AppListSwitchPreference.java
src/com/android/settings/accounts/SyncStateSwitchPreference.java

index 7eb1511..99e764f 100644 (file)
@@ -30,7 +30,7 @@
                  android:visibility="gone" />
 
          <FrameLayout
-                 android:id="@id/list_container"
+                 android:id="@android:id/list_container"
                  android:layout_height="0px"
                  android:layout_weight="1"
                  android:layout_width="match_parent">
index d4faf56..468c622 100644 (file)
@@ -39,7 +39,7 @@
         android:contentDescription="@string/sync_active" />
 
     <Switch xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@id/switchWidget"
+        android:id="@android:id/switch_widget"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_vertical"
diff --git a/res/layout/suw_no_scroll_template_card.xml b/res/layout/suw_no_scroll_template_card.xml
new file mode 100644 (file)
index 0000000..3cdec90
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source 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.
+-->
+
+<!-- This layout file is intended for use with views that handle its own scrolling, like WebView or
+     RecyclerView. For other layouts that should be put inside a ScrollView, consider using
+     suw_template instead. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <com.android.setupwizardlib.view.Illustration
+        android:id="@+id/suw_layout_decor"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/suw_layout_background">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical"
+            android:paddingLeft="@dimen/suw_card_port_margin_sides"
+            android:paddingRight="@dimen/suw_card_port_margin_sides">
+
+            <TextView
+                android:id="@+id/suw_layout_title"
+                style="@style/SuwCardTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <FrameLayout
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:background="?attr/suwCardBackground"
+                android:elevation="@dimen/suw_card_elevation"
+                tools:ignore="UnusedAttribute">
+
+                <FrameLayout
+                    android:id="@+id/suw_layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent">
+
+                    <!-- Temporary solution to work with PreferenceFragment v14 -->
+                    <FrameLayout android:id="@android:id/list_container"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent" />
+
+                </FrameLayout>
+
+                <include layout="@layout/suw_progress_bar_stub" />
+
+            </FrameLayout>
+
+        </LinearLayout>
+
+    </com.android.setupwizardlib.view.Illustration>
+
+    <com.android.setupwizardlib.view.NavigationBar
+        android:id="@+id/suw_layout_navigation_bar"
+        style="@style/SuwNavBarTheme"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/suw_navbar_height" />
+
+</LinearLayout>
diff --git a/res/layout/suw_no_scroll_template_card_wide.xml b/res/layout/suw_no_scroll_template_card_wide.xml
new file mode 100644 (file)
index 0000000..73b9008
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source 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.
+-->
+
+<!-- This layout file is intended for use with views that handle its own scrolling, like WebView or
+     RecyclerView. For other layouts that should be put inside a ScrollView, consider using
+     suw_template instead. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <com.android.setupwizardlib.view.Illustration
+        android:id="@+id/suw_layout_decor"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/suw_layout_background">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:gravity="start|top"
+            android:weightSum="16">
+
+            <TextView
+                android:id="@+id/suw_layout_title"
+                style="@style/SuwCardTitle"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/suw_card_land_header_text_margin_top"
+                android:layout_weight="6" />
+
+            <FrameLayout
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="8"
+                android:background="?attr/suwCardBackground"
+                android:elevation="@dimen/suw_card_elevation"
+                tools:ignore="UnusedAttribute">
+
+                <FrameLayout
+                    android:id="@+id/suw_layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent">
+
+                    <!-- Temporary solution to work with PreferenceFragment v14 -->
+                    <FrameLayout android:id="@android:id/list_container"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent" />
+
+                </FrameLayout>
+
+                <include layout="@layout/suw_progress_bar_stub" />
+
+            </FrameLayout>
+
+        </LinearLayout>
+
+    </com.android.setupwizardlib.view.Illustration>
+
+    <com.android.setupwizardlib.view.NavigationBar
+        android:id="@+id/suw_layout_navigation_bar"
+        style="@style/SuwNavBarTheme"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/suw_navbar_height" />
+
+</LinearLayout>
diff --git a/res/layout/suw_no_scroll_template_header.xml b/res/layout/suw_no_scroll_template_header.xml
new file mode 100644 (file)
index 0000000..0291e55
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source 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.
+-->
+
+<!-- IMPORTANT NOTE: Even if this layout is used with a view that handles its scroll internally,
+     like WebView or RecyclerView, the illustration will not scroll away, since this view doesn't
+     know about the scrolling view at all. It is recommended that you add the illustration as a
+     header to the RecyclerView or avoid using this layout (e.g. use suw_no_scroll_template_short
+     instead of suw_no_scroll_template) -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:orientation="vertical">
+
+        <com.android.setupwizardlib.view.Illustration
+            android:id="@+id/suw_layout_decor"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@drawable/suw_layout_background"
+            android:elevation="@dimen/suw_title_area_elevation"
+            android:tag="stickyContainer"
+            tools:ignore="UnusedAttribute">
+
+            <TextView
+                android:id="@+id/suw_layout_title"
+                style="@style/SuwHeaderTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:tag="sticky" />
+
+        </com.android.setupwizardlib.view.Illustration>
+
+        <include layout="@layout/suw_progress_bar_stub" />
+
+        <FrameLayout
+            android:id="@+id/suw_layout_content"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1">
+
+            <!-- Temporary solution to work with PreferenceFragment v14 -->
+            <FrameLayout android:id="@android:id/list_container"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+
+        </FrameLayout>
+
+    </LinearLayout>
+
+    <com.android.setupwizardlib.view.NavigationBar
+        android:id="@+id/suw_layout_navigation_bar"
+        style="@style/SuwNavBarTheme"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/suw_navbar_height" />
+
+</LinearLayout>
diff --git a/res/layout/suw_no_scroll_template_header_collapsed.xml b/res/layout/suw_no_scroll_template_header_collapsed.xml
new file mode 100644 (file)
index 0000000..7eff625
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source 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.
+-->
+
+<!-- This layout file is intended for use with views that handle its own scrolling, like WebView or
+     RecyclerView. For other layouts that should be put inside a ScrollView, consider using
+     suw_template instead. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:id="@+id/suw_layout_decor"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/suw_layout_background"
+        android:elevation="@dimen/suw_title_area_elevation"
+        tools:ignore="UnusedAttribute">
+
+        <TextView
+            android:id="@+id/suw_layout_title"
+            style="@style/SuwHeaderTitle"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+
+    </FrameLayout>
+
+    <include layout="@layout/suw_progress_bar_stub" />
+
+    <FrameLayout android:id="@+id/suw_layout_content"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1">
+
+        <!-- Temporary solution to work with PreferenceFragment v14 -->
+        <FrameLayout android:id="@android:id/list_container"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+
+    </FrameLayout>
+
+    <com.android.setupwizardlib.view.NavigationBar
+        android:id="@+id/suw_layout_navigation_bar"
+        style="@style/SuwNavBarTheme"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/suw_navbar_height" />
+
+</LinearLayout>
index 8b400ef..0a4d850 100644 (file)
     <style name="SettingsPreferenceHeaderList" parent="@*android:style/PreferenceHeaderList">
     </style>
 
-    <style name="PreferenceFragmentStyle" parent="@*android:style/PreferenceFragment">
+    <style name="PreferenceFragmentStyle" parent="@*android:style/PreferenceFragment.Material">
         <item name="android:layout">@layout/preference_list_fragment</item>
     </style>
 
index 059b934..a98c505 100644 (file)
@@ -29,7 +29,7 @@
     <style name="SetupWizardDisableAppStartingTheme">
         <!-- Theme to disable the app starting window. The actual theme of the activity needs to
              be then set in code via setTheme or onApplyThemeResource. -->
-        <item name="preferenceTheme">@style/PreferenceThemeOverlay.SetupWizard</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
         <item name="android:windowBackground">@null</item>
     </style>
 
@@ -51,7 +51,7 @@
         <item name="wifi_signal_color">@color/setup_wizard_wifi_color_dark</item>
         <item name="wifi_signal">@drawable/wifi_signal</item>
         <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceThemeOverlay.SetupWizard</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <!-- LockPatternView colors -->
         <item name="@*android:regularColor">@color/setup_lock_pattern_view_regular_color_dark</item>
@@ -77,7 +77,7 @@
         <item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
         <item name="wifi_signal">@drawable/wifi_signal</item>
         <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceThemeOverlay.SetupWizard</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <!-- LockPatternView colors -->
         <item name="@*android:regularColor">@color/setup_lock_pattern_view_regular_color_light</item>
         <item name="android:windowAnimationStyle">@null</item>
     </style>
 
-    <style name="PreferenceThemeOverlay.SetupWizard" parent="PreferenceThemeOverlay.v14.Material">
+    <style name="PreferenceTheme" parent="@android:style/Theme.DeviceDefault.Settings">
+        <item name="@android:preferenceStyle">@style/Preference</item>
+        <item name="@android:preferenceFragmentStyle">@style/PreferenceFragmentStyle</item>
+
+        <item name="apnPreferenceStyle">@style/ApnPreference</item>
+    </style>
+
+    <style name="PreferenceTheme.SetupWizard">
         <item name="preferenceFragmentStyle">@style/SetupWizardPreferenceFragmentStyle</item>
     </style>
 
     <style name="Theme.SettingsBase" parent="@android:style/Theme.Material.Settings" />
 
     <style name="Theme.Settings" parent="Theme.SettingsBase">
-        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
-        <item name="@*android:preferenceStyle">@style/Preference</item>
+        <item name="preferenceTheme">@style/PreferenceTheme</item>
         <item name="@*android:preferenceHeaderPanelStyle">@style/PreferenceHeaderPanelSinglePane</item>
         <item name="@*android:preferencePanelStyle">@style/PreferencePanelSinglePane</item>
         <item name="@*android:preferenceListStyle">@style/PreferenceHeaderListSinglePane</item>
         <item name="@*android:preferenceFragmentListStyle">@style/PreferenceFragmentListSinglePane</item>
-        <item name="@*android:preferenceFragmentStyle">@style/PreferenceFragmentStyle</item>
         <item name="@*android:preferenceFragmentPaddingSide">@dimen/settings_side_margin</item>
 
-        <item name="apnPreferenceStyle">@style/ApnPreference</item>
-
         <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
         <item name="fingerprint_progress_bar_size">@dimen/fingerprint_progress_bar_size</item>
         <item name="fingerprint_ring_radius">@dimen/fingerprint_ring_radius</item>
     </style>
 
     <style name="Theme.SubSettingsDialogWhenLarge" parent="Theme.DialogWhenLarge">
-        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
+        <item name="preferenceTheme">@style/PreferenceTheme</item>
         <item name="android:actionBarWidgetTheme">@null</item>
         <item name="android:actionBarTheme">@android:style/ThemeOverlay.Material.Dark.ActionBar</item>
 
index cb656d1..007f243 100644 (file)
@@ -24,7 +24,7 @@ public class AppListSwitchPreference extends AppListPreference {
     @Override
     public void onBindViewHolder(PreferenceViewHolder view) {
         super.onBindViewHolder(view);
-        mSwitch = (Checkable) view.findViewById(com.android.internal.R.id.switchWidget);
+        mSwitch = (Checkable) view.findViewById(com.android.internal.R.id.switch_widget);
         mSwitch.setChecked(getValue() != null);
     }
 
index 9458908..eefde07 100644 (file)
@@ -69,7 +69,7 @@ public class SyncStateSwitchPreference extends SwitchPreference {
         final boolean failedVisible = mFailed && !activeVisible;
         syncFailedView.setVisibility(failedVisible ? View.VISIBLE : View.GONE);
 
-        View switchView = view.findViewById(R.id.switchWidget);
+        View switchView = view.findViewById(com.android.internal.R.id.switch_widget);
         if (mOneTimeSyncMode) {
             switchView.setVisibility(View.GONE);