Merge "Fix preferences v14 issues in lock screeen setup"
diff --git a/res/layout/setup_choose_lock_generic.xml b/res/layout/setup_preference.xml
similarity index 81%
rename from res/layout/setup_choose_lock_generic.xml
rename to res/layout/setup_preference.xml
index 325844b..135c5a0 100644
--- a/res/layout/setup_choose_lock_generic.xml
+++ b/res/layout/setup_preference.xml
@@ -15,12 +15,11 @@
limitations under the License.
-->
-<com.android.setupwizardlib.SetupWizardListLayout
+<com.android.setupwizardlib.SetupWizardLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout="@layout/suw_no_scroll_template"
settings:suwBackgroundTile="@drawable/setup_illustration_tile"
- settings:suwHeaderText="@string/setup_lock_settings_picker_title"
- settings:suwIllustrationHorizontalTile="@drawable/setup_illustration_horizontal_tile"
- settings:suwIllustrationImage="@drawable/setup_illustration_lock_screen" />
+ settings:suwIllustrationHorizontalTile="@drawable/setup_illustration_horizontal_tile" />
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 858c946..0a265de 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -29,13 +29,12 @@
<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.v14.Material</item>
+ <item name="preferenceTheme">@style/PreferenceThemeOverlay.SetupWizard</item>
<item name="android:windowBackground">@null</item>
</style>
<style name="SetupWizardTheme" parent="SuwThemeMaterial">
<!-- For all Alert Dialogs -->
- <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:listPreferredItemPaddingEnd">@dimen/suw_layout_margin_sides</item>
<item name="android:listPreferredItemPaddingStart">@dimen/suw_layout_margin_sides</item>
@@ -52,6 +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>
<!-- LockPatternView colors -->
<item name="@*android:regularColor">@color/setup_lock_pattern_view_regular_color_dark</item>
@@ -61,7 +61,6 @@
<style name="SetupWizardTheme.Light" parent="SuwThemeMaterial.Light">
<!-- For all Alert Dialogs -->
- <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:listPreferredItemPaddingEnd">@dimen/suw_layout_margin_sides</item>
<item name="android:listPreferredItemPaddingStart">@dimen/suw_layout_margin_sides</item>
@@ -78,6 +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>
<!-- LockPatternView colors -->
<item name="@*android:regularColor">@color/setup_lock_pattern_view_regular_color_light</item>
@@ -85,6 +85,14 @@
<item name="@*android:errorColor">@color/setup_lock_pattern_view_error_color_light</item>
</style>
+ <style name="PreferenceThemeOverlay.SetupWizard" parent="PreferenceThemeOverlay.v14.Material">
+ <item name="preferenceFragmentStyle">@style/SetupWizardPreferenceFragmentStyle</item>
+ </style>
+
+ <style name="SetupWizardPreferenceFragmentStyle" parent="PreferenceFragment.Material">
+ <item name="android:layout">@layout/setup_preference</item>
+ </style>
+
<!-- Theme with no local references, used by AccountPreferenceBase where we have to inflate
layouts against a remote context using our local theme colors. Due to the implementation
details of Theme, we can't reference any local resources and MUST instead use the values
diff --git a/src/com/android/settings/SetupChooseLockGeneric.java b/src/com/android/settings/SetupChooseLockGeneric.java
index a1dd91e..206c15e 100644
--- a/src/com/android/settings/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/SetupChooseLockGeneric.java
@@ -24,12 +24,10 @@
import android.os.Bundle;
import android.os.UserHandle;
import android.support.v14.preference.PreferenceFragment;
-import android.view.LayoutInflater;
import android.view.View;
-import android.view.ViewGroup;
import com.android.internal.widget.LockPatternUtils;
-import com.android.setupwizardlib.SetupWizardListLayout;
+import com.android.setupwizardlib.SetupWizardLayout;
import com.android.setupwizardlib.view.NavigationBar;
/**
@@ -63,22 +61,19 @@
private static final String EXTRA_PASSWORD_QUALITY = ":settings:password_quality";
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- final SetupWizardListLayout layout = (SetupWizardListLayout) inflater.inflate(
- R.layout.setup_choose_lock_generic, container, false);
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ SetupWizardUtils.setImmersiveMode(getActivity());
+
+ SetupWizardLayout layout = (SetupWizardLayout) view;
final NavigationBar navigationBar = layout.getNavigationBar();
navigationBar.getNextButton().setEnabled(false);
navigationBar.setNavigationBarListener(this);
- return layout;
- }
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- SetupWizardUtils.setImmersiveMode(getActivity());
+ layout.setIllustration(R.drawable.setup_illustration_lock_screen,
+ R.drawable.setup_illustration_horizontal_tile);
+ layout.setHeaderText(R.string.setup_lock_settings_picker_title);
}
@Override