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

Commit 1a267811 authored by Hyunyoung Song's avatar Hyunyoung Song Committed by Android (Google) Code Review
Browse files

Merge "No focus highlight in prediction row" into sc-dev

parents 2e2ec965 0f771563
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.