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

Commit 78f53856 authored by Sreyas's avatar Sreyas
Browse files

Disabling OverviewActionsView buttons while scrolling or clear all shown.

Bug: 153469850, 153387526
Video: https://drive.google.com/a/google.com/file/d/1mOc8yubux92iKtXRtSOKTcnjWWzvDgC7/view?usp=sharing

Change-Id: Id507d3a050e67057fc34a30771c9566ddfcf94ca
parent e725a69f
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ import com.android.quickstep.TaskThumbnailCache;
import com.android.quickstep.TaskUtils;
import com.android.quickstep.ViewUtils;
import com.android.quickstep.util.AppWindowAnimationHelper;
import com.android.quickstep.util.LayoutUtils;
import com.android.quickstep.util.RecentsOrientedState;
import com.android.quickstep.util.WindowSizeStrategy;
import com.android.systemui.plugins.ResourceProvider;
@@ -597,9 +598,18 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
        }
    }

    @Override
    protected void onPageBeginTransition() {
        super.onPageBeginTransition();
        LayoutUtils.setViewEnabled(mActionsView, false);
    }

    @Override
    protected void onPageEndTransition() {
        super.onPageEndTransition();
        if (getScrollX() == getScrollForPage(getPageNearestToCenterOfScreen())) {
            LayoutUtils.setViewEnabled(mActionsView, true);
        }
        if (getNextPage() > 0) {
            setSwipeDownShouldLaunchApp(true);
        }
@@ -958,6 +968,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
        setCurrentPage(0);
        mDwbToastShown = false;
        mActivity.getSystemUiController().updateUiState(UI_STATE_OVERVIEW, 0);
        LayoutUtils.setViewEnabled(mActionsView, true);
    }

    public @Nullable TaskView getRunningTaskView() {
+2 −2
Original line number Diff line number Diff line
@@ -79,8 +79,8 @@

    <style name="OverviewActionButton"
        parent="@android:style/Widget.DeviceDefault.Button.Borderless">
        <item name="android:textColor">?attr/workspaceTextColor</item>
        <item name="android:drawableTint">?attr/workspaceTextColor</item>
        <item name="android:textColor">@color/overview_button</item>
        <item name="android:drawableTint">@color/overview_button</item>
        <item name="android:tint">?attr/workspaceTextColor</item>
        <item name="android:drawablePadding">4dp</item>
        <item name="android:textAllCaps">false</item>
+19 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ import static com.android.quickstep.util.WindowSizeStrategy.LAUNCHER_ACTIVITY_SI

import android.content.Context;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewGroup;

import com.android.launcher3.DeviceProfile;
import com.android.launcher3.R;
@@ -66,4 +68,21 @@ public class LayoutUtils {
            return srcHeight / targetHeight;
        }
    }

    /**
     * Recursively sets view and all children enabled/disabled.
     * @param viewGroup Top most parent view to change.
     * @param enabled True = enable, False = disable.
     */
    public static void setViewEnabled(ViewGroup viewGroup, boolean enabled) {
        viewGroup.setEnabled(enabled);
        for (int i = 0; i < viewGroup.getChildCount(); i++) {
            View child = viewGroup.getChildAt(i);
            if (child instanceof ViewGroup) {
                setViewEnabled((ViewGroup) child, enabled);
            } else {
                child.setEnabled(enabled);
            }
        }
    }
}
+11 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:alpha="1"
        android:color="?attr/workspaceTextColor"
        android:state_enabled="true" />
    <item
        android:alpha="?android:disabledAlpha"
        android:color="?attr/workspaceTextColor"
        android:state_enabled="false" />
</selector>
 No newline at end of file