Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f771563 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

No focus highlight in prediction row

Bug: 181337130
Test: manual

Change-Id: Ic6598a02c575037208c8808e1f9e102b7b7be5e9
parent 23c0fc4a
Loading
Loading
Loading
Loading
+0 −18
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.R;
import com.android.launcher3.allapps.AllAppsSectionDecorator;
import com.android.launcher3.allapps.FloatingHeaderRow;
import com.android.launcher3.allapps.FloatingHeaderView;
import com.android.launcher3.anim.AlphaUpdateListener;
@@ -106,8 +105,6 @@ public class PredictionRowView extends LinearLayout implements

    private boolean mPredictionsEnabled = false;

    AllAppsSectionDecorator.SectionDecorationHandler mDecorationHandler;

    @Nullable
    private List<ItemInfo> mPendingPredictedItems;

@@ -129,11 +126,6 @@ public class PredictionRowView extends LinearLayout implements
        mIconFullTextAlpha = Color.alpha(mIconTextColor);
        mIconCurrentTextAlpha = mIconFullTextAlpha;

        if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) {
            mDecorationHandler = new AllAppsSectionDecorator.SectionDecorationHandler(getContext(),
                    false, 0, true, true);
        }

        updateVisibility();
    }

@@ -159,16 +151,6 @@ public class PredictionRowView extends LinearLayout implements

    @Override
    protected void dispatchDraw(Canvas canvas) {
        if (mDecorationHandler != null) {
            mDecorationHandler.reset();
            int childrenCount = getChildCount();
            for (int i = 0; i < childrenCount; i++) {
                mDecorationHandler.extendBounds(getChildAt(i));
            }
            mDecorationHandler.onGroupDraw(canvas);
            mDecorationHandler.onFocusDraw(canvas, getFocusedChild());
            mLauncher.getAppsView().getActiveRecyclerView().invalidateItemDecorations();
        }
        mFocusHelper.draw(canvas);
        super.dispatchDraw(canvas);
    }
+0 −17
Original line number Diff line number Diff line
@@ -48,7 +48,6 @@ public class AllAppsSectionDecorator extends RecyclerView.ItemDecoration {
    @Override
    public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
        List<AllAppsGridAdapter.AdapterItem> adapterItems = mAppsView.getApps().getAdapterItems();
        boolean drawFallbackFocusedView = true;
        for (int i = 0; i < parent.getChildCount(); i++) {
            View view = parent.getChildAt(i);
            int position = parent.getChildAdapterPosition(view);
@@ -60,28 +59,12 @@ public class AllAppsSectionDecorator extends RecyclerView.ItemDecoration {
                    decorationHandler.extendBounds(view);
                    if (sectionInfo.isFocusedView()) {
                        decorationHandler.onFocusDraw(c, view);
                        drawFallbackFocusedView = false;
                    } else {
                        decorationHandler.onGroupDraw(c);
                    }
                }
            }
        }
        // fallback logic in case none of the SearchTarget is labeled as focused item
        if (drawFallbackFocusedView) {
            for (int i = 0; i < parent.getChildCount(); i++) {
                View view = parent.getChildAt(i);
                int position = parent.getChildAdapterPosition(view);
                AllAppsGridAdapter.AdapterItem adapterItem = adapterItems.get(position);
                if (adapterItem.sectionDecorationInfo != null) {
                    SectionDecorationInfo sectionInfo = adapterItem.sectionDecorationInfo;
                    SectionDecorationHandler decorationHandler = sectionInfo.getDecorationHandler();
                    if (decorationHandler != null) {
                        drawDecoration(c, decorationHandler, parent);
                    }
                }
            }
        }
    }

    // Fallback logic in case non of the SearchTarget is labeled as focused item.