Support changes in support prefs for DeviceDefault themes

Change-Id: Id9c333aed202cca8a8845e6f58af1c252e7e111a
This commit is contained in:
Jason Monk
2015-10-28 14:34:53 -04:00
parent 85b2d55d36
commit 52a302e81b
10 changed files with 320 additions and 15 deletions

View 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">

View 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"

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -142,7 +142,7 @@
<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>

View 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>
@@ -99,7 +99,14 @@
<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>
@@ -114,17 +121,13 @@
<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>
@@ -197,7 +200,7 @@
</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>

View 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);
}

View 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);