summaryrefslogtreecommitdiff
path: root/chromium/components/browser_ui/settings/android
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/components/browser_ui/settings/android
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/components/browser_ui/settings/android')
-rw-r--r--chromium/components/browser_ui/settings/android/BUILD.gn4
-rw-r--r--chromium/components/browser_ui/settings/android/java/res/layout/settings_action_bar_shadow.xml19
-rw-r--r--chromium/components/browser_ui/settings/android/java/res/values/styles.xml43
-rw-r--r--chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeBasePreference.java1
-rw-r--r--chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/IconPreference.java38
5 files changed, 98 insertions, 7 deletions
diff --git a/chromium/components/browser_ui/settings/android/BUILD.gn b/chromium/components/browser_ui/settings/android/BUILD.gn
index 806560d5d19..3f907927a63 100644
--- a/chromium/components/browser_ui/settings/android/BUILD.gn
+++ b/chromium/components/browser_ui/settings/android/BUILD.gn
@@ -16,6 +16,7 @@ android_library("java") {
"widget/java/src/org/chromium/components/browser_ui/settings/ChromeImageViewPreference.java",
"widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java",
"widget/java/src/org/chromium/components/browser_ui/settings/ExpandablePreferenceGroup.java",
+ "widget/java/src/org/chromium/components/browser_ui/settings/IconPreference.java",
"widget/java/src/org/chromium/components/browser_ui/settings/LearnMorePreference.java",
"widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java",
"widget/java/src/org/chromium/components/browser_ui/settings/TextMessagePreference.java",
@@ -25,6 +26,7 @@ android_library("java") {
"//base:base_java",
"//third_party/android_deps:android_support_v7_appcompat_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
+ "//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
"//third_party/android_deps:androidx_preference_preference_java",
"//ui/android:ui_java",
]
@@ -55,9 +57,11 @@ android_resources("java_resources") {
"java/res/layout/preference_spinner.xml",
"java/res/layout/preference_spinner_single_line.xml",
"java/res/layout/preference_spinner_single_line_item.xml",
+ "java/res/layout/settings_action_bar_shadow.xml",
"java/res/values/attrs.xml",
"java/res/values/dimens.xml",
"java/res/values/styles.xml",
]
+
custom_package = "org.chromium.components.browser_ui.settings"
}
diff --git a/chromium/components/browser_ui/settings/android/java/res/layout/settings_action_bar_shadow.xml b/chromium/components/browser_ui/settings/android/java/res/layout/settings_action_bar_shadow.xml
new file mode 100644
index 00000000000..9b326a9178a
--- /dev/null
+++ b/chromium/components/browser_ui/settings/android/java/res/layout/settings_action_bar_shadow.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2018 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. -->
+
+<!-- The shadow found below the action bar in settings.-->
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools" >
+
+ <ImageView
+ android:id="@+id/shadow"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/action_bar_shadow_height"
+ android:background="@drawable/modern_toolbar_shadow"
+ android:visibility="gone"
+ tools:ignore="ContentDescription" />
+
+</merge> \ No newline at end of file
diff --git a/chromium/components/browser_ui/settings/android/java/res/values/styles.xml b/chromium/components/browser_ui/settings/android/java/res/values/styles.xml
index dd02c6822a8..c0435c8a02a 100644
--- a/chromium/components/browser_ui/settings/android/java/res/values/styles.xml
+++ b/chromium/components/browser_ui/settings/android/java/res/values/styles.xml
@@ -29,12 +29,6 @@
<item name="android:textAppearance">@style/TextAppearance.TextMedium.Secondary</item>
</style>
- <!-- TODO(crbug.com/1077375): Consider removing this text style. -->
- <style name="TextAppearance.PreferenceMediumText" tools:ignore="UnusedResources">
- <item name="android:textSize">18sp</item>
- <item name="android:textColor">?android:attr/textColorPrimary</item>
- </style>
-
<style name="PreferenceLayout">
<item name="android:background">?android:attr/activatedBackgroundIndicator</item>
<item name="android:minHeight">?android:attr/listPreferredItemHeightSmall</item>
@@ -50,4 +44,41 @@
<item name="android:layout_marginTop">2dp</item>
<item name="android:background">@color/modern_grey_600</item>
</style>
+
+ <style name="PreferenceTheme">
+ <item name="preferenceStyle">@style/PreferenceItem</item>
+ <item name="preferenceFragmentCompatStyle">@style/SettingsFragment</item>
+ <item name="preferenceFragmentListStyle">@style/SettingsFragmentList</item>
+ <item name="dialogPreferenceStyle">@style/DialogPreference</item>
+ <item name="checkBoxPreferenceStyle">@style/CheckBoxPreference</item>
+ <item name="switchPreferenceCompatStyle">@style/SwitchPreference</item>
+ </style>
+
+ <style name="SettingsFragment">
+ <item name="android:divider">?android:attr/listDivider</item>
+ </style>
+
+ <style name="PreferenceItem">
+ <item name="android:layout">@layout/preference_compat</item>
+ </style>
+
+ <style name="SettingsFragmentList">
+ <item name="android:paddingStart">0dp</item>
+ <item name="android:paddingEnd">0dp</item>
+ </style>
+
+ <style name="DialogPreference">
+ <item name="android:layout">@layout/preference_compat</item>
+ <item name="android:negativeButtonText">@android:string/cancel</item>
+ </style>
+
+ <style name="CheckBoxPreference">
+ <item name="android:layout">@layout/preference_compat</item>
+ <item name="android:widgetLayout">@layout/preference_widget_checkbox</item>
+ </style>
+
+ <style name="SwitchPreference">
+ <item name="android:layout">@layout/preference_compat</item>
+ <item name="android:widgetLayout">@layout/preference_widget_switch_compat</item>
+ </style>
</resources>
diff --git a/chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeBasePreference.java b/chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeBasePreference.java
index 04837e74d81..6c5476db8ad 100644
--- a/chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeBasePreference.java
+++ b/chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeBasePreference.java
@@ -51,7 +51,6 @@ public class ChromeBasePreference extends Preference {
public ChromeBasePreference(Context context, AttributeSet attrs) {
super(context, attrs);
- setLayoutResource(R.layout.preference_compat);
setSingleLineTitle(false);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ChromeBasePreference);
diff --git a/chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/IconPreference.java b/chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/IconPreference.java
new file mode 100644
index 00000000000..919a222f44c
--- /dev/null
+++ b/chromium/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/IconPreference.java
@@ -0,0 +1,38 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.components.browser_ui.settings;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+import androidx.core.view.ViewCompat;
+import androidx.preference.PreferenceViewHolder;
+
+/**
+ * A preference with a horizontally centered icon.
+ */
+public class IconPreference extends ChromeBasePreference {
+ /**
+ * Constructor for inflating from XML.
+ */
+ public IconPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+
+ // Horizontally center the preference icon.
+
+ // TODO(crbug.com/1095981): move this logic to ChromeBasePreference and
+ // find a way to center it without a hard-coded padding.
+ int padding = getContext().getResources().getDimensionPixelSize(R.dimen.pref_icon_padding);
+ ImageView icon = (ImageView) holder.findViewById(android.R.id.icon);
+ ViewCompat.setPaddingRelative(
+ icon, padding, icon.getPaddingTop(), 0, icon.getPaddingBottom());
+ }
+}