mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Accessibility sugar for Recents
Adding various-pitch earcorns that depend on the scroll state and position in the list notifications. This is for Talkback. Bug: 72222505 Test: Manual Change-Id: I99ffe553f7a20d057940197d97506bc1a14a193e
This commit is contained in:
committed by
Vadim Tryshev
parent
e47fc65716
commit
79141a1236
@@ -54,7 +54,9 @@ import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewDebug;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.android.launcher3.BaseActivity;
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
@@ -1334,6 +1336,34 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
|
||||
super.onInitializeAccessibilityNodeInfo(info);
|
||||
|
||||
final AccessibilityNodeInfo.CollectionInfo
|
||||
collectionInfo = AccessibilityNodeInfo.CollectionInfo.obtain(
|
||||
1, getChildCount(), false,
|
||||
AccessibilityNodeInfo.CollectionInfo.SELECTION_MODE_NONE);
|
||||
info.setCollectionInfo(collectionInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
|
||||
super.onInitializeAccessibilityEvent(event);
|
||||
|
||||
if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_SCROLLED) {
|
||||
event.setFromIndex(getCurrentPage());
|
||||
event.setToIndex(getCurrentPage());
|
||||
event.setItemCount(getChildCount());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getAccessibilityClassName() {
|
||||
// To hear position-in-list related feedback from Talkback.
|
||||
return ListView.class.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isPageOrderFlipped() {
|
||||
return true;
|
||||
|
||||
@@ -320,7 +320,13 @@ public class TaskView extends FrameLayout implements TaskCallbacks, PageCallback
|
||||
}
|
||||
}
|
||||
|
||||
getRecentsView().addTaskAccessibilityActionsExtra(info);
|
||||
final RecentsView recentsView = getRecentsView();
|
||||
recentsView.addTaskAccessibilityActionsExtra(info);
|
||||
|
||||
final AccessibilityNodeInfo.CollectionItemInfo itemInfo =
|
||||
AccessibilityNodeInfo.CollectionItemInfo.obtain(
|
||||
0, 1, recentsView.indexOfChild(this), 1, false);
|
||||
info.setCollectionItemInfo(itemInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user