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

Commit 3f2637fa authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Adding support for extending back behavior in Launcher

Bug: 231224820
Test: Manual
Change-Id: I9accc30c01dce5f6920b611cfeed9fa0584d2846
parent 4608bd00
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -2032,11 +2032,14 @@ public class Launcher extends StatefulActivity<LauncherState>
        // Note: There should be at most one log per method call. This is enforced implicitly
        // by using if-else statements.
        AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(this);
        if (topView != null && topView.onBackPressed()) {
            // Handled by the floating view.
        } else {
            mStateManager.getState().onBackPressed(this);
        if (topView == null || !topView.onBackPressed()) {
            // Not handled by the floating view.
            onStateBack();
        }
    }

    protected void onStateBack() {
        mStateManager.getState().onBackPressed(this);
    }

    protected void onScreenOff() {
+0 −29
Original line number Diff line number Diff line
@@ -15,9 +15,7 @@
 */
package com.android.launcher3.allapps;

import static android.view.View.MeasureSpec.EXACTLY;
import static android.view.View.MeasureSpec.UNSPECIFIED;
import static android.view.View.MeasureSpec.makeMeasureSpec;

import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_SCROLLED;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_VERTICAL_SWIPE_BEGIN;
@@ -47,7 +45,6 @@ import com.android.launcher3.logging.StatsLogManager;
import com.android.launcher3.views.ActivityContext;
import com.android.launcher3.views.RecyclerViewFastScroller;

import java.util.ArrayList;
import java.util.List;

/**
@@ -97,8 +94,6 @@ public class AllAppsRecyclerView extends BaseRecyclerView {
    private AllAppsBackgroundDrawable mEmptySearchBackground;
    private int mEmptySearchBackgroundTopOffset;

    private ArrayList<View> mAutoSizedOverlays = new ArrayList<>();

    public AllAppsRecyclerView(Context context) {
        this(context, null);
    }
@@ -172,30 +167,6 @@ public class AllAppsRecyclerView extends BaseRecyclerView {
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        updateEmptySearchBackgroundBounds();
        updatePoolSize();
        for (int i = 0; i < mAutoSizedOverlays.size(); i++) {
            View overlay = mAutoSizedOverlays.get(i);
            overlay.measure(makeMeasureSpec(w, EXACTLY), makeMeasureSpec(w, EXACTLY));
            overlay.layout(0, 0, w, h);
        }
    }

    /**
     * Adds an overlay that automatically rescales with the recyclerview.
     */
    public void addAutoSizedOverlay(View overlay) {
        mAutoSizedOverlays.add(overlay);
        getOverlay().add(overlay);
        onSizeChanged(getWidth(), getHeight(), getWidth(), getHeight());
    }

    /**
     * Clears auto scaling overlay views added by #addAutoSizedOverlay
     */
    public void clearAutoSizedOverlays() {
        for (View v : mAutoSizedOverlays) {
            getOverlay().remove(v);
        }
        mAutoSizedOverlays.clear();
    }

    public void onSearchResultsChanged() {