summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorSetup Wizard Team <android-setup-team-eng@google.com>2019-04-25 11:08:07 +0800
committerNicole Huang <nicolehuang@google.com>2019-04-30 06:19:57 +0000
commit800095948e28b673898cd7d96e5a945c0935a1d4 (patch)
tree177e1a6f239604b994c557e22bb4fdb64f49d37a /main
parent683556acbc791c2e6d3e2529c3caac330d3e7f4c (diff)
downloadsetupdesign-800095948e28b673898cd7d96e5a945c0935a1d4.tar.gz
Import updated Android Setupdesign Library 245164738
Copied from google3/third_party/java_src/android_libs/setupdesign Bug: 129790844 Test: mm Included changes: - 245164738 Mixins use updateContentBackgroundColorWithPartnerConfig() - 245161869 update RecyclerItem background color only when heavy theme - 244793840 Suppress DayNight theme for any setupwizard flow - 244113160 Background color should only apply when heavy theme. - 243733289 Adds radius and allcaps for alert dialog in glifv3. - 243191012 Update dark mode text field color to 202124 PiperOrigin-RevId: 245164738 Change-Id: Ia410ec050c9913a01949b40b24544a5b78eefdb4
Diffstat (limited to 'main')
-rw-r--r--main/res/values/colors.xml2
-rw-r--r--main/res/values/dimens.xml1
-rw-r--r--main/res/values/styles.xml12
-rw-r--r--main/src/com/google/android/setupdesign/GlifLayout.java30
-rw-r--r--main/src/com/google/android/setupdesign/SetupWizardLayout.java2
-rw-r--r--main/src/com/google/android/setupdesign/items/RecyclerItemAdapter.java8
-rw-r--r--main/src/com/google/android/setupdesign/template/HeaderMixin.java11
-rw-r--r--main/src/com/google/android/setupdesign/template/IconMixin.java12
-rw-r--r--main/src/com/google/android/setupdesign/template/RecyclerMixin.java12
-rw-r--r--main/src/com/google/android/setupdesign/util/ThemeResolver.java2
10 files changed, 62 insertions, 30 deletions
diff --git a/main/res/values/colors.xml b/main/res/values/colors.xml
index 1e9c24c..66e1c2f 100644
--- a/main/res/values/colors.xml
+++ b/main/res/values/colors.xml
@@ -45,7 +45,7 @@
<color name="sud_color_accent_glif_v3">#ff1a73e8</color>
<color name="sud_glif_background_color_dark">#ff000000</color>
<color name="sud_glif_background_color_light">#ffffffff</color>
- <color name="sud_glif_edit_text_bg_dark_color">#0affffff</color>
+ <color name="sud_glif_edit_text_bg_dark_color">#ff202124</color>
<color name="sud_glif_edit_text_bg_light_color">#0a000000</color>
<color name="sud_glif_v3_nav_bar_color_light">#ffffffff</color>
<color name="sud_glif_v3_nav_bar_divider_color_light">#1f000000</color>
diff --git a/main/res/values/dimens.xml b/main/res/values/dimens.xml
index 57e6fe2..404d906 100644
--- a/main/res/values/dimens.xml
+++ b/main/res/values/dimens.xml
@@ -33,6 +33,7 @@
<dimen name="sud_glif_margin_sides">24dp</dimen>
<dimen name="sud_glif_margin_top">56dp</dimen>
+ <dimen name="sud_glif_alert_dialog_corner_radius">8dp</dimen>
<dimen name="sud_glif_v3_button_corner_radius">4dp</dimen>
<!-- Content styles -->
diff --git a/main/res/values/styles.xml b/main/res/values/styles.xml
index db812d8..81d769c 100644
--- a/main/res/values/styles.xml
+++ b/main/res/values/styles.xml
@@ -627,8 +627,16 @@
<item name="android:minHeight">@dimen/sud_edit_text_min_height</item>
</style>
- <style name="SudAlertDialogTheme" parent="Theme.AppCompat.Dialog.Alert" />
+ <style name="SudAlertDialogTheme" parent="Theme.AppCompat.Dialog.Alert">
+ <item name="android:textAllCaps">false</item>
+ <item name="colorAccent">@color/sud_color_accent_glif_v3</item>
+ <item name="dialogCornerRadius">@dimen/sud_glif_alert_dialog_corner_radius</item>
+ </style>
- <style name="SudAlertDialogTheme.Light" parent="Theme.AppCompat.Light.Dialog.Alert" />
+ <style name="SudAlertDialogTheme.Light" parent="Theme.AppCompat.Light.Dialog.Alert">
+ <item name="android:textAllCaps">false</item>
+ <item name="colorAccent">@color/sud_color_accent_glif_v3</item>
+ <item name="dialogCornerRadius">@dimen/sud_glif_alert_dialog_corner_radius</item>
+ </style>
</resources>
diff --git a/main/src/com/google/android/setupdesign/GlifLayout.java b/main/src/com/google/android/setupdesign/GlifLayout.java
index cb187d9..26e55d3 100644
--- a/main/src/com/google/android/setupdesign/GlifLayout.java
+++ b/main/src/com/google/android/setupdesign/GlifLayout.java
@@ -23,10 +23,10 @@ import android.content.res.TypedArray;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build.VERSION_CODES;
+import androidx.annotation.ColorInt;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
@@ -36,6 +36,8 @@ import android.widget.ProgressBar;
import android.widget.ScrollView;
import android.widget.TextView;
import com.google.android.setupcompat.PartnerCustomizationLayout;
+import com.google.android.setupcompat.partnerconfig.PartnerConfig;
+import com.google.android.setupcompat.partnerconfig.PartnerConfigHelper;
import com.google.android.setupcompat.template.StatusBarMixin;
import com.google.android.setupdesign.template.HeaderMixin;
import com.google.android.setupdesign.template.IconMixin;
@@ -71,7 +73,7 @@ public class GlifLayout extends PartnerCustomizationLayout {
private boolean backgroundPatterned = true;
- @VisibleForTesting public boolean applyPartnerHeavyThemeResource = false;
+ private boolean applyPartnerHeavyThemeResource = false;
/** The color of the background. If null, the color will inherit from primaryColor. */
@Nullable private ColorStateList backgroundBaseColor;
@@ -112,9 +114,9 @@ public class GlifLayout extends PartnerCustomizationLayout {
registerMixin(
HeaderMixin.class,
- new HeaderMixin(this, attrs, defStyleAttr, applyPartnerHeavyThemeResource));
+ new HeaderMixin(this, attrs, defStyleAttr));
registerMixin(
- IconMixin.class, new IconMixin(this, attrs, defStyleAttr, applyPartnerHeavyThemeResource));
+ IconMixin.class, new IconMixin(this, attrs, defStyleAttr));
registerMixin(ProgressBarMixin.class, new ProgressBarMixin(this));
final RequireScrollMixin requireScrollMixin = new RequireScrollMixin(this);
registerMixin(RequireScrollMixin.class, requireScrollMixin);
@@ -130,6 +132,10 @@ public class GlifLayout extends PartnerCustomizationLayout {
setPrimaryColor(primaryColor);
}
+ if (applyPartnerHeavyThemeResource) {
+ updateContentBackgroundColorWithPartnerConfig();
+ }
+
ColorStateList backgroundColor =
a.getColorStateList(R.styleable.SudGlifLayout_sudBackgroundBaseColor);
setBackgroundBaseColor(backgroundColor);
@@ -302,4 +308,20 @@ public class GlifLayout extends PartnerCustomizationLayout {
public ProgressBar peekProgressBar() {
return getMixin(ProgressBarMixin.class).peekProgressBar();
}
+
+ /**
+ * Returns if the current layout/activity applies heavy partner customized configurations or not.
+ */
+ public boolean shouldApplyPartnerHeavyThemeResource() {
+ return applyPartnerHeavyThemeResource;
+ }
+
+ /** Updates the background color of this layout with the partner-customizable background color. */
+ private void updateContentBackgroundColorWithPartnerConfig() {
+ @ColorInt
+ int color =
+ PartnerConfigHelper.get(getContext())
+ .getColor(getContext(), PartnerConfig.CONFIG_LAYOUT_BACKGROUND_COLOR);
+ this.getRootView().setBackgroundColor(color);
+ }
}
diff --git a/main/src/com/google/android/setupdesign/SetupWizardLayout.java b/main/src/com/google/android/setupdesign/SetupWizardLayout.java
index 62ceab1..5797aa7 100644
--- a/main/src/com/google/android/setupdesign/SetupWizardLayout.java
+++ b/main/src/com/google/android/setupdesign/SetupWizardLayout.java
@@ -83,7 +83,7 @@ public class SetupWizardLayout extends TemplateLayout {
registerMixin(SystemNavBarMixin.class, new SystemNavBarMixin(this, /* window= */ null));
registerMixin(
HeaderMixin.class,
- new HeaderMixin(this, attrs, defStyleAttr, /* applyPartnerResource= */ false));
+ new HeaderMixin(this, attrs, defStyleAttr));
registerMixin(ProgressBarMixin.class, new ProgressBarMixin(this));
registerMixin(NavigationBarMixin.class, new NavigationBarMixin(this));
final RequireScrollMixin requireScrollMixin = new RequireScrollMixin(this);
diff --git a/main/src/com/google/android/setupdesign/items/RecyclerItemAdapter.java b/main/src/com/google/android/setupdesign/items/RecyclerItemAdapter.java
index 3577f7e..3526bf5 100644
--- a/main/src/com/google/android/setupdesign/items/RecyclerItemAdapter.java
+++ b/main/src/com/google/android/setupdesign/items/RecyclerItemAdapter.java
@@ -60,15 +60,15 @@ public class RecyclerItemAdapter extends RecyclerView.Adapter<ItemViewHolder>
}
private final ItemHierarchy itemHierarchy;
- private final boolean applyPartnerResource;
+ @VisibleForTesting public final boolean applyPartnerHeavyThemeResource;
private OnItemSelectedListener listener;
public RecyclerItemAdapter(ItemHierarchy hierarchy) {
this(hierarchy, false);
}
- public RecyclerItemAdapter(ItemHierarchy hierarchy, boolean applyPartnerResource) {
- this.applyPartnerResource = applyPartnerResource;
+ public RecyclerItemAdapter(ItemHierarchy hierarchy, boolean applyPartnerHeavyThemeResource) {
+ this.applyPartnerHeavyThemeResource = applyPartnerHeavyThemeResource;
itemHierarchy = hierarchy;
itemHierarchy.registerObserver(this);
}
@@ -118,7 +118,7 @@ public class RecyclerItemAdapter extends RecyclerView.Adapter<ItemViewHolder>
} else {
background = view.getBackground();
if (background == null) {
- if (applyPartnerResource) {
+ if (applyPartnerHeavyThemeResource) {
int color =
PartnerConfigHelper.get(view.getContext())
.getColor(view.getContext(), PartnerConfig.CONFIG_LAYOUT_BACKGROUND_COLOR);
diff --git a/main/src/com/google/android/setupdesign/template/HeaderMixin.java b/main/src/com/google/android/setupdesign/template/HeaderMixin.java
index 181561c..c2ad460 100644
--- a/main/src/com/google/android/setupdesign/template/HeaderMixin.java
+++ b/main/src/com/google/android/setupdesign/template/HeaderMixin.java
@@ -36,6 +36,7 @@ import com.google.android.setupcompat.internal.TemplateLayout;
import com.google.android.setupcompat.partnerconfig.PartnerConfig;
import com.google.android.setupcompat.partnerconfig.PartnerConfigHelper;
import com.google.android.setupcompat.template.Mixin;
+import com.google.android.setupdesign.GlifLayout;
import java.util.Locale;
/**
@@ -49,13 +50,9 @@ public class HeaderMixin implements Mixin {
* @param layout The layout this Mixin belongs to.
* @param attrs XML attributes given to the layout.
* @param defStyleAttr The default style attribute as given to the constructor of the layout.
- * @param applyPartnerResource Whether to apply partner resources or not.
*/
public HeaderMixin(
- @NonNull TemplateLayout layout,
- @Nullable AttributeSet attrs,
- @AttrRes int defStyleAttr,
- boolean applyPartnerResource) {
+ @NonNull TemplateLayout layout, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) {
templateLayout = layout;
final Context context = layout.getContext();
@@ -79,7 +76,9 @@ public class HeaderMixin implements Mixin {
a.recycle();
TextView header = layout.findManagedViewById(R.id.suc_layout_title);
- if (header != null && applyPartnerResource) {
+ if (header != null
+ && (layout instanceof GlifLayout)
+ && ((GlifLayout) layout).shouldApplyPartnerHeavyThemeResource()) {
applyPartnerCustomizationStyle(context, header);
}
}
diff --git a/main/src/com/google/android/setupdesign/template/IconMixin.java b/main/src/com/google/android/setupdesign/template/IconMixin.java
index d0a85c3..334d473 100644
--- a/main/src/com/google/android/setupdesign/template/IconMixin.java
+++ b/main/src/com/google/android/setupdesign/template/IconMixin.java
@@ -31,6 +31,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import com.google.android.setupcompat.internal.TemplateLayout;
import com.google.android.setupcompat.template.Mixin;
+import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.R;
import com.google.android.setupdesign.util.PartnerStyleHelper;
@@ -49,13 +50,8 @@ public class IconMixin implements Mixin {
* @param layout The template layout that this Mixin is a part of.
* @param attrs XML attributes given to the layout.
* @param defStyleAttr The default style attribute as given to the constructor of the layout.
- * @param shouldApplyPartnerResource Whether to apply partner resources or not.
*/
- public IconMixin(
- TemplateLayout layout,
- AttributeSet attrs,
- int defStyleAttr,
- boolean shouldApplyPartnerResource) {
+ public IconMixin(TemplateLayout layout, AttributeSet attrs, int defStyleAttr) {
templateLayout = layout;
final Context context = layout.getContext();
@@ -89,7 +85,9 @@ public class IconMixin implements Mixin {
a.recycle();
ImageView iconImage = layout.findManagedViewById(R.id.sud_layout_icon);
- if (iconImage != null && shouldApplyPartnerResource) {
+ if (iconImage != null
+ && (layout instanceof GlifLayout)
+ && ((GlifLayout) layout).shouldApplyPartnerHeavyThemeResource()) {
applyPartnerCustomizationStyle(context, iconImage);
}
}
diff --git a/main/src/com/google/android/setupdesign/template/RecyclerMixin.java b/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
index d017916..11e9144 100644
--- a/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
+++ b/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
@@ -29,10 +29,10 @@ import androidx.recyclerview.widget.RecyclerView.Adapter;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import android.util.AttributeSet;
import android.view.View;
-import com.google.android.setupcompat.PartnerCustomizationLayout;
import com.google.android.setupcompat.internal.TemplateLayout;
import com.google.android.setupcompat.template.Mixin;
import com.google.android.setupdesign.DividerItemDecoration;
+import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.R;
import com.google.android.setupdesign.items.ItemHierarchy;
import com.google.android.setupdesign.items.ItemInflater;
@@ -107,10 +107,14 @@ public class RecyclerMixin implements Mixin {
if (entries != 0) {
final ItemHierarchy inflated = new ItemInflater(context).inflate(entries);
- boolean applyPartnerResource =
- ((PartnerCustomizationLayout) templateLayout).shouldApplyPartnerResource();
+ boolean applyPartnerHeavyThemeResource = false;
+ if (templateLayout instanceof GlifLayout) {
+ applyPartnerHeavyThemeResource =
+ ((GlifLayout) templateLayout).shouldApplyPartnerHeavyThemeResource();
+ }
- final RecyclerItemAdapter adapter = new RecyclerItemAdapter(inflated, applyPartnerResource);
+ final RecyclerItemAdapter adapter =
+ new RecyclerItemAdapter(inflated, applyPartnerHeavyThemeResource);
adapter.setHasStableIds(a.getBoolean(R.styleable.SudRecyclerMixin_sudHasStableIds, false));
setAdapter(adapter);
}
diff --git a/main/src/com/google/android/setupdesign/util/ThemeResolver.java b/main/src/com/google/android/setupdesign/util/ThemeResolver.java
index 03d90e5..98b8883 100644
--- a/main/src/com/google/android/setupdesign/util/ThemeResolver.java
+++ b/main/src/com/google/android/setupdesign/util/ThemeResolver.java
@@ -82,7 +82,7 @@ public class ThemeResolver {
public int resolve(Intent intent) {
return resolve(
intent.getStringExtra(WizardManagerHelper.EXTRA_THEME),
- /* suppressDayNight= */ WizardManagerHelper.isSetupWizardIntent(intent));
+ /* suppressDayNight= */ WizardManagerHelper.isAnySetupWizard(intent));
}
/**