summaryrefslogtreecommitdiff
path: root/main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java
diff options
context:
space:
mode:
authorSetup Wizard Team <android-setup-team-eng@google.com>2019-04-09 11:31:04 -0700
committerMaurice Lam <yukl@google.com>2019-04-10 01:24:02 +0000
commit9d1af16dcc2cc148af312a8ae4f65ba58ad7f5bf (patch)
tree00025aed4eb6e0de639d0ac9015384f1cb33dd25 /main/src/com/google/android/setupdesign/items/ExpandableSwitchItem.java
parent200bdbb41bd1cc3e6da16e5a46420ab957e07b62 (diff)
downloadsetupdesign-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.java29
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);