summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSetup Wizard Team <android-setup-team-eng@google.com>2022-03-04 18:28:41 +0800
committerpastychang <pastychang@google.com>2022-03-09 20:06:07 +0800
commit84983c34f8a9982d416fa495cade79c6282c6722 (patch)
tree6c966a1b5436fc3236c794765d3556bba0e39d09
parentc7210e4275d1da3767d2939d75ea898903820279 (diff)
downloadsetupdesign-84983c34f8a9982d416fa495cade79c6282c6722.tar.gz
Import updated Android Setupdesign Library 432397943
Copied from google3/third_party/java_src/android_libs/setupdesign Test: mm Included changes: - 432397943 Edge to Edge, eliminate the navigation bar divider. - 432341362 Make the loadinglayout header height match parent in land... - 432061547 Fix the wrong padding top on landscape loading screen - 431614278 Updates the new color scheme - 430955940 Rollin the header section support again(cl/430632447) and... - 430906695 Automated g4 rollback of changelist 430632447. - 430646242 Fix card view fit layout in fullscreen mode - 430632447 [SetupDesign] update default value for Glifv4 - header se... - 429495738 migrate some material style to Glifv4 theme. - 428987926 Update the edit box corner radius. - 428716981 Add a partnerconfig for loading animation finished. - 428618706 Cloned CL/423965608 - 428389234 Update targetSdkVersion to 32 of unit tests - 423478198 Add the sudDividerShown in recycler mixin. - 422744910 [Tablet] Add default values of GlifLayout into setupdesig... - 422734768 Add target api check for android attribute. PiperOrigin-RevId: 432397943 Change-Id: I700a6b49ac4f2830833dc8f7364beb9f72c3b4a0
-rw-r--r--exempting_lint_checks.txt26
-rw-r--r--lottie_loading_layout/AndroidManifest.xml2
-rw-r--r--lottie_loading_layout/res/layout-land-v31/sud_glif_loading_template_content.xml2
-rw-r--r--lottie_loading_layout/src/com/google/android/setupdesign/GlifLoadingLayout.java16
-rw-r--r--main/res/layout/sud_glif_header.xml9
-rw-r--r--main/res/values-land/dimens.xml4
-rw-r--r--main/res/values-night-v31/colors.xml11
-rw-r--r--main/res/values-sw600dp-land/dimens.xml4
-rw-r--r--main/res/values-sw600dp-v31/dimens.xml9
-rw-r--r--main/res/values-sw600dp/dimens.xml19
-rw-r--r--main/res/values-v31/colors.xml23
-rw-r--r--main/res/values-v31/styles.xml58
-rw-r--r--main/res/values-v33/colors.xml4
-rw-r--r--main/res/values/attrs.xml10
-rw-r--r--main/res/values/colors.xml14
-rw-r--r--main/res/values/dimens.xml24
-rw-r--r--main/res/values/styles.xml106
-rw-r--r--main/src/com/google/android/setupdesign/template/RecyclerMixin.java23
-rw-r--r--main/src/com/google/android/setupdesign/view/IntrinsicSizeFrameLayout.java10
-rw-r--r--strings/AndroidManifest.xml2
20 files changed, 305 insertions, 71 deletions
diff --git a/exempting_lint_checks.txt b/exempting_lint_checks.txt
index b6d4d30..949488a 100644
--- a/exempting_lint_checks.txt
+++ b/exempting_lint_checks.txt
@@ -63,3 +63,29 @@ third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupd
third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/RichTextView.java: DiscouragedApi: .getIdentifier(textAppearance, "style", context.getPackageName());
third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/StickyHeaderListView.java: CustomViewStyleable: .obtainStyledAttributes(attrs, R.styleable.SudStickyHeaderListView, defStyleAttr, 0);
third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/StickyHeaderScrollView.java: ObsoleteSdkInt: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/GlifLayout.java: CustomViewStyleable: getContext().obtainStyledAttributes(attrs, R.styleable.SudGlifLayout, defStyleAttr, 0);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/GlifLayout.java: NewApi: LayoutStyler.applyPartnerCustomizationExtraPaddingStyle(view);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/GlifLayout.java: NewApi: tryApplyPartnerCustomizationContentPaddingTopStyle(view);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/GlifListLayout.java: NewApi: tryApplyPartnerCustomizationContentPaddingTopStyle(view);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/GlifRecyclerLayout.java: NewApi: tryApplyPartnerCustomizationContentPaddingTopStyle(view);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/SetupWizardLayout.java: CustomViewStyleable: .obtainStyledAttributes(attrs, R.styleable.SudSetupWizardLayout, defStyleAttr, 0);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java: NewApi: LayoutStyler.applyPartnerCustomizationLayoutPaddingStyle(content);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/items/Item.java: NewApi: ItemStyler.applyPartnerCustomizationItemStyle(view);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/items/Item.java: NewApi: LayoutStyler.applyPartnerCustomizationLayoutPaddingStyle(view);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/items/RecyclerItemAdapter.java: NotifyDataSetChanged: notifyDataSetChanged();
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/template/HeaderMixin.java: NewApi: LayoutStyler.applyPartnerCustomizationExtraPaddingStyle(headerAreaView);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/util/Partner.java: DiscouragedApi: return resources.getIdentifier(name, defType, packageName);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/util/TextViewPartnerStyler.java: NewApi: ((RichTextView) textView).setSpanTypeface(linkFont);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/FillContentLayout.java: CustomViewStyleable: context.obtainStyledAttributes(attrs, R.styleable.SudFillContentLayout, defStyleAttr, 0);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/HeaderRecyclerView.java: CustomViewStyleable: .obtainStyledAttributes(attrs, R.styleable.SudHeaderRecyclerView, defStyleAttr, 0);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/HeaderRecyclerView.java: NotifyDataSetChanged: notifyDataSetChanged();
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/IconUniformityAppImageView.java: AnnotateVersionCheck: private static final boolean ON_L_PLUS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/Illustration.java: CustomViewStyleable: getContext().obtainStyledAttributes(attrs, R.styleable.SudIllustration, defStyleAttr, 0);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/IllustrationVideoView.java: CustomViewStyleable: context.obtainStyledAttributes(attrs, R.styleable.SudIllustrationVideoView);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/IntrinsicSizeFrameLayout.java: CustomViewStyleable: attrs, R.styleable.SudIntrinsicSizeFrameLayout, defStyleAttr, 0);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/NavigationBar.java: ResourceType: @StyleableRes int colorBackground = 2;
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/NavigationBar.java: ResourceType: @StyleableRes int colorForeground = 1;
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/RichTextView.java: DiscouragedApi: .getIdentifier(textAppearance, "style", context.getPackageName());
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/RichTextView.java: NewApi: text = getRichText(getContext(), text);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/StickyHeaderListView.java: CustomViewStyleable: .obtainStyledAttributes(attrs, R.styleable.SudStickyHeaderListView, defStyleAttr, 0);
+third_party/java_src/android_libs/setupdesign/main/src/com/google/android/setupdesign/view/StickyHeaderScrollView.java: ObsoleteSdkInt: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
diff --git a/lottie_loading_layout/AndroidManifest.xml b/lottie_loading_layout/AndroidManifest.xml
index 67c363d..3053930 100644
--- a/lottie_loading_layout/AndroidManifest.xml
+++ b/lottie_loading_layout/AndroidManifest.xml
@@ -20,6 +20,6 @@
<uses-sdk
android:minSdkVersion="14"
- android:targetSdkVersion="31" />
+ android:targetSdkVersion="32" />
</manifest>
diff --git a/lottie_loading_layout/res/layout-land-v31/sud_glif_loading_template_content.xml b/lottie_loading_layout/res/layout-land-v31/sud_glif_loading_template_content.xml
index 4473c52..ef0ba71 100644
--- a/lottie_loading_layout/res/layout-land-v31/sud_glif_loading_template_content.xml
+++ b/lottie_loading_layout/res/layout-land-v31/sud_glif_loading_template_content.xml
@@ -57,12 +57,12 @@
<LinearLayout
android:id="@+id/sud_landscape_content_area"
style="@style/SudLandContentContianerStyle"
- android:paddingTop="?attr/sudGlifContentPaddingTop"
android:focusedByDefault="false"
android:orientation="vertical">
<FrameLayout
android:id="@+id/sud_layout_loading_content"
+ android:paddingTop="?attr/sudGlifContentPaddingTop"
android:layout_width="match_parent"
android:layout_height="match_parent">
diff --git a/lottie_loading_layout/src/com/google/android/setupdesign/GlifLoadingLayout.java b/lottie_loading_layout/src/com/google/android/setupdesign/GlifLoadingLayout.java
index 7874b75..db0b1f3 100644
--- a/lottie_loading_layout/src/com/google/android/setupdesign/GlifLoadingLayout.java
+++ b/lottie_loading_layout/src/com/google/android/setupdesign/GlifLoadingLayout.java
@@ -24,6 +24,7 @@ import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.ColorFilter;
@@ -60,8 +61,8 @@ import com.google.android.setupcompat.partnerconfig.ResourceEntry;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.util.BuildCompatUtils;
import com.google.android.setupdesign.lottieloadinglayout.R;
-import com.google.android.setupdesign.view.IllustrationVideoView;
import com.google.android.setupdesign.util.LayoutStyler;
+import com.google.android.setupdesign.view.IllustrationVideoView;
import java.io.InputStream;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -391,9 +392,11 @@ public class GlifLoadingLayout extends GlifLayout {
private void updateHeaderHeight() {
View headerView = findManagedViewById(R.id.sud_header_scroll_view);
+ Configuration currentConfig = getResources().getConfiguration();
if (headerView != null
&& PartnerConfigHelper.get(getContext())
- .isPartnerConfigAvailable(PartnerConfig.CONFIG_LOADING_LAYOUT_HEADER_HEIGHT)) {
+ .isPartnerConfigAvailable(PartnerConfig.CONFIG_LOADING_LAYOUT_HEADER_HEIGHT)
+ && currentConfig.orientation != Configuration.ORIENTATION_LANDSCAPE) {
float configHeaderHeight =
PartnerConfigHelper.get(getContext())
.getDimension(getContext(), PartnerConfig.CONFIG_LOADING_LAYOUT_HEADER_HEIGHT);
@@ -853,10 +856,17 @@ public class GlifLoadingLayout extends GlifLayout {
this.runnable = runnable;
this.lottieAnimationView = glifLoadingLayout.findLottieAnimationView();
+ boolean shouldAnimationBeFinished =
+ PartnerConfigHelper.get(glifLoadingLayout.getContext())
+ .getBoolean(
+ glifLoadingLayout.getContext(),
+ PartnerConfig.CONFIG_LOADING_LAYOUT_WAIT_FOR_ANIMATION_FINISHED,
+ true);
// TODO: add test case for verify the case which isAnimating returns true.
if (glifLoadingLayout.isLottieLayoutVisible()
&& lottieAnimationView.isAnimating()
- && !isZeroAnimatorDurationScale()) {
+ && !isZeroAnimatorDurationScale()
+ && shouldAnimationBeFinished) {
Log.i(TAG, "Register animation finish.");
lottieAnimationView.addAnimatorListener(animatorListener);
lottieAnimationView.setRepeatCount(0);
diff --git a/main/res/layout/sud_glif_header.xml b/main/res/layout/sud_glif_header.xml
index 1bbde55..70b8daa 100644
--- a/main/res/layout/sud_glif_header.xml
+++ b/main/res/layout/sud_glif_header.xml
@@ -31,20 +31,15 @@
<ImageView
android:id="@+id/sud_layout_icon"
style="?attr/sudGlifIconStyle"
- android:layout_marginLeft="0dp"
- android:layout_marginRight="0dp"
- android:layout_marginTop="0dp"
- android:layout_marginBottom="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
- android:layout_gravity="?attr/sudGlifHeaderGravity"
android:visibility="gone" />
</FrameLayout>
<TextView
android:id="@+id/suc_layout_title"
- style="@style/SudGlifHeaderTitle"
+ style="?attr/sudGlifHeaderTitleStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
@@ -61,7 +56,7 @@
<com.google.android.setupdesign.view.RichTextView
android:id="@+id/sud_layout_subtitle"
- style="@style/SudGlifDescription"
+ style="?attr/sudGlifDescriptionStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
diff --git a/main/res/values-land/dimens.xml b/main/res/values-land/dimens.xml
index 49ed20d..dfdc5b2 100644
--- a/main/res/values-land/dimens.xml
+++ b/main/res/values-land/dimens.xml
@@ -45,4 +45,8 @@
<dimen name="sud_content_loading_frame_padding_end">0dp</dimen>
<dimen name="sud_content_loading_frame_padding_bottom">24dp</dimen>
+ <!-- Page Margins Material You -->
+ <dimen name="sud_glif_margin_start_material_you">32dp</dimen>
+ <dimen name="sud_glif_margin_end_material_you">32dp</dimen>
+
</resources>
diff --git a/main/res/values-night-v31/colors.xml b/main/res/values-night-v31/colors.xml
index f929595..76e2b2b 100644
--- a/main/res/values-night-v31/colors.xml
+++ b/main/res/values-night-v31/colors.xml
@@ -20,14 +20,15 @@
<color name="sud_dynamic_color_accent_glif_v3">@color/sud_dynamic_color_accent_glif_v3_dark</color>
- <color name="sud_system_primary_text">@color/sud_system_neutral1_50</color>
- <color name="sud_system_secondary_text">@color/sud_system_neutral2_200</color>
- <color name="sud_system_tertiary_text_inactive">@color/sud_system_neutral2_400</color>
+ <color name="sud_system_primary_text">@color/sud_system_neutral1_0</color>
+ <color name="sud_system_secondary_text">@color/sud_system_neutral1_200</color>
+ <color name="sud_system_tertiary_text_inactive">@color/sud_system_neutral1_300</color>
<color name="sud_system_error_warning">@color/sud_error_warning_default_dark</color>
- <color name="sud_system_background_surface">@color/sud_system_neutral1_900</color>
+ <color name="sud_system_background_surface">@color/sud_system_neutral1_1000</color>
<color name="sud_system_accent_icon_text_button">@color/sud_system_accent1_100</color>
<color name="sud_system_button_surface">@color/sud_system_accent1_100</color>
<color name="sud_system_button_text">@color/sud_system_neutral1_900</color>
- <color name="sud_system_dividing_line">@color/sud_system_neutral2_300</color>
+ <color name="sud_system_dividing_line">@color/sud_system_neutral1_600</color>
+ <color name="sud_system_hyperlink_text">@color/sud_system_accent1_300</color>
</resources> \ No newline at end of file
diff --git a/main/res/values-sw600dp-land/dimens.xml b/main/res/values-sw600dp-land/dimens.xml
index d68c884..b9bae55 100644
--- a/main/res/values-sw600dp-land/dimens.xml
+++ b/main/res/values-sw600dp-land/dimens.xml
@@ -23,4 +23,8 @@
<!-- Illustration -->
<item name="sud_illustration_aspect_ratio" format="float" type="dimen">0.0</item>
+ <!-- Page Margins Material You -->
+ <dimen name="sud_glif_margin_start_material_you">48dp</dimen>
+ <dimen name="sud_glif_margin_end_material_you">48dp</dimen>
+
</resources>
diff --git a/main/res/values-sw600dp-v31/dimens.xml b/main/res/values-sw600dp-v31/dimens.xml
index f3f3aba..556b872 100644
--- a/main/res/values-sw600dp-v31/dimens.xml
+++ b/main/res/values-sw600dp-v31/dimens.xml
@@ -26,9 +26,12 @@
<dimen name="sud_glif_footer_padding_start">48dp</dimen>
<!-- Calculated by (sud_glif_margin_end - 4dp internal padding of button) -->
<dimen name="sud_glif_footer_padding_end">60dp</dimen>
- <!-- Default margin start/end should be 96dp in portrait mode for the large screen. However, If
- you set this value, you can no longer overwrite a smaller value from partner config. So
- here is set to 64dp and rewritten to 96dp through partner config. -->
+ <!-- Default margins start/end are 96dp in portrait mode for the large screen. However, If here
+ set this value, it cannot be overwrited by a smaller value from partner config. So here
+ set to 64dp and rewritten to 96dp through partner config the partner config
+ "setup_design_layout_margin_start" & "setup_design_layout_margin_end" for glifv3 default
+ margins. -->
+ <!-- TODO: b/221404901 to remove this limitation -->
<dimen name="sud_glif_margin_start">64dp</dimen>
<dimen name="sud_glif_margin_end">64dp</dimen>
diff --git a/main/res/values-sw600dp/dimens.xml b/main/res/values-sw600dp/dimens.xml
index b7802b1..388507e 100644
--- a/main/res/values-sw600dp/dimens.xml
+++ b/main/res/values-sw600dp/dimens.xml
@@ -18,10 +18,14 @@
<resources>
<!-- General -->
+ <!-- Calculated by (sud_glif_margin_start - sud_glif_button_padding) -->
+ <dimen name="sud_glif_button_margin_start">24dp</dimen>
<!-- Calculated by (sud_glif_margin_start - 4dp internal padding of button) -->
<dimen name="sud_glif_button_margin_end">36dp</dimen>
<!-- Calculated by (sud_glif_margin_start - sud_glif_button_padding) -->
- <dimen name="sud_glif_button_margin_start">24dp</dimen>
+ <dimen name="sud_glif_footer_padding_start">24dp</dimen>
+ <!-- Calculated by (sud_glif_margin_end - 4dp internal padding of button) -->
+ <dimen name="sud_glif_footer_padding_end">36dp</dimen>
<dimen name="sud_glif_margin_start">40dp</dimen>
<dimen name="sud_glif_margin_end">40dp</dimen>
@@ -38,4 +42,17 @@
<dimen name="sud_items_glif_icon_divider_inset">88dp</dimen>
<dimen name="sud_items_glif_text_divider_inset">40dp</dimen>
+ <!-- Page Margins Material You -->
+ <!-- Default margins start/end are 120dp in portrait mode for the large screen. However, If here
+ set this value, it cannot be overwrited by a smaller value from partner config. So here
+ set to 64dp and rewritten to 120dp through partner config the partner config
+ "setup_design_layout_margin_start" & "setup_design_layout_margin_end" for glifv4 default
+ margins. -->
+ <!-- TODO: b/221404901 to remove this limitation -->
+ <dimen name="sud_glif_margin_start_material_you">64dp</dimen>
+ <dimen name="sud_glif_margin_end_material_you">64dp</dimen>
+ <!-- Header Area Material You -->
+ <dimen name="sud_glif_header_title_size_material_you">44sp</dimen>
+ <dimen name="sud_glif_icon_margin_top_material_you">24dp</dimen>
+
</resources>
diff --git a/main/res/values-v31/colors.xml b/main/res/values-v31/colors.xml
index 3db968b..07298d1 100644
--- a/main/res/values-v31/colors.xml
+++ b/main/res/values-v31/colors.xml
@@ -48,14 +48,24 @@
<color name="sud_system_neutral1_50">@android:color/system_neutral1_50</color>
+ <color name="sud_system_neutral1_200">@android:color/system_neutral1_200</color>
+
+ <color name="sud_system_neutral1_300">@android:color/system_neutral1_300</color>
+
<color name="sud_system_neutral1_400">@android:color/system_neutral1_400</color>
+ <color name="sud_system_neutral1_500">@android:color/system_neutral1_500</color>
+
+ <color name="sud_system_neutral1_600">@android:color/system_neutral1_600</color>
+
<color name="sud_system_neutral1_700">@android:color/system_neutral1_700</color>
<color name="sud_system_neutral1_800">@android:color/system_neutral1_800</color>
<color name="sud_system_neutral1_900">@android:color/system_neutral1_900</color>
+ <color name="sud_system_neutral1_1000">@android:color/system_neutral1_1000</color>
+
<color name="sud_system_neutral2_50">@android:color/system_neutral2_50</color>
@@ -74,14 +84,15 @@
<color name="sud_system_primary_text">@color/sud_system_neutral1_900</color>
- <color name="sud_system_secondary_text">@color/sud_system_neutral2_700</color>
- <color name="sud_system_tertiary_text_inactive">@color/sud_system_neutral2_500</color>
+ <color name="sud_system_secondary_text">@color/sud_system_neutral1_700</color>
+ <color name="sud_system_tertiary_text_inactive">@color/sud_system_neutral1_600</color>
<color name="sud_system_error_warning">@color/sud_error_warning_default_light</color>
- <color name="sud_system_background_surface">@color/sud_system_neutral1_50</color>
+ <color name="sud_system_background_surface">@color/sud_system_neutral1_0</color>
<color name="sud_system_accent_icon_text_button">@color/sud_system_accent1_600</color>
- <color name="sud_system_button_surface">@color/sud_system_accent1_100</color>
- <color name="sud_system_button_text">@color/sud_system_neutral1_900</color>
- <color name="sud_system_dividing_line">@color/sud_system_neutral2_300</color>
+ <color name="sud_system_button_surface">@color/sud_system_accent1_600</color>
+ <color name="sud_system_button_text">@color/sud_system_neutral1_50</color>
+ <color name="sud_system_dividing_line">@color/sud_system_neutral1_500</color>
+ <color name="sud_system_hyperlink_text">@color/sud_system_accent1_600</color>
<color name="sud_dynamic_switch_thumb_off_light">@color/sud_system_neutral2_300</color>
diff --git a/main/res/values-v31/styles.xml b/main/res/values-v31/styles.xml
index cf98b0b..7e59aa5 100644
--- a/main/res/values-v31/styles.xml
+++ b/main/res/values-v31/styles.xml
@@ -19,7 +19,7 @@
<!-- Main theme for dynamic color -->
<style name="SudDynamicColorTheme">
<item name="colorAccent">@color/sud_dynamic_color_accent_glif_v3_dark</item>
- <item name="android:textColorLink">@color/sud_system_accent1_300</item>
+ <item name="android:textColorLink">@color/sud_system_hyperlink_text</item>
<item name="alertDialogTheme">@style/SudDynamicColorAlertDialogThemeCompat</item>
<item name="android:datePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme</item>
<item name="android:timePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme</item>
@@ -33,7 +33,7 @@
<style name="SudDynamicColorTheme.Light">
<item name="colorAccent">@color/sud_dynamic_color_accent_glif_v3_light</item>
- <item name="android:textColorLink">@color/sud_system_accent1_600</item>
+ <item name="android:textColorLink">@color/sud_system_hyperlink_text</item>
<item name="alertDialogTheme">@style/SudDynamicColorAlertDialogThemeCompat.Light</item>
<item name="android:datePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme.Light</item>
<item name="android:timePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme.Light</item>
@@ -46,13 +46,13 @@
</style>
<style name="SudFullDynamicColorTheme" parent="SudDynamicColorTheme">
- <item name="android:windowBackground">@android:color/system_neutral1_900</item>
+ <item name="android:windowBackground">@color/sud_system_background_surface</item>
<item name="android:colorForeground">@android:color/system_neutral1_50</item>
- <item name="android:colorForegroundInverse">@android:color/system_neutral1_900</item>
- <item name="android:colorBackground">@android:color/system_neutral1_900</item>
- <item name="android:colorBackgroundCacheHint">@android:color/system_neutral1_900</item>
- <item name="colorBackgroundFloating">@android:color/system_neutral1_900</item>
- <item name="android:navigationBarColor">@android:color/system_neutral1_900</item>
+ <item name="android:colorForegroundInverse">@color/sud_system_background_surface</item>
+ <item name="android:colorBackground">@color/sud_system_background_surface</item>
+ <item name="android:colorBackgroundCacheHint">@color/sud_system_background_surface</item>
+ <item name="colorBackgroundFloating">@color/sud_system_background_surface</item>
+ <item name="android:navigationBarColor">@color/sud_system_background_surface</item>
<item name="android:textColorPrimary">@color/sud_system_primary_text</item>
<item name="android:textColorSecondary">@color/sud_system_secondary_text</item>
@@ -71,13 +71,13 @@
</style>
<style name="SudFullDynamicColorTheme.Light" parent="SudDynamicColorTheme.Light">
- <item name="android:windowBackground">@android:color/system_neutral1_50</item>
+ <item name="android:windowBackground">@color/sud_system_background_surface</item>
<item name="android:colorForeground">@android:color/system_neutral1_900</item>
- <item name="android:colorForegroundInverse">@android:color/system_neutral1_50</item>
- <item name="android:colorBackground">@android:color/system_neutral1_50</item>
- <item name="android:colorBackgroundCacheHint">@@android:color/system_neutral1_50</item>
- <item name="colorBackgroundFloating">@android:color/system_neutral1_50</item>
- <item name="android:navigationBarColor">@android:color/system_neutral1_50</item>
+ <item name="android:colorForegroundInverse">@color/sud_system_background_surface</item>
+ <item name="android:colorBackground">@color/sud_system_background_surface</item>
+ <item name="android:colorBackgroundCacheHint">@color/sud_system_background_surface</item>
+ <item name="colorBackgroundFloating">@color/sud_system_background_surface</item>
+ <item name="android:navigationBarColor">@color/sud_system_background_surface</item>
<item name="android:textColorPrimary">@color/sud_system_primary_text</item>
<item name="android:textColorSecondary">@color/sud_system_secondary_text</item>
@@ -98,7 +98,7 @@
<!-- TODO: cleanup the Glifv3 dependent dynamic color theme -->
<style name="SudDynamicColorThemeGlifV3" parent="SudThemeGlifV3">
<item name="colorAccent">@color/sud_dynamic_color_accent_glif_v3_dark</item>
- <item name="android:textColorLink">@color/sud_system_accent1_300</item>
+ <item name="android:textColorLink">@color/sud_system_hyperlink_text</item>
<item name="alertDialogTheme">@style/SudDynamicColorAlertDialogThemeCompat</item>
<item name="android:datePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme</item>
<item name="android:timePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme</item>
@@ -112,7 +112,7 @@
<style name="SudDynamicColorThemeGlifV3.Light" parent="SudThemeGlifV3.Light">
<item name="colorAccent">@color/sud_dynamic_color_accent_glif_v3_light</item>
- <item name="android:textColorLink">@color/sud_system_accent1_600</item>
+ <item name="android:textColorLink">@color/sud_system_hyperlink_text</item>
<item name="alertDialogTheme">@style/SudDynamicColorAlertDialogThemeCompat.Light</item>
<item name="android:datePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme.Light</item>
<item name="android:timePickerDialogTheme">@style/SudDynamicColorDateTimePickerDialogTheme.Light</item>
@@ -125,13 +125,13 @@
</style>
<style name="SudFullDynamicColorThemeGlifV3" parent="SudDynamicColorThemeGlifV3">
- <item name="android:windowBackground">@android:color/system_neutral1_900</item>
- <item name="android:colorForeground">@android:color/system_neutral1_50</item>
- <item name="android:colorForegroundInverse">@android:color/system_neutral1_900</item>
- <item name="android:colorBackground">@android:color/system_neutral1_900</item>
- <item name="android:colorBackgroundCacheHint">@android:color/system_neutral1_900</item>
- <item name="colorBackgroundFloating">@android:color/system_neutral1_900</item>
- <item name="android:navigationBarColor">@android:color/system_neutral1_900</item>
+ <item name="android:windowBackground">@color/sud_system_background_surface</item>
+ <item name="android:colorForeground">@android:color/system_neutral1_0</item>
+ <item name="android:colorForegroundInverse">@color/sud_system_background_surface</item>
+ <item name="android:colorBackground">@color/sud_system_background_surface</item>
+ <item name="android:colorBackgroundCacheHint">@color/sud_system_background_surface</item>
+ <item name="colorBackgroundFloating">@color/sud_system_background_surface</item>
+ <item name="android:navigationBarColor">@color/sud_system_background_surface</item>
<item name="android:textColorPrimary">@color/sud_system_primary_text</item>
<item name="android:textColorSecondary">@color/sud_system_secondary_text</item>
@@ -150,13 +150,13 @@
</style>
<style name="SudFullDynamicColorThemeGlifV3.Light" parent="SudDynamicColorThemeGlifV3.Light">
- <item name="android:windowBackground">@android:color/system_neutral1_50</item>
+ <item name="android:windowBackground">@color/sud_system_background_surface</item>
<item name="android:colorForeground">@android:color/system_neutral1_900</item>
- <item name="android:colorForegroundInverse">@android:color/system_neutral1_50</item>
- <item name="android:colorBackground">@android:color/system_neutral1_50</item>
- <item name="android:colorBackgroundCacheHint">@@android:color/system_neutral1_50</item>
- <item name="colorBackgroundFloating">@android:color/system_neutral1_50</item>
- <item name="android:navigationBarColor">@android:color/system_neutral1_50</item>
+ <item name="android:colorForegroundInverse">@color/sud_system_background_surface</item>
+ <item name="android:colorBackground">@color/sud_system_background_surface</item>
+ <item name="android:colorBackgroundCacheHint">@color/sud_system_background_surface</item>
+ <item name="colorBackgroundFloating">@color/sud_system_background_surface</item>
+ <item name="android:navigationBarColor">@color/sud_system_background_surface</item>
<item name="android:textColorPrimary">@color/sud_system_primary_text</item>
<item name="android:textColorSecondary">@color/sud_system_secondary_text</item>
diff --git a/main/res/values-v33/colors.xml b/main/res/values-v33/colors.xml
new file mode 100644
index 0000000..92422db
--- /dev/null
+++ b/main/res/values-v33/colors.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="sud_glif_v3_nav_bar_divider_color_light">@android:color/transparent</color>
+</resources>
diff --git a/main/res/values/attrs.xml b/main/res/values/attrs.xml
index 61798dd..6a3d9a4 100644
--- a/main/res/values/attrs.xml
+++ b/main/res/values/attrs.xml
@@ -24,6 +24,7 @@
<attr name="sudEditTextBackgroundColor" format="color" />
<attr name="sudButtonHighlightAlpha" format="float" />
+ <attr name="sudGlifHeaderTitleStyle" format="reference" />
<!-- Subset of values in "gravity" in frameworks/base/core/res/res/values/attrs.xml. Only
horizontal values are listed here as the header does not support vertical gravity. -->
<attr name="sudGlifHeaderGravity">
@@ -59,6 +60,8 @@
<attr name="sudGlifIconStyle" format="reference" />
<attr name="sudGlifIconSize" format="dimension" />
+ <attr name="sudGlifDescriptionStyle" format="reference" />
+
<attr name="sudButtonAllCaps" format="boolean" />
<attr name="sudButtonCornerRadius" format="dimension" />
<attr name="sudButtonFontFamily" format="string|reference" />
@@ -121,8 +124,15 @@
<attr name="sudItemDescriptionTitleStyle" format="reference" />
<attr name="sudContentFramePaddingTop" format="dimension|reference" />
<attr name="sudContentFramePaddingBottom" format="dimension|reference" />
+
+ <!-- EditBox -->
<attr name="sudEditBoxStyle" format="reference" />
<attr name="sudEditBoxColor" format="reference" />
+ <attr name="boxCornerRadiusTopStart" format="dimension"/>
+ <attr name="boxCornerRadiusTopEnd" format="dimension"/>
+ <attr name="boxCornerRadiusBottomStart" format="dimension"/>
+ <attr name="boxCornerRadiusBottomEnd" format="dimension"/>
+
<attr name="sudGlifContentPaddingTop" format="dimension|reference" />
<attr name="sudHasStableIds" format="boolean|reference" />
diff --git a/main/res/values/colors.xml b/main/res/values/colors.xml
index 3fe0b4b..5fbdd9a 100644
--- a/main/res/values/colors.xml
+++ b/main/res/values/colors.xml
@@ -81,10 +81,24 @@
<color name="sud_system_neutral1_50">#f0f0f0</color>
+ <color name="sud_system_neutral1_200">#c6c6c6</color>
+
+ <color name="sud_system_neutral1_300">#ababab</color>
+
+ <color name="sud_system_neutral1_400">#909090</color>
+
+ <color name="sud_system_neutral1_500">#757575</color>
+
+ <color name="sud_system_neutral1_600">#5e5e5e</color>
+
+ <color name="sud_system_neutral1_700">#464646</color>
+
<color name="sud_system_neutral1_800">#303030</color>
<color name="sud_system_neutral1_900">#1b1b1b</color>
+ <color name="sud_system_neutral1_1000">#000000</color>
+
<color name="sud_system_neutral2_50">#f0f0f0</color>
diff --git a/main/res/values/dimens.xml b/main/res/values/dimens.xml
index 173d847..db585be 100644
--- a/main/res/values/dimens.xml
+++ b/main/res/values/dimens.xml
@@ -171,7 +171,28 @@
<dimen name="sud_items_padding_top">15dp</dimen>
<dimen name="sud_items_padding_bottom">15dp</dimen>
- <!-- Items Material Next-->
+ <!-- Page Margins Material You -->
+ <!-- Default margins start are 40dp in portrait mode for the large screen. However, If here
+ set this value, it cannot be overwrited by a smaller value from partner config. So here
+ set to 24dp and rewritten to 40dp through partner config the partner config
+ "setup_design_layout_margin_start" for glifv4 default margins. -->
+ <!-- TODO: b/221404901 to remove this limitation -->
+ <dimen name="sud_glif_margin_start_material_you">24dp</dimen>
+ <dimen name="sud_glif_margin_end_material_you">24dp</dimen>
+
+ <!-- Header Area Material You -->
+ <dimen name="sud_header_container_margin_bottom_material_you">24dp</dimen>
+ <dimen name="sud_glif_header_title_size_material_you">36sp</dimen>
+ <dimen name="sud_glif_header_title_margin_top_material_you">24dp</dimen>
+ <dimen name="sud_glif_header_title_margin_bottom_material_you">0dp</dimen>
+ <dimen name="sud_glif_description_text_size_material_you">18sp</dimen>
+ <dimen name="sud_glif_description_margin_top_material_you">24dp</dimen>
+ <dimen name="sud_glif_description_margin_bottom_material_you">0dp</dimen>
+
+ <dimen name="sud_glif_icon_margin_top_material_you">32dp</dimen>
+ <dimen name="sud_glif_icon_max_height_material_you">48dp</dimen>
+
+ <!-- Items Material You -->
<dimen name="sud_items_padding_top_material_you">18dp</dimen>
<dimen name="sud_items_padding_bottom_material_you">18dp</dimen>
<dimen name="sud_items_title_text_size_material_you">20sp</dimen>
@@ -214,6 +235,7 @@
<!-- Edit Text dimensions -->
<dimen name="sud_edit_text_min_height">56dp</dimen>
<dimen name="sud_edit_text_padding_horizontal">12dp</dimen>
+ <dimen name="sud_edit_text_corner_radius">28dp</dimen>
<!-- SwitchItem -->
<dimen name="sud_switch_padding_start">16dp</dimen>
diff --git a/main/res/values/styles.xml b/main/res/values/styles.xml
index 1ee239d..eaee5ae 100644
--- a/main/res/values/styles.xml
+++ b/main/res/values/styles.xml
@@ -165,11 +165,13 @@
<item name="sudDividerInsetStart">@dimen/sud_items_glif_icon_divider_inset</item>
<item name="sudDividerInsetStartNoIcon">@dimen/sud_items_glif_text_divider_inset</item>
<item name="sudDividerShown">true</item>
+ <item name="sudGlifHeaderTitleStyle">@style/SudGlifHeaderTitle</item>
<item name="sudGlifHeaderGravity">start</item>
<item name="sudGlifSubtitleGravity">start</item>
<item name="sucGlifHeaderMarginTop">@dimen/sud_glif_header_title_margin_top</item>
- <item name="sudGlifDescriptionMarginTop">@dimen/sud_glif_description_margin_top</item>
<item name="sucGlifHeaderMarginBottom">@dimen/sud_glif_header_title_margin_bottom</item>
+ <item name="sudGlifDescriptionStyle">@style/SudGlifDescription</item>
+ <item name="sudGlifDescriptionMarginTop">@dimen/sud_glif_description_margin_top</item>
<item name="sudGlifDescriptionMarginBottom">@dimen/sud_glif_description_margin_bottom</item>
<item name="sucHeaderContainerMarginBottom">@dimen/sud_header_container_margin_bottom</item>
<item name="sudGlifIconStyle">@style/SudGlifIcon</item>
@@ -254,11 +256,13 @@
<item name="sudDividerInsetStart">@dimen/sud_items_glif_icon_divider_inset</item>
<item name="sudDividerInsetStartNoIcon">@dimen/sud_items_glif_text_divider_inset</item>
<item name="sudDividerShown">true</item>
+ <item name="sudGlifHeaderTitleStyle">@style/SudGlifHeaderTitle</item>
<item name="sudGlifHeaderGravity">start</item>
<item name="sudGlifSubtitleGravity">start</item>
<item name="sucGlifHeaderMarginTop">@dimen/sud_glif_header_title_margin_top</item>
- <item name="sudGlifDescriptionMarginTop">@dimen/sud_glif_description_margin_top</item>
<item name="sucGlifHeaderMarginBottom">@dimen/sud_glif_header_title_margin_bottom</item>
+ <item name="sudGlifDescriptionStyle">@style/SudGlifDescription</item>
+ <item name="sudGlifDescriptionMarginTop">@dimen/sud_glif_description_margin_top</item>
<item name="sudGlifDescriptionMarginBottom">@dimen/sud_glif_description_margin_bottom</item>
<item name="sucHeaderContainerMarginBottom">@dimen/sud_header_container_margin_bottom</item>
<item name="sudGlifIconStyle">@style/SudGlifIcon</item>
@@ -372,8 +376,51 @@
<style name="SudDynamicColorThemeGlifV3.Light" parent="SudThemeGlifV3.Light" />
<style name="SudFullDynamicColorThemeGlifV3.Light" parent="SudDynamicColorThemeGlifV3.Light" />
- <style name="SudThemeGlifV4" parent="SudThemeGlifV3" />
- <style name="SudThemeGlifV4.Light" parent="SudThemeGlifV3.Light" />
+ <style name="SudThemeGlifV4" parent="SudThemeGlifV3">
+ <item name="sudMarginStart">@dimen/sud_glif_margin_start_material_you</item>
+ <item name="sudMarginEnd">@dimen/sud_glif_margin_end_material_you</item>
+ <item name="sucHeaderContainerMarginBottom">@dimen/sud_header_container_margin_bottom_material_you</item>
+ <item name="sucGlifIconMarginTop">@dimen/sud_glif_icon_margin_top_material_you</item>
+ <item name="sudGlifIconSize">@dimen/sud_glif_icon_max_height_material_you</item>
+ <item name="sudGlifHeaderTitleStyle">@style/SudGlifHeaderTitleMaterialYou</item>
+ <item name="sudGlifHeaderGravity">start</item>
+ <item name="sucGlifHeaderMarginTop">@dimen/sud_glif_header_title_margin_top_material_you</item>
+ <item name="sucGlifHeaderMarginBottom">@dimen/sud_glif_header_title_margin_bottom_material_you</item>
+ <item name="sudGlifDescriptionStyle">@style/SudGlifDescriptionMaterialYou</item>
+ <item name="sudGlifDescriptionMarginTop">@dimen/sud_glif_description_margin_top_material_you</item>
+ <item name="sudGlifDescriptionMarginBottom">@dimen/sud_glif_description_margin_bottom_material_you</item>
+ <item name="textAppearanceListItem">@style/TextAppearance.SudMaterialYouItemTitle</item>
+ <item name="textAppearanceListItemSmall">@style/TextAppearance.SudMaterialYouItemSummary</item>
+ <item name="sudDividerShown">false</item>
+ <item name="sudItemContainerStyle">@style/SudItemContainerMaterialYou</item>
+ <item name="sudItemTitleStyle">@style/SudItemTitleMaterialYou</item>
+ <item name="sudItemSummaryStyle">@style/SudItemSummaryMaterialYou</item>
+ <item name="alertDialogTheme">@style/SudMaterialYouAlertDialogThemeCompat</item>
+ <item name="android:alertDialogTheme" >@style/SudMaterialYouAlertDialogTheme</item>
+ </style>
+
+ <style name="SudThemeGlifV4.Light" parent="SudThemeGlifV3.Light">
+ <item name="sudMarginStart">@dimen/sud_glif_margin_start_material_you</item>
+ <item name="sudMarginEnd">@dimen/sud_glif_margin_end_material_you</item>
+ <item name="sucHeaderContainerMarginBottom">@dimen/sud_header_container_margin_bottom_material_you</item>
+ <item name="sucGlifIconMarginTop">@dimen/sud_glif_icon_margin_top_material_you</item>
+ <item name="sudGlifIconSize">@dimen/sud_glif_icon_max_height_material_you</item>
+ <item name="sudGlifHeaderTitleStyle">@style/SudGlifHeaderTitleMaterialYou</item>
+ <item name="sudGlifHeaderGravity">start</item>
+ <item name="sucGlifHeaderMarginTop">@dimen/sud_glif_header_title_margin_top_material_you</item>
+ <item name="sucGlifHeaderMarginBottom">@dimen/sud_glif_header_title_margin_bottom_material_you</item>
+ <item name="sudGlifDescriptionStyle">@style/SudGlifDescriptionMaterialYou</item>
+ <item name="sudGlifDescriptionMarginTop">@dimen/sud_glif_description_margin_top_material_you</item>
+ <item name="sudGlifDescriptionMarginBottom">@dimen/sud_glif_description_margin_bottom_material_you</item>
+ <item name="textAppearanceListItem">@style/TextAppearance.SudMaterialYouItemTitle</item>
+ <item name="textAppearanceListItemSmall">@style/TextAppearance.SudMaterialYouItemSummary</item>
+ <item name="sudDividerShown">false</item>
+ <item name="sudItemContainerStyle">@style/SudItemContainerMaterialYou</item>
+ <item name="sudItemTitleStyle">@style/SudItemTitleMaterialYou</item>
+ <item name="sudItemSummaryStyle">@style/SudItemSummaryMaterialYou</item>
+ <item name="alertDialogTheme">@style/SudMaterialYouAlertDialogThemeCompat.Light</item>
+ <item name="android:alertDialogTheme" >@style/SudMaterialYouAlertDialogTheme.Light</item>
+ </style>
<style name="SudDynamicColorTheme" />
<style name="SudDynamicColorTheme.Light" />
@@ -671,6 +718,10 @@
<!-- Edit box theme-->
<style name="SudEditBoxTheme">
<item name="colorPrimary">?attr/sudEditBoxColor</item>
+ <item name="boxCornerRadiusTopStart">@dimen/sud_edit_text_corner_radius</item>
+ <item name="boxCornerRadiusTopEnd">@dimen/sud_edit_text_corner_radius</item>
+ <item name="boxCornerRadiusBottomStart">@dimen/sud_edit_text_corner_radius</item>
+ <item name="boxCornerRadiusBottomEnd">@dimen/sud_edit_text_corner_radius</item>
</style>
<!-- Items styles -->
@@ -784,6 +835,24 @@
<item name="android:accessibilityHeading" tools:targetApi="p">true</item>
</style>
+ <style name="SudGlifHeaderTitleMaterialYou">
+ <!-- Before Honeycomb, layout_gravity is needed for FrameLayout to apply the margins -->
+ <item name="android:layout_gravity">top</item>
+ <item name="android:ellipsize">end</item>
+ <item name="android:maxLines">3</item>
+ <item name="android:gravity">?attr/sudGlifHeaderGravity</item>
+ <item name="android:layout_marginBottom">?attr/sucGlifHeaderMarginBottom</item>
+ <item name="android:layout_marginLeft">?attr/sudMarginStart</item>
+ <item name="android:layout_marginRight">?attr/sudMarginEnd</item>
+ <item name="android:layout_marginTop">?attr/sucGlifHeaderMarginTop</item>
+ <item name="android:fontFamily" tools:targetApi="jelly_bean">@string/sudFontSecondary</item>
+ <item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">gravity</item>
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ <item name="android:textDirection" tools:targetApi="jelly_bean_mr1">locale</item>
+ <item name="android:accessibilityHeading" tools:targetApi="p">true</item>
+ <item name="android:textSize">@dimen/sud_glif_header_title_size_material_you</item>
+ </style>
+
<style name="SudGlifDescription" parent="SudDescription.Glif">
<item name="android:layout_marginTop">?attr/sudGlifDescriptionMarginTop</item>
<item name="android:layout_marginBottom">?attr/sudGlifDescriptionMarginBottom</item>
@@ -796,6 +865,23 @@
<item name="android:textDirection" tools:targetApi="jelly_bean_mr1">locale</item>
</style>
+ <style name="SudGlifDescriptionMaterialYou">
+ <!-- Before Honeycomb, layout_gravity is needed for FrameLayout to apply the margins -->
+ <item name="android:textAppearance">@android:style/TextAppearance.DeviceDefault</item>
+ <item name="android:lineSpacingExtra">@dimen/sud_description_line_spacing_extra</item>
+ <item name="android:gravity">?attr/sudGlifHeaderGravity</item>
+ <item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">gravity</item>
+ <item name="android:layout_marginTop">?attr/sudGlifDescriptionMarginTop</item>
+ <item name="android:layout_marginBottom">?attr/sudGlifDescriptionMarginBottom</item>
+ <item name="android:layout_marginLeft">?attr/sudMarginStart</item>
+ <item name="android:layout_marginStart">?attr/sudMarginStart</item>
+ <item name="android:layout_marginRight">?attr/sudMarginEnd</item>
+ <item name="android:layout_marginEnd">?attr/sudMarginEnd</item>
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ <item name="android:textDirection" tools:targetApi="jelly_bean_mr1">locale</item>
+ <item name="android:textSize">@dimen/sud_glif_description_text_size_material_you</item>
+ </style>
+
<style name="SudGlifHeaderContainer">
<item name="android:gravity">?attr/sudGlifHeaderGravity</item>
<item name="android:layout_marginBottom">?attr/sucHeaderContainerMarginBottom</item>
@@ -803,18 +889,24 @@
<style name="SudGlifIconContainer">
<item name="android:layout_marginLeft">?attr/sudMarginStart</item>
+ <item name="android:layout_marginStart" tools:ignore="NewApi">?attr/sudMarginStart</item>
<item name="android:layout_marginRight">?attr/sudMarginEnd</item>
+ <item name="android:layout_marginEnd" tools:ignore="NewApi">?attr/sudMarginEnd</item>
<item name="android:layout_marginTop">?attr/sucGlifIconMarginTop</item>
<item name="android:maxHeight">?attr/sudGlifIconSize</item>
</style>
<style name="SudGlifIcon">
- <item name="android:layout_marginLeft">?attr/sudMarginStart</item>
- <item name="android:layout_marginRight">?attr/sudMarginEnd</item>
- <item name="android:layout_marginTop">?attr/sucGlifIconMarginTop</item>
+ <item name="android:layout_marginTop">0dp</item>
+ <item name="android:layout_marginBottom">0dp</item>
+ <item name="android:layout_marginLeft">0dp</item>
+ <item name="android:layout_marginStart" tools:ignore="NewApi">0dp</item>
+ <item name="android:layout_marginRight">0dp</item>
+ <item name="android:layout_marginEnd" tools:ignore="NewApi">0dp</item>
<item name="android:adjustViewBounds">true</item>
<item name="android:maxHeight">?attr/sudGlifIconSize</item>
<item name="android:scaleType">centerInside</item>
+ <item name="android:layout_gravity">?attr/sudGlifHeaderGravity</item>
</style>
<style name="TextAppearance.SudGlifBody" parent="android:TextAppearance">
diff --git a/main/src/com/google/android/setupdesign/template/RecyclerMixin.java b/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
index c4e8f56..46b2faf 100644
--- a/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
+++ b/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
@@ -17,6 +17,7 @@
package com.google.android.setupdesign.template;
import android.content.Context;
+import android.content.res.Resources.Theme;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.Build;
@@ -26,6 +27,7 @@ import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.Adapter;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import android.util.AttributeSet;
+import android.util.TypedValue;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -90,22 +92,31 @@ public class RecyclerMixin implements Mixin {
header = ((HeaderRecyclerView) recyclerView).getHeader();
}
- isDividerDisplay = isShowItemsDivider();
+ isDividerDisplay = isShowItemsDivider(layout.getContext());
if (isDividerDisplay) {
this.recyclerView.addItemDecoration(dividerDecoration);
}
}
- private boolean isShowItemsDivider() {
+ private boolean isShowItemsDivider(Context context) {
+ // Get the dividershown attribute value from theme
+ TypedValue typedValue = new TypedValue();
+ Theme theme = context.getTheme();
+ theme.resolveAttribute(R.attr.sudDividerShown, typedValue, true);
+ boolean isShownDivider = (typedValue.data != 0);
+
// Skips to add item decoration if config flag is false.
if (PartnerStyleHelper.shouldApplyPartnerResource(templateLayout)) {
if (PartnerConfigHelper.get(recyclerView.getContext())
.isPartnerConfigAvailable(PartnerConfig.CONFIG_ITEMS_DIVIDER_SHOWN)) {
return PartnerConfigHelper.get(recyclerView.getContext())
- .getBoolean(recyclerView.getContext(), PartnerConfig.CONFIG_ITEMS_DIVIDER_SHOWN, true);
+ .getBoolean(
+ recyclerView.getContext(),
+ PartnerConfig.CONFIG_ITEMS_DIVIDER_SHOWN,
+ isShownDivider);
}
}
- return true;
+ return isShownDivider;
}
/**
@@ -300,6 +311,10 @@ public class RecyclerMixin implements Mixin {
return divider;
}
+ public boolean hasDivider() {
+ return isDividerDisplay;
+ }
+
/**
* Sets the divider item decoration directly. This is a low level method which should be used only
* if custom divider behavior is needed, for example if the divider should be shown / hidden in
diff --git a/main/src/com/google/android/setupdesign/view/IntrinsicSizeFrameLayout.java b/main/src/com/google/android/setupdesign/view/IntrinsicSizeFrameLayout.java
index 4094f3a..ffb3d70 100644
--- a/main/src/com/google/android/setupdesign/view/IntrinsicSizeFrameLayout.java
+++ b/main/src/com/google/android/setupdesign/view/IntrinsicSizeFrameLayout.java
@@ -29,6 +29,8 @@ import android.util.DisplayMetrics;
import android.view.Display;
import android.view.ViewGroup;
import android.view.WindowInsets;
+import android.view.WindowManager;
+import android.view.WindowMetrics;
import android.widget.FrameLayout;
import androidx.annotation.VisibleForTesting;
import com.google.android.setupcompat.partnerconfig.PartnerConfig;
@@ -138,8 +140,12 @@ public class IntrinsicSizeFrameLayout extends FrameLayout {
@VisibleForTesting
boolean isWindowSizeSmallerThanDisplaySize() {
boolean result = false;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
- getWindowVisibleDisplayFrame(windowVisibleDisplayRect);
+ /// NOMUTANTS--reason(b/221151816): Support setCurrentWindowMetrics from ShadowWindowManagerImpl
+ // to verify this case
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
+ WindowManager windowManager = getContext().getSystemService(WindowManager.class);
+ WindowMetrics windowMetrics = windowManager.getCurrentWindowMetrics();
+ windowVisibleDisplayRect.set(windowMetrics.getBounds());
Display display = getDisplay();
if (display != null) {
diff --git a/strings/AndroidManifest.xml b/strings/AndroidManifest.xml
index c323fc7..7461fc6 100644
--- a/strings/AndroidManifest.xml
+++ b/strings/AndroidManifest.xml
@@ -20,6 +20,6 @@
<uses-sdk
android:minSdkVersion="14"
- android:targetSdkVersion="31" />
+ android:targetSdkVersion="32" />
</manifest>