Merge "Add Dismiss action in Talkback Local Context Menu" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
78ad874157
@@ -19,7 +19,8 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/ContextualCardStyle">
|
||||
style="@style/ContextualCardStyle"
|
||||
android:importantForAccessibility="no">
|
||||
|
||||
<include layout="@layout/dismissal_swipe_background"/>
|
||||
|
||||
@@ -28,10 +29,9 @@
|
||||
android:theme="@style/Theme.Settings.ContextualCard"
|
||||
style="@style/ContextualCardSliceViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:importantForAccessibility="no"/>
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<!--dismissal view-->
|
||||
<!--dismissal view -->
|
||||
<include layout="@layout/contextual_card_dismissal_view"/>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
@@ -19,14 +19,14 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/ContextualCardStyle">
|
||||
style="@style/ContextualCardStyle"
|
||||
android:importantForAccessibility="no">
|
||||
|
||||
<androidx.slice.widget.SliceView
|
||||
android:id="@+id/slice_view"
|
||||
android:theme="@style/Theme.Settings.ContextualCard"
|
||||
style="@style/ContextualCardSliceViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:importantForAccessibility="no"/>
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
@@ -21,6 +21,7 @@ import static android.app.slice.Slice.HINT_ERROR;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.ArraySet;
|
||||
import android.util.Log;
|
||||
@@ -29,6 +30,9 @@ import android.widget.Button;
|
||||
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.view.AccessibilityDelegateCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
@@ -167,6 +171,27 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life
|
||||
resetCardView(holder);
|
||||
mSliceLiveDataMap.get(card.getSliceUri()).removeObservers(mLifecycleOwner);
|
||||
});
|
||||
|
||||
ViewCompat.setAccessibilityDelegate(getInitialView(holder),
|
||||
new AccessibilityDelegateCompat() {
|
||||
@Override
|
||||
public void onInitializeAccessibilityNodeInfo(View host,
|
||||
AccessibilityNodeInfoCompat info) {
|
||||
super.onInitializeAccessibilityNodeInfo(host, info);
|
||||
info.addAction(AccessibilityNodeInfoCompat.ACTION_DISMISS);
|
||||
info.setDismissable(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performAccessibilityAction(View host, int action, Bundle args) {
|
||||
if (action == AccessibilityNodeInfoCompat.ACTION_DISMISS) {
|
||||
mControllerRendererPool.getController(mContext,
|
||||
card.getCardType()).onDismissed(card);
|
||||
}
|
||||
return super.performAccessibilityAction(host, action, args);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
|
||||
|
Reference in New Issue
Block a user