summaryrefslogtreecommitdiff
path: root/main/src/com
diff options
context:
space:
mode:
authorSetup Wizard Team <android-setup-team-eng@google.com>2021-11-25 00:54:33 +0000
committerNicole Huang <nicolehuang@google.com>2021-11-25 14:51:10 +0000
commitda45aaa7e67ffa6213c1b5e6e638b4b10ef258fe (patch)
tree9fe911dc4b1ffbf06751dc24f3ede4f79599d1bc /main/src/com
parent860cce2416fb7f1cd44256790c8ccc56ea9b4945 (diff)
downloadsetupdesign-da45aaa7e67ffa6213c1b5e6e638b4b10ef258fe.tar.gz
Import updated Android Setupdesign Library 412158963
Copied from google3/third_party/java_src/android_libs/setupdesign Test: mm Included changes: - 412158963 Hide item divider in google service when system property ... - 412135443 Migrate compat classes to androidx - 411941072 [SetupDesing] To add android:importantForAccessibility="n... - 411938410 Support Item class config contentDescription for accessib... - 411691396 Add the attribute accessibilityHeading in header title - 411539431 [SetupDesing] Fix the keypad default focus issue in lands... - 411518305 [Stencil] Adds BC transition for RTL style on S. - 410938656 [Stencil] Makes HeaderMixin and DescriptionMixin supports... - 410189919 Fix sample app truncated in sw800 when partner config off PiperOrigin-RevId: 412158963 Bug: 207099076 Change-Id: I094efbeaceada9a3a5b94018cf8e8ed8909d8e30
Diffstat (limited to 'main/src/com')
-rw-r--r--main/src/com/google/android/setupdesign/DividerItemDecoration.java2
-rw-r--r--main/src/com/google/android/setupdesign/GlifLayout.java88
-rw-r--r--main/src/com/google/android/setupdesign/accessibility/LinkAccessibilityHelper.java6
-rw-r--r--main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java8
-rw-r--r--main/src/com/google/android/setupdesign/items/Item.java14
-rw-r--r--main/src/com/google/android/setupdesign/template/RecyclerMixin.java5
-rw-r--r--main/src/com/google/android/setupdesign/view/RichTextView.java2
7 files changed, 77 insertions, 48 deletions
diff --git a/main/src/com/google/android/setupdesign/DividerItemDecoration.java b/main/src/com/google/android/setupdesign/DividerItemDecoration.java
index df86b23..dabe36f 100644
--- a/main/src/com/google/android/setupdesign/DividerItemDecoration.java
+++ b/main/src/com/google/android/setupdesign/DividerItemDecoration.java
@@ -21,10 +21,10 @@ import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
-import androidx.core.view.ViewCompat;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import androidx.annotation.IntDef;
+import androidx.core.view.ViewCompat;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/main/src/com/google/android/setupdesign/GlifLayout.java b/main/src/com/google/android/setupdesign/GlifLayout.java
index dcfc595..034509d 100644
--- a/main/src/com/google/android/setupdesign/GlifLayout.java
+++ b/main/src/com/google/android/setupdesign/GlifLayout.java
@@ -206,56 +206,66 @@ public class GlifLayout extends PartnerCustomizationLayout {
View headerView = this.findManagedViewById(R.id.sud_landscape_header_area);
if (headerView != null) {
- if (PartnerConfigHelper.get(getContext())
- .isPartnerConfigAvailable(PartnerConfig.CONFIG_LAYOUT_MARGIN_END)) {
- int layoutMarginEnd =
+ int layoutMarginEnd;
+ if (shouldApplyPartnerResource()
+ && PartnerConfigHelper.get(getContext())
+ .isPartnerConfigAvailable(PartnerConfig.CONFIG_LAYOUT_MARGIN_END)) {
+ layoutMarginEnd =
(int)
PartnerConfigHelper.get(getContext())
.getDimension(getContext(), PartnerConfig.CONFIG_LAYOUT_MARGIN_END);
-
- int paddingEnd = (horizontalSpacing / 2) - layoutMarginEnd;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
- headerView.setPadding(
- headerView.getPaddingStart(),
- headerView.getPaddingTop(),
- paddingEnd,
- headerView.getPaddingBottom());
- } else {
- headerView.setPadding(
- headerView.getPaddingLeft(),
- headerView.getPaddingTop(),
- paddingEnd,
- headerView.getPaddingBottom());
- }
+ } else {
+ TypedArray a = getContext().obtainStyledAttributes(new int[] {R.attr.sudMarginEnd});
+ layoutMarginEnd = a.getDimensionPixelSize(0, 0);
+ a.recycle();
+ }
+ int paddingEnd = (horizontalSpacing / 2) - layoutMarginEnd;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
+ headerView.setPadding(
+ headerView.getPaddingStart(),
+ headerView.getPaddingTop(),
+ paddingEnd,
+ headerView.getPaddingBottom());
+ } else {
+ headerView.setPadding(
+ headerView.getPaddingLeft(),
+ headerView.getPaddingTop(),
+ paddingEnd,
+ headerView.getPaddingBottom());
}
}
View contentView = this.findManagedViewById(R.id.sud_landscape_content_area);
if (contentView != null) {
- if (PartnerConfigHelper.get(getContext())
- .isPartnerConfigAvailable(PartnerConfig.CONFIG_LAYOUT_MARGIN_START)) {
- int layoutMarginStart =
+ int layoutMarginStart;
+ if (shouldApplyPartnerResource()
+ && PartnerConfigHelper.get(getContext())
+ .isPartnerConfigAvailable(PartnerConfig.CONFIG_LAYOUT_MARGIN_START)) {
+ layoutMarginStart =
(int)
PartnerConfigHelper.get(getContext())
.getDimension(getContext(), PartnerConfig.CONFIG_LAYOUT_MARGIN_START);
-
- int paddingStart = 0;
- if (headerView != null) {
- paddingStart = (horizontalSpacing / 2) - layoutMarginStart;
- }
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
- contentView.setPadding(
- paddingStart,
- contentView.getPaddingTop(),
- contentView.getPaddingEnd(),
- contentView.getPaddingBottom());
- } else {
- contentView.setPadding(
- paddingStart,
- contentView.getPaddingTop(),
- contentView.getPaddingRight(),
- contentView.getPaddingBottom());
- }
+ } else {
+ TypedArray a = getContext().obtainStyledAttributes(new int[] {R.attr.sudMarginStart});
+ layoutMarginStart = a.getDimensionPixelSize(0, 0);
+ a.recycle();
+ }
+ int paddingStart = 0;
+ if (headerView != null) {
+ paddingStart = (horizontalSpacing / 2) - layoutMarginStart;
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
+ contentView.setPadding(
+ paddingStart,
+ contentView.getPaddingTop(),
+ contentView.getPaddingEnd(),
+ contentView.getPaddingBottom());
+ } else {
+ contentView.setPadding(
+ paddingStart,
+ contentView.getPaddingTop(),
+ contentView.getPaddingRight(),
+ contentView.getPaddingBottom());
}
}
}
diff --git a/main/src/com/google/android/setupdesign/accessibility/LinkAccessibilityHelper.java b/main/src/com/google/android/setupdesign/accessibility/LinkAccessibilityHelper.java
index 1a55b25..237cd83 100644
--- a/main/src/com/google/android/setupdesign/accessibility/LinkAccessibilityHelper.java
+++ b/main/src/com/google/android/setupdesign/accessibility/LinkAccessibilityHelper.java
@@ -19,9 +19,6 @@ package com.google.android.setupdesign.accessibility;
import android.graphics.Rect;
import android.os.Build;
import android.os.Bundle;
-import androidx.core.view.AccessibilityDelegateCompat;
-import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
-import androidx.core.view.accessibility.AccessibilityNodeProviderCompat;
import android.text.Layout;
import android.text.Spanned;
import android.text.style.ClickableSpan;
@@ -33,6 +30,9 @@ import android.view.accessibility.AccessibilityEvent;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
+import androidx.core.view.AccessibilityDelegateCompat;
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
+import androidx.core.view.accessibility.AccessibilityNodeProviderCompat;
import androidx.customview.widget.ExploreByTouchHelper;
import java.util.List;
diff --git a/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java b/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java
index 29eaf23..c934612 100644
--- a/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java
+++ b/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java
@@ -24,16 +24,16 @@ import android.graphics.drawable.Drawable;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
-import androidx.core.view.AccessibilityDelegateCompat;
-import androidx.core.view.ViewCompat;
-import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
-import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
+import androidx.core.view.AccessibilityDelegateCompat;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat;
import com.google.android.setupdesign.R;
import com.google.android.setupdesign.util.LayoutStyler;
import com.google.android.setupdesign.view.CheckableLinearLayout;
diff --git a/main/src/com/google/android/setupdesign/items/Item.java b/main/src/com/google/android/setupdesign/items/Item.java
index 3947c62..ff2e3ce 100644
--- a/main/src/com/google/android/setupdesign/items/Item.java
+++ b/main/src/com/google/android/setupdesign/items/Item.java
@@ -44,6 +44,7 @@ public class Item extends AbstractItem {
private int layoutRes;
@Nullable private CharSequence summary;
@Nullable private CharSequence title;
+ @Nullable private CharSequence contentDescription;
private boolean visible = true;
@ColorInt private int iconTint = Color.TRANSPARENT;
private int iconGravity = Gravity.CENTER_VERTICAL;
@@ -60,6 +61,7 @@ public class Item extends AbstractItem {
icon = a.getDrawable(R.styleable.SudItem_android_icon);
title = a.getText(R.styleable.SudItem_android_title);
summary = a.getText(R.styleable.SudItem_android_summary);
+ contentDescription = a.getText(R.styleable.SudItem_android_contentDescription);
layoutRes = a.getResourceId(R.styleable.SudItem_android_layout, getDefaultLayoutResource());
visible = a.getBoolean(R.styleable.SudItem_android_visible, true);
iconTint = a.getColor(R.styleable.SudItem_sudIconTint, Color.TRANSPARENT);
@@ -143,6 +145,16 @@ public class Item extends AbstractItem {
return title;
}
+ @Nullable
+ public CharSequence getContentDescription() {
+ return contentDescription;
+ }
+
+ public void setContentDescription(@Nullable CharSequence contentDescription) {
+ this.contentDescription = contentDescription;
+ notifyItemChanged();
+ }
+
public void setVisible(boolean visible) {
if (this.visible == visible) {
return;
@@ -178,6 +190,8 @@ public class Item extends AbstractItem {
summaryView.setVisibility(View.GONE);
}
+ view.setContentDescription(getContentDescription());
+
final View iconContainer = view.findViewById(R.id.sud_items_icon_container);
final Drawable icon = getIcon();
if (icon != null) {
diff --git a/main/src/com/google/android/setupdesign/template/RecyclerMixin.java b/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
index fb69a8d..c4e8f56 100644
--- a/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
+++ b/main/src/com/google/android/setupdesign/template/RecyclerMixin.java
@@ -269,6 +269,11 @@ public class RecyclerMixin implements Mixin {
return dividerInsetEnd;
}
+ /** Remove the divider inset from this RecyclerView. */
+ public void removeDividerInset() {
+ recyclerView.removeItemDecoration(dividerDecoration);
+ }
+
private void updateDivider() {
boolean shouldUpdate = true;
if (Build.VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
diff --git a/main/src/com/google/android/setupdesign/view/RichTextView.java b/main/src/com/google/android/setupdesign/view/RichTextView.java
index b86082e..182981f 100644
--- a/main/src/com/google/android/setupdesign/view/RichTextView.java
+++ b/main/src/com/google/android/setupdesign/view/RichTextView.java
@@ -23,7 +23,6 @@ import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
-import androidx.core.view.ViewCompat;
import androidx.appcompat.widget.AppCompatTextView;
import android.text.Annotation;
import android.text.SpannableString;
@@ -36,6 +35,7 @@ import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import androidx.annotation.VisibleForTesting;
+import androidx.core.view.ViewCompat;
import com.google.android.setupdesign.accessibility.LinkAccessibilityHelper;
import com.google.android.setupdesign.span.LinkSpan;
import com.google.android.setupdesign.span.LinkSpan.OnLinkClickListener;