diff options
18 files changed, 104 insertions, 138 deletions
diff --git a/packages/SettingsLib/SettingsSpinner/res/layout-v31/settings_spinner_dropdown_view.xml b/packages/SettingsLib/SettingsSpinner/res/layout-v33/settings_spinner_dropdown_view.xml index cea1133f7fee..cea1133f7fee 100644 --- a/packages/SettingsLib/SettingsSpinner/res/layout-v31/settings_spinner_dropdown_view.xml +++ b/packages/SettingsLib/SettingsSpinner/res/layout-v33/settings_spinner_dropdown_view.xml diff --git a/packages/SettingsLib/SettingsSpinner/res/layout/settings_spinner_view.xml b/packages/SettingsLib/SettingsSpinner/res/layout-v33/settings_spinner_view.xml index 75de34e86bc4..1d0c9b941881 100644 --- a/packages/SettingsLib/SettingsSpinner/res/layout/settings_spinner_view.xml +++ b/packages/SettingsLib/SettingsSpinner/res/layout-v33/settings_spinner_view.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- - Copyright (C) 2018 The Android Open Source Project + Copyright (C) 2022 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. diff --git a/packages/SettingsLib/SettingsSpinner/res/values/dimens.xml b/packages/SettingsLib/SettingsSpinner/res/values-v33/dimens.xml index d526df6bedd4..10aa84888d4e 100644 --- a/packages/SettingsLib/SettingsSpinner/res/values/dimens.xml +++ b/packages/SettingsLib/SettingsSpinner/res/values-v33/dimens.xml @@ -16,5 +16,6 @@ <resources> <dimen name="spinner_height">36dp</dimen> + <dimen name="spinner_dropdown_height">48dp</dimen> <dimen name="spinner_padding_top_or_bottom">8dp</dimen> </resources> diff --git a/packages/SettingsLib/SettingsSpinner/res/values-v31/styles.xml b/packages/SettingsLib/SettingsSpinner/res/values-v33/styles.xml index fd45a16f24ba..6e26ae180685 100644 --- a/packages/SettingsLib/SettingsSpinner/res/values-v31/styles.xml +++ b/packages/SettingsLib/SettingsSpinner/res/values-v33/styles.xml @@ -35,7 +35,7 @@ <item name="android:textColor">@color/settingslib_spinner_dropdown_color</item> <item name="android:maxLines">1</item> <item name="android:ellipsize">marquee</item> - <item name="android:minHeight">@dimen/spinner_height</item> + <item name="android:minHeight">@dimen/spinner_dropdown_height</item> <item name="android:paddingStart">16dp</item> <item name="android:paddingEnd">36dp</item> <item name="android:paddingTop">@dimen/spinner_padding_top_or_bottom</item> diff --git a/packages/SettingsLib/SettingsSpinner/res/values/styles.xml b/packages/SettingsLib/SettingsSpinner/res/values/styles.xml deleted file mode 100644 index 8ea1f9a794bc..000000000000 --- a/packages/SettingsLib/SettingsSpinner/res/values/styles.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2018 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. - --> - -<resources> - <style name="SettingsSpinnerTitleBar"> - <item name="android:textAppearance">?android:attr/textAppearanceButton</item> - <item name="android:maxLines">1</item> - <item name="android:ellipsize">marquee</item> - <item name="android:paddingStart">16dp</item> - <item name="android:paddingEnd">36dp</item> - <item name="android:paddingTop">@dimen/spinner_padding_top_or_bottom</item> - <item name="android:paddingBottom">@dimen/spinner_padding_top_or_bottom</item> - </style> -</resources> diff --git a/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/SettingsSpinnerAdapter.java b/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/SettingsSpinnerAdapter.java index 26112074a130..7288494beb21 100644 --- a/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/SettingsSpinnerAdapter.java +++ b/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/SettingsSpinnerAdapter.java @@ -41,7 +41,7 @@ public class SettingsSpinnerAdapter<T> extends ArrayAdapter<T> { * access the current theme, resources, etc. */ public SettingsSpinnerAdapter(Context context) { - super(context, DEFAULT_RESOURCE); + super(context, getDefaultResource()); setDropDownViewResource(getDropdownResource()); mDefaultInflater = LayoutInflater.from(context); @@ -51,7 +51,7 @@ public class SettingsSpinnerAdapter<T> extends ArrayAdapter<T> { * In overridded {@link #getView(int, View, ViewGroup)}, use this method to get default view. */ public View getDefaultView(int position, View convertView, ViewGroup parent) { - return mDefaultInflater.inflate(DEFAULT_RESOURCE, parent, false /* attachToRoot */); + return mDefaultInflater.inflate(getDefaultResource(), parent, false /* attachToRoot */); } /** @@ -62,8 +62,12 @@ public class SettingsSpinnerAdapter<T> extends ArrayAdapter<T> { return mDefaultInflater.inflate(getDropdownResource(), parent, false /* attachToRoot */); } - private int getDropdownResource() { - return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) + private static int getDefaultResource() { + return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) + ? DEFAULT_RESOURCE : android.R.layout.simple_spinner_dropdown_item; + } + private static int getDropdownResource() { + return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) ? DFAULT_DROPDOWN_RESOURCE : android.R.layout.simple_spinner_dropdown_item; } } diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v31/settingslib_spinner_background.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v31/settingslib_spinner_background.xml deleted file mode 100644 index e1764afe5d91..000000000000 --- a/packages/SettingsLib/SettingsTheme/res/drawable-v31/settingslib_spinner_background.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2022 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. - --> - -<ripple -xmlns:android="http://schemas.android.com/apk/res/android" -android:color="@color/settingslib_ripple_color"> - -<item android:id="@android:id/background"> - <layer-list android:paddingMode="stack"> - <item - android:top="8dp" - android:bottom="8dp"> - - <shape> - <corners android:radius="28dp"/> - <solid android:color="@android:color/system_accent1_100"/> - <size android:height="@dimen/settingslib_spinner_height"/> - </shape> - </item> - - <item - android:gravity="center|end" - android:width="18dp" - android:height="18dp" - android:end="12dp" - android:drawable="@drawable/settingslib_arrow_drop_down"/> - </layer-list> -</item> -</ripple> diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v31/settingslib_arrow_drop_down.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v33/settingslib_arrow_drop_down.xml index 770a69d3e8e6..770a69d3e8e6 100644 --- a/packages/SettingsLib/SettingsTheme/res/drawable-v31/settingslib_arrow_drop_down.xml +++ b/packages/SettingsLib/SettingsTheme/res/drawable-v33/settingslib_arrow_drop_down.xml diff --git a/packages/SettingsLib/SettingsTheme/res/drawable/settingslib_spinner_background.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v33/settingslib_spinner_background.xml index 746671254afd..fbda83272ddd 100644 --- a/packages/SettingsLib/SettingsTheme/res/drawable/settingslib_spinner_background.xml +++ b/packages/SettingsLib/SettingsTheme/res/drawable-v33/settingslib_spinner_background.xml @@ -16,33 +16,30 @@ --> <ripple -xmlns:android="http://schemas.android.com/apk/res/android" -android:color="@color/settingslib_ripple_color"> + xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/settingslib_ripple_color"> <item android:id="@android:id/background"> - <layer-list android:paddingMode="stack"> + <layer-list + android:paddingMode="stack" + android:paddingStart="0dp" + android:paddingEnd="24dp"> <item android:top="8dp" android:bottom="8dp"> <shape> - <corners - android:radius="20dp"/> - <solid - android:color="?android:attr/colorPrimary"/> - <stroke - android:color="#1f000000" - android:width="1dp"/> - <size - android:height="32dp"/> + <corners android:radius="28dp"/> + <solid android:color="@android:color/system_accent1_100"/> + <size android:height="@dimen/settingslib_spinner_height"/> </shape> </item> <item android:gravity="center|end" - android:width="24dp" - android:height="24dp" - android:end="4dp" + android:width="18dp" + android:height="18dp" + android:end="12dp" android:drawable="@drawable/settingslib_arrow_drop_down"/> </layer-list> </item> diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v31/settingslib_spinner_dropdown_background.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v33/settingslib_spinner_dropdown_background.xml index 056fb828baad..50ef8fb50f19 100644 --- a/packages/SettingsLib/SettingsTheme/res/drawable-v31/settingslib_spinner_dropdown_background.xml +++ b/packages/SettingsLib/SettingsTheme/res/drawable-v33/settingslib_spinner_dropdown_background.xml @@ -20,9 +20,17 @@ android:color="@color/settingslib_ripple_color"> <item android:id="@android:id/background"> - <shape> - <corners android:radius="10dp"/> - <solid android:color="@android:color/system_accent2_100"/> - </shape> + <layer-list + android:paddingMode="stack" + android:paddingStart="0dp" + android:paddingEnd="12dp"> + + <item> + <shape> + <corners android:radius="10dp"/> + <solid android:color="@android:color/system_accent2_100"/> + </shape> + </item> + </layer-list> </item> </ripple> diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml index 29fdab13c717..11546c8ed3d9 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml @@ -25,6 +25,4 @@ <dimen name="settingslib_listPreferredItemPaddingStart">24dp</dimen> <!-- Right padding of the preference --> <dimen name="settingslib_listPreferredItemPaddingEnd">24dp</dimen> - - <dimen name="settingslib_spinner_height">36dp</dimen> </resources> diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml index b12c6d2850c4..3597ee9b08ee 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml @@ -45,24 +45,4 @@ <item name="android:progressDrawable">@drawable/settingslib_progress_horizontal</item> <item name="android:scaleY">0.5</item> </style> - - <style name="Spinner.SettingsLib" - parent="android:style/Widget.Material.Spinner"> - <item name="android:background">@drawable/settingslib_spinner_background</item> - <item name="android:popupBackground">@drawable/settingslib_spinner_dropdown_background</item> - <item name="android:dropDownVerticalOffset">48dp</item> - <item name="android:layout_marginTop">16dp</item> - <item name="android:layout_marginBottom">8dp</item> - </style> - - <style name="SpinnerItem.SettingsLib" - parent="@android:style/Widget.DeviceDefault.TextView.SpinnerItem"> - <item name="android:textColor">@color/settingslib_spinner_dropdown_color</item> - </style> - - <style name="SpinnerDropDownItem.SettingsLib" - parent="@android:style/Widget.Material.DropDownItem.Spinner"> - <item name="android:textColor">@color/settingslib_spinner_dropdown_color</item> - </style> - </resources> diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml index 4f426a3bf10c..69c122c9992e 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml @@ -17,7 +17,7 @@ <resources> <!-- Only using in Settings application --> - <style name="Theme.SettingsBase" parent="@android:style/Theme.DeviceDefault.Settings" > + <style name="Theme.SettingsBase_v31" parent="@android:style/Theme.DeviceDefault.Settings" > <item name="android:textAppearanceListItem">@style/TextAppearance.PreferenceTitle.SettingsLib</item> <item name="android:listPreferredItemPaddingStart">@dimen/settingslib_listPreferredItemPaddingStart</item> <item name="android:listPreferredItemPaddingLeft">@dimen/settingslib_listPreferredItemPaddingStart</item> @@ -26,11 +26,10 @@ <item name="preferenceTheme">@style/PreferenceTheme.SettingsLib</item> <item name="android:switchStyle">@style/Switch.SettingsLib</item> <item name="android:progressBarStyleHorizontal">@style/HorizontalProgressBar.SettingsLib</item> - <item name="android:spinnerStyle">@style/Spinner.SettingsLib</item> - <item name="android:spinnerItemStyle">@style/SpinnerItem.SettingsLib</item> - <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem.SettingsLib</item> </style> + <style name="Theme.SettingsBase" parent="Theme.SettingsBase_v31" /> + <!-- Using in SubSettings page including injected settings page --> <style name="Theme.SubSettingsBase" parent="Theme.SettingsBase"> <!-- Suppress the built-in action bar --> diff --git a/packages/SettingsLib/SettingsTheme/res/drawable/settingslib_arrow_drop_down.xml b/packages/SettingsLib/SettingsTheme/res/values-v33/dimens.xml index 6ed215dd2dbb..bec807b395f7 100644 --- a/packages/SettingsLib/SettingsTheme/res/drawable/settingslib_arrow_drop_down.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-v33/dimens.xml @@ -15,12 +15,6 @@ limitations under the License. --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:viewportWidth="24" - android:viewportHeight="24" - android:width="24dp" - android:height="24dp"> - <path - android:pathData="M7 10l5 5 5 -5z" - android:fillColor="?android:attr/textColorPrimary"/> -</vector> +<resources> + <dimen name="settingslib_spinner_height">36dp</dimen> +</resources>
\ No newline at end of file diff --git a/packages/SettingsLib/SettingsTheme/res/values-v33/styles.xml b/packages/SettingsLib/SettingsTheme/res/values-v33/styles.xml new file mode 100644 index 000000000000..15fdfe49b0cb --- /dev/null +++ b/packages/SettingsLib/SettingsTheme/res/values-v33/styles.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2022 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. + --> +<resources> + <style name="Spinner.SettingsLib" + parent="android:style/Widget.Material.Spinner"> + <item name="android:background">@drawable/settingslib_spinner_background</item> + <item name="android:popupBackground">@drawable/settingslib_spinner_dropdown_background + </item> + <item name="android:dropDownVerticalOffset">48dp</item> + <item name="android:layout_marginTop">16dp</item> + <item name="android:layout_marginBottom">8dp</item> + </style> + + <style name="SpinnerItem.SettingsLib" + parent="@android:style/Widget.DeviceDefault.TextView.SpinnerItem"> + <item name="android:textColor">@color/settingslib_spinner_dropdown_color</item> + <item name="android:paddingStart">16dp</item> + </style> + + <style name="SpinnerDropDownItem.SettingsLib" + parent="@android:style/Widget.Material.DropDownItem.Spinner"> + <item name="android:textColor">@color/settingslib_spinner_dropdown_color</item> + <item name="android:paddingStart">16dp</item> + </style> +</resources>
\ No newline at end of file diff --git a/packages/SettingsLib/SettingsTheme/res/values-v33/themes.xml b/packages/SettingsLib/SettingsTheme/res/values-v33/themes.xml new file mode 100644 index 000000000000..24e3c46b39ce --- /dev/null +++ b/packages/SettingsLib/SettingsTheme/res/values-v33/themes.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2022 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. + --> + +<resources> + <style name="Theme.SettingsBase" parent="Theme.SettingsBase_v31" > + <item name="android:spinnerStyle">@style/Spinner.SettingsLib</item> + <item name="android:spinnerItemStyle">@style/SpinnerItem.SettingsLib</item> + <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem.SettingsLib</item> + </style> +</resources>
\ No newline at end of file diff --git a/packages/SettingsLib/SettingsTheme/res/values/styles.xml b/packages/SettingsLib/SettingsTheme/res/values/styles.xml index fa27bb692fe8..aaab0f041fe3 100644 --- a/packages/SettingsLib/SettingsTheme/res/values/styles.xml +++ b/packages/SettingsLib/SettingsTheme/res/values/styles.xml @@ -26,10 +26,4 @@ <style name="TextAppearance.CategoryTitle.SettingsLib" parent="@android:style/TextAppearance.DeviceDefault.Medium"> </style> - - <style name="Spinner.SettingsLib" - parent="android:style/Widget.Material.Spinner"> - <item name="android:background">@drawable/settingslib_spinner_background</item> - <item name="android:dropDownVerticalOffset">48dp</item> - </style> </resources> diff --git a/packages/SettingsLib/SettingsTheme/res/values/themes.xml b/packages/SettingsLib/SettingsTheme/res/values/themes.xml index 8dc0f3c1ff2b..2d881d1a8a7b 100644 --- a/packages/SettingsLib/SettingsTheme/res/values/themes.xml +++ b/packages/SettingsLib/SettingsTheme/res/values/themes.xml @@ -19,7 +19,6 @@ <!-- Only using in Settings application --> <style name="Theme.SettingsBase" parent="@android:style/Theme.DeviceDefault.Settings"> <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> - <item name="android:spinnerStyle">@style/Spinner.SettingsLib</item> </style> <!-- Using in SubSettings page including injected settings page --> |