Loading src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java +6 −1 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ import com.android.launcher3.allapps.search.AllAppsSearchUiDelegate; import com.android.launcher3.allapps.search.SearchAdapterProvider; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.keyboard.FocusedItemDecorator; import com.android.launcher3.keyboard.ViewGroupFocusHelper; import com.android.launcher3.model.StringCache; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.pm.UserCache; Loading Loading @@ -1535,7 +1536,11 @@ public class ActivityAllAppsContainerView<T extends Context & ActivityContext> // No animations will occur when changes occur to the items in this RecyclerView. mRecyclerView.setItemAnimator(null); onInitializeRecyclerView(mRecyclerView); FocusedItemDecorator focusedItemDecorator = new FocusedItemDecorator(mRecyclerView); // Use ViewGroupFocusHelper for SearchRecyclerView to draw focus outline for the // buttons in the view (e.g. query builder button and setting button) FocusedItemDecorator focusedItemDecorator = isSearch() ? new FocusedItemDecorator( new ViewGroupFocusHelper(mRecyclerView)) : new FocusedItemDecorator( mRecyclerView); mRecyclerView.addItemDecoration(focusedItemDecorator); mOnFocusChangeListener = focusedItemDecorator.getFocusListener(); mAdapter.setIconFocusListener(mOnFocusChangeListener); Loading src/com/android/launcher3/keyboard/FocusedItemDecorator.java +8 −3 Original line number Diff line number Diff line Loading @@ -20,12 +20,12 @@ import android.graphics.Canvas; import android.view.View; import android.view.View.OnFocusChangeListener; import com.android.launcher3.keyboard.FocusIndicatorHelper.SimpleFocusIndicatorHelper; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView.ItemDecoration; import androidx.recyclerview.widget.RecyclerView.State; import com.android.launcher3.keyboard.FocusIndicatorHelper.SimpleFocusIndicatorHelper; /** * {@link ItemDecoration} for drawing and animating focused view background. */ Loading @@ -37,12 +37,17 @@ public class FocusedItemDecorator extends ItemDecoration { mHelper = new SimpleFocusIndicatorHelper(container); } public FocusedItemDecorator(FocusIndicatorHelper focusIndicatorHelper) { mHelper = focusIndicatorHelper; } public OnFocusChangeListener getFocusListener() { return mHelper; } @Override public void onDraw(Canvas c, RecyclerView parent, State state) { public void onDrawOver(Canvas c, RecyclerView parent, State state) { // Use onDrawOver so focus outline is always visible mHelper.draw(c); } } src/com/android/launcher3/keyboard/ViewGroupFocusHelper.java +9 −1 Original line number Diff line number Diff line Loading @@ -50,10 +50,18 @@ public class ViewGroupFocusHelper extends FocusIndicatorHelper { } private void computeLocationRelativeToContainer(View child, Rect outRect) { View parent = (View) child.getParent(); if (child == null) { return; } outRect.left += child.getX(); outRect.top += child.getY(); if (child.getParent() == null || !(child.getParent() instanceof View)) { return; } View parent = (View) child.getParent(); if (parent != mContainer) { if (parent instanceof PagedView) { PagedView page = (PagedView) parent; Loading Loading
src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java +6 −1 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ import com.android.launcher3.allapps.search.AllAppsSearchUiDelegate; import com.android.launcher3.allapps.search.SearchAdapterProvider; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.keyboard.FocusedItemDecorator; import com.android.launcher3.keyboard.ViewGroupFocusHelper; import com.android.launcher3.model.StringCache; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.pm.UserCache; Loading Loading @@ -1535,7 +1536,11 @@ public class ActivityAllAppsContainerView<T extends Context & ActivityContext> // No animations will occur when changes occur to the items in this RecyclerView. mRecyclerView.setItemAnimator(null); onInitializeRecyclerView(mRecyclerView); FocusedItemDecorator focusedItemDecorator = new FocusedItemDecorator(mRecyclerView); // Use ViewGroupFocusHelper for SearchRecyclerView to draw focus outline for the // buttons in the view (e.g. query builder button and setting button) FocusedItemDecorator focusedItemDecorator = isSearch() ? new FocusedItemDecorator( new ViewGroupFocusHelper(mRecyclerView)) : new FocusedItemDecorator( mRecyclerView); mRecyclerView.addItemDecoration(focusedItemDecorator); mOnFocusChangeListener = focusedItemDecorator.getFocusListener(); mAdapter.setIconFocusListener(mOnFocusChangeListener); Loading
src/com/android/launcher3/keyboard/FocusedItemDecorator.java +8 −3 Original line number Diff line number Diff line Loading @@ -20,12 +20,12 @@ import android.graphics.Canvas; import android.view.View; import android.view.View.OnFocusChangeListener; import com.android.launcher3.keyboard.FocusIndicatorHelper.SimpleFocusIndicatorHelper; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView.ItemDecoration; import androidx.recyclerview.widget.RecyclerView.State; import com.android.launcher3.keyboard.FocusIndicatorHelper.SimpleFocusIndicatorHelper; /** * {@link ItemDecoration} for drawing and animating focused view background. */ Loading @@ -37,12 +37,17 @@ public class FocusedItemDecorator extends ItemDecoration { mHelper = new SimpleFocusIndicatorHelper(container); } public FocusedItemDecorator(FocusIndicatorHelper focusIndicatorHelper) { mHelper = focusIndicatorHelper; } public OnFocusChangeListener getFocusListener() { return mHelper; } @Override public void onDraw(Canvas c, RecyclerView parent, State state) { public void onDrawOver(Canvas c, RecyclerView parent, State state) { // Use onDrawOver so focus outline is always visible mHelper.draw(c); } }
src/com/android/launcher3/keyboard/ViewGroupFocusHelper.java +9 −1 Original line number Diff line number Diff line Loading @@ -50,10 +50,18 @@ public class ViewGroupFocusHelper extends FocusIndicatorHelper { } private void computeLocationRelativeToContainer(View child, Rect outRect) { View parent = (View) child.getParent(); if (child == null) { return; } outRect.left += child.getX(); outRect.top += child.getY(); if (child.getParent() == null || !(child.getParent() instanceof View)) { return; } View parent = (View) child.getParent(); if (parent != mContainer) { if (parent instanceof PagedView) { PagedView page = (PagedView) parent; Loading