summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-20 20:25:03 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-20 20:25:03 +0000
commiteb3963deb44f4d062d13a441817e1ce0f2cd8b1d (patch)
treef2c4fe11a4e7a1fc471cb09301f1dfa8c393e441
parent51303ec023769ddd7febee08ceb36b7fce3611eb (diff)
parent6882fd623436af57a685e609aed01a079af35a08 (diff)
downloadsetupdesign-android13-mainline-extservices-release.tar.gz
Snap for 8746144 from 6882fd623436af57a685e609aed01a079af35a08 to mainline-extservices-releaseaml_ext_331814220aml_ext_331412000aml_ext_331312000aml_ext_331112010aml_ext_331012020android13-mainline-extservices-release
Change-Id: I67ef1fc3345a284508833db66ebba03205582943
-rw-r--r--main/res/values-v22/styles.xml6
-rw-r--r--main/res/values/attrs.xml15
-rw-r--r--main/res/values/styles.xml6
-rw-r--r--main/src/com/google/android/setupdesign/util/LayoutStyler.java25
4 files changed, 41 insertions, 11 deletions
diff --git a/main/res/values-v22/styles.xml b/main/res/values-v22/styles.xml
index a3c7cee..b4d89b0 100644
--- a/main/res/values-v22/styles.xml
+++ b/main/res/values-v22/styles.xml
@@ -22,4 +22,10 @@
</style>
<style name="SudAlertDialogTheme.Light" parent="android:Theme.DeviceDefault.Light.Dialog.Alert" />
+ <style name="SudMaterialYouAlertDialogTheme" parent="SudAlertDialogTheme">
+ <item name="android:windowTitleStyle">@style/SudMaterialYouAlertDialogTitleStyle</item>
+ </style>
+ <style name="SudMaterialYouAlertDialogTheme.Light" parent="SudAlertDialogTheme.Light">
+ <item name="android:windowTitleStyle">@style/SudMaterialYouAlertDialogTitleStyle</item>
+ </style>
</resources>
diff --git a/main/res/values/attrs.xml b/main/res/values/attrs.xml
index d739189..22aee0d 100644
--- a/main/res/values/attrs.xml
+++ b/main/res/values/attrs.xml
@@ -65,6 +65,21 @@
<attr name="sudButtonAllCaps" format="boolean" />
<attr name="sudButtonCornerRadius" format="dimension" />
<attr name="sudButtonFontFamily" format="string|reference" />
+ <!-- Values copied from frameworks/base/core/res/res/values/attrs.xml -->
+ <attr name="sudButtonTertiaryGravity">
+ <!-- Push object to the left of its container, not changing its size. -->
+ <flag name="left" value="0x03" />
+ <!-- Push object to the right of its container, not changing its size. -->
+ <flag name="right" value="0x05" />
+ <!-- Place object in the horizontal center of its container, not changing its size. -->
+ <flag name="center_horizontal" value="0x01" />
+ <!-- Grow the horizontal size of the object if needed so it completely fills its container. -->
+ <flag name="fill_horizontal" value="0x07" />
+ <!-- Push object to the beginning of its container, not changing its size. -->
+ <flag name="start" value="0x00800003" />
+ <!-- Push object to the end of its container, not changing its size. -->
+ <flag name="end" value="0x00800005" />
+ </attr>
<attr name="sudCardBackground" format="color|reference" />
<attr name="sudDividerCondition">
<enum name="either" value="0" />
diff --git a/main/res/values/styles.xml b/main/res/values/styles.xml
index d675c62..e33b305 100644
--- a/main/res/values/styles.xml
+++ b/main/res/values/styles.xml
@@ -155,6 +155,7 @@
<item name="sudButtonCornerRadius">@dimen/sud_glif_button_corner_radius</item>
<item name="sudButtonFontFamily">sans-serif-medium</item>
<item name="sudButtonHighlightAlpha">0.24</item>
+ <item name="sudButtonTertiaryGravity">?attr/sudGlifHeaderGravity</item>
<item name="sudColorPrimary">?attr/colorPrimary</item>
<item name="sudContentFramePaddingTop">@dimen/sud_content_frame_padding_top</item>
<item name="sudContentFramePaddingBottom">@dimen/sud_content_frame_padding_bottom</item>
@@ -248,6 +249,7 @@
<item name="sudButtonCornerRadius">@dimen/sud_glif_button_corner_radius</item>
<item name="sudButtonFontFamily">sans-serif-medium</item>
<item name="sudButtonHighlightAlpha">0.12</item>
+ <item name="sudButtonTertiaryGravity">?attr/sudGlifHeaderGravity</item>
<item name="sudColorPrimary">?attr/colorPrimary</item>
<item name="sudContentFramePaddingTop">@dimen/sud_content_frame_padding_top</item>
<item name="sudContentFramePaddingBottom">@dimen/sud_content_frame_padding_bottom</item>
@@ -393,6 +395,7 @@
<item name="sucFooterBarButtonFontFamily">@string/sudFontSecondaryMediumMaterialYou</item>
<item name="sucGlifIconMarginTop">@dimen/sud_glif_icon_margin_top_material_you</item>
<item name="sudButtonCornerRadius">@dimen/sud_footer_bar_button_radius_material_you</item>
+ <item name="sudButtonTertiaryGravity">center_horizontal</item>
<item name="sudGlifIconSize">@dimen/sud_glif_icon_max_height_material_you</item>
<item name="sudGlifHeaderTitleStyle">@style/SudGlifHeaderTitleMaterialYou</item>
<item name="sudGlifHeaderGravity">start</item>
@@ -426,6 +429,7 @@
<item name="sucFooterBarButtonFontFamily">@string/sudFontSecondaryMediumMaterialYou</item>
<item name="sucGlifIconMarginTop">@dimen/sud_glif_icon_margin_top_material_you</item>
<item name="sudButtonCornerRadius">@dimen/sud_footer_bar_button_radius_material_you</item>
+ <item name="sudButtonTertiaryGravity">center_horizontal</item>
<item name="sudGlifIconSize">@dimen/sud_glif_icon_max_height_material_you</item>
<item name="sudGlifHeaderTitleStyle">@style/SudGlifHeaderTitleMaterialYou</item>
<item name="sudGlifHeaderGravity">start</item>
@@ -668,7 +672,7 @@
<item name="android:theme">@style/SudGlifButton.Tertiary</item>
<item name="android:fontFamily" tools:targetApi="jelly_bean">sans-serif</item>
- <item name="android:layout_gravity">?attr/sudGlifHeaderGravity</item>
+ <item name="android:layout_gravity">?attr/sudButtonTertiaryGravity</item>
<item name="android:layout_marginLeft">@dimen/sud_glif_negative_button_padding</item>
<item name="android:layout_marginRight">@dimen/sud_glif_negative_button_padding</item>
<!-- Always lowercase instead of reading attr/sudButtonAllCaps, since this is a tertiary
diff --git a/main/src/com/google/android/setupdesign/util/LayoutStyler.java b/main/src/com/google/android/setupdesign/util/LayoutStyler.java
index b377327..9e1d66b 100644
--- a/main/src/com/google/android/setupdesign/util/LayoutStyler.java
+++ b/main/src/com/google/android/setupdesign/util/LayoutStyler.java
@@ -21,8 +21,7 @@ import android.content.Context;
import android.content.res.TypedArray;
import android.os.Build.VERSION_CODES;
import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.LinearLayout.LayoutParams;
+import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.google.android.setupcompat.partnerconfig.PartnerConfig;
import com.google.android.setupcompat.partnerconfig.PartnerConfigHelper;
@@ -121,8 +120,8 @@ public final class LayoutStyler {
if (partnerMarginStartAvailable) {
extraPaddingStart =
((int)
- PartnerConfigHelper.get(context)
- .getDimension(context, PartnerConfig.CONFIG_LAYOUT_MARGIN_START))
+ PartnerConfigHelper.get(context)
+ .getDimension(context, PartnerConfig.CONFIG_LAYOUT_MARGIN_START))
- layoutMarginStart;
} else {
extraPaddingStart = view.getPaddingStart();
@@ -131,15 +130,15 @@ public final class LayoutStyler {
if (partnerMarginEndAvailable) {
extraPaddingEnd =
((int)
- PartnerConfigHelper.get(context)
- .getDimension(context, PartnerConfig.CONFIG_LAYOUT_MARGIN_END))
+ PartnerConfigHelper.get(context)
+ .getDimension(context, PartnerConfig.CONFIG_LAYOUT_MARGIN_END))
- layoutMarginEnd;
// If the view is a content view, padding start and padding end will be the same.
if (view.getId() == R.id.sud_layout_content) {
extraPaddingEnd =
((int)
- PartnerConfigHelper.get(context)
- .getDimension(context, PartnerConfig.CONFIG_LAYOUT_MARGIN_START))
+ PartnerConfigHelper.get(context)
+ .getDimension(context, PartnerConfig.CONFIG_LAYOUT_MARGIN_START))
- layoutMarginEnd;
}
} else {
@@ -156,8 +155,14 @@ public final class LayoutStyler {
// The framelayout background maybe infected by this change.
// Currently the content background is same as the activity background, and there is no
// partner config to customize it.
- LinearLayout.LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
- layoutParams.setMargins(
+ ViewGroup.LayoutParams params = view.getLayoutParams();
+ ViewGroup.MarginLayoutParams marginLayoutParams;
+ if (params instanceof ViewGroup.MarginLayoutParams) {
+ marginLayoutParams = (ViewGroup.MarginLayoutParams) params;
+ } else {
+ marginLayoutParams = new ViewGroup.MarginLayoutParams(params);
+ }
+ marginLayoutParams.setMargins(
extraPaddingStart, view.getPaddingTop(), extraPaddingEnd, view.getPaddingBottom());
} else {
view.setPadding(