Ensure that custom actions are available to all apps items
-> When BubbleTextViews were being recycled, the RecyclerView was clearing the
AccessibilityDelegate. Ensure that this is reset by the adapter when a
BubbleTextView is reused.
issue 25948877
Change-Id: I95dd21bfdcd602a67925d1b8f06e6ca92d1d7203
diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
index aa6e08e..6bf8abf 100644
--- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
+++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
@@ -118,7 +118,9 @@
info.addAction(mActions.get(RESIZE));
}
}
- } if ((item instanceof AppInfo) || (item instanceof PendingAddItemInfo)) {
+ }
+
+ if ((item instanceof AppInfo) || (item instanceof PendingAddItemInfo)) {
info.addAction(mActions.get(ADD_TO_WORKSPACE));
}
}
diff --git a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
index 115db9d..81a05a2 100644
--- a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
+++ b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
@@ -511,12 +511,16 @@
AppInfo info = mApps.getAdapterItems().get(position).appInfo;
BubbleTextView icon = (BubbleTextView) holder.mContent;
icon.applyFromApplicationInfo(info);
+ icon.setAccessibilityDelegate(
+ LauncherAppState.getInstance().getAccessibilityDelegate());
break;
}
case PREDICTION_ICON_VIEW_TYPE: {
AppInfo info = mApps.getAdapterItems().get(position).appInfo;
BubbleTextView icon = (BubbleTextView) holder.mContent;
icon.applyFromApplicationInfo(info);
+ icon.setAccessibilityDelegate(
+ LauncherAppState.getInstance().getAccessibilityDelegate());
break;
}
case EMPTY_SEARCH_VIEW_TYPE: