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
(cherry picked from commit 6e92f05314ae240dccd11347ea86529066b528b3)
Change-Id: I5f0773333186e5ffe4600f49330b4390cd3fbaeb
diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
index 2306b77..646b463 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 42a395d..255e417 100644
--- a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
+++ b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
@@ -44,6 +44,7 @@
import com.android.launcher3.AppInfo;
import com.android.launcher3.BubbleTextView;
import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherAppState;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
@@ -564,12 +565,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: