Merge "Uses WorkspaceSurfaceHolderCallback for GridPreviewer" into ub-launcher3-master
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index 5b76b36..ef97385 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -160,6 +160,11 @@
return mOptions.get(position).getLayoutResId();
}
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
@NonNull
@Override
public TileViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -225,6 +230,11 @@
mContainer.setLayoutManager(new LinearLayoutManager(mContainer.getContext(),
LinearLayoutManager.HORIZONTAL, false));
Resources res = mContainer.getContext().getResources();
+
+ // A workaround from b/37088814, fix TalkBack will lose focus when receive notify*Changed()
+ mAdapter.setHasStableIds(true);
+ mContainer.setItemAnimator(null);
+
mContainer.setAdapter(mAdapter);
// Measure RecyclerView to get to the total amount of space used by all options.