diff options
author | Setup Wizard Team <android-setup-team-eng@google.com> | 2019-04-09 11:31:04 -0700 |
---|---|---|
committer | Maurice Lam <yukl@google.com> | 2019-04-10 01:24:02 +0000 |
commit | 9d1af16dcc2cc148af312a8ae4f65ba58ad7f5bf (patch) | |
tree | 00025aed4eb6e0de639d0ac9015384f1cb33dd25 /main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java | |
parent | 200bdbb41bd1cc3e6da16e5a46420ab957e07b62 (diff) | |
download | setupdesign-9d1af16dcc2cc148af312a8ae4f65ba58ad7f5bf.tar.gz |
Import updated Android Setupdesign Library 242706621
Copied from google3/third_party/java_src/android_libs/setupdesign
Test: mm
Included changes:
- 242706621 Set the right accessibility attributes for expandable swi...
- 242496421 Don't overwrite visibility state in IllustrationVideoView
Fixes: 128943908
PiperOrigin-RevId: 242706621
Change-Id: I35e337b4ae8e35de97e8441a6973a18826a17afb
Diffstat (limited to 'main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java')
-rw-r--r-- | main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java b/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java index d20ed02..1e0551b 100644 --- a/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java +++ b/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java @@ -23,6 +23,10 @@ import android.graphics.PorterDuff.Mode; import android.graphics.drawable.Drawable; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; +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.View; import android.view.View.OnClickListener; @@ -48,6 +52,19 @@ public class ExpandableSwitchItem extends SwitchItem private CharSequence expandedSummary; private boolean isExpanded = false; + private final AccessibilityDelegateCompat accessibilityDelegate = + new AccessibilityDelegateCompat() { + @Override + public void onInitializeAccessibilityNodeInfo( + View view, AccessibilityNodeInfoCompat nodeInfo) { + super.onInitializeAccessibilityNodeInfo(view, nodeInfo); + nodeInfo.addAction( + isExpanded() + ? AccessibilityActionCompat.ACTION_COLLAPSE + : AccessibilityActionCompat.ACTION_EXPAND); + } + }; + public ExpandableSwitchItem() { super(); } @@ -124,7 +141,17 @@ public class ExpandableSwitchItem extends SwitchItem content.setOnClickListener(this); if (content instanceof CheckableLinearLayout) { - ((CheckableLinearLayout) content).setChecked(isExpanded()); + CheckableLinearLayout checkableLinearLayout = (CheckableLinearLayout) content; + checkableLinearLayout.setChecked(isExpanded()); + + // On lower versions + ViewCompat.setAccessibilityLiveRegion( + checkableLinearLayout, + isExpanded() + ? ViewCompat.ACCESSIBILITY_LIVE_REGION_POLITE + : ViewCompat.ACCESSIBILITY_LIVE_REGION_NONE); + + ViewCompat.setAccessibilityDelegate(checkableLinearLayout, accessibilityDelegate); } tintCompoundDrawables(view); |