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

Commit f6254c59 authored by Anushree Ganjam's avatar Anushree Ganjam
Browse files

Do not add HOTSEAT_ICONS to visible elements for device type "phone" in

ALL_APPS State

HOTSEAT_ICONS got added to visible elements for ALL_APPS State in ag/16992837.

============================================================
Phone
Before:
HotSeat present in view hierarchy - https://hsv.googleplex.com/4906040983289856?node=41
Video: https://b.corp.google.com/issues/228803923#comment9

After:
HotSeat not present in view hierarchy - https://hsv.googleplex.com/5379653922455552?node=42
Video: https://b.corp.google.com/issues/228803923#comment11
============================================================

Tablets

I couldn't test this implementation on tablet. But I have verified on a phone
locally by adding HOTSEAT_ICONS to visible elements and then verifying
"IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS" get set and hotseat icons are not focusable in all apps.
Video : https://b.corp.google.com/issues/228803923#comment14

============================================================

Bug: 228803923
Bug: 227565451

Test: Manual. See the video attached in bug.
Change-Id: I055e3bb61c8cfd240e0fe1000fe3a391a150f6d1
parent 8073fc8d
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -30,7 +30,8 @@ import com.android.launcher3.util.Themes;
 */
public class AllAppsState extends LauncherState {

    private static final int STATE_FLAGS = FLAG_WORKSPACE_INACCESSIBLE | FLAG_CLOSE_POPUPS;
    private static final int STATE_FLAGS =
            FLAG_WORKSPACE_INACCESSIBLE | FLAG_CLOSE_POPUPS | FLAG_HOTSEAT_INACCESSIBLE;

    public AllAppsState(int id) {
        super(id, LAUNCHER_STATE_ALLAPPS, STATE_FLAGS);
@@ -88,7 +89,9 @@ public class AllAppsState extends LauncherState {

    @Override
    public int getVisibleElements(Launcher launcher) {
        return ALL_APPS_CONTENT | HOTSEAT_ICONS;
        // Don't add HOTSEAT_ICONS for phones in ALL_APPS state.
        return launcher.getDeviceProfile().isPhone ? ALL_APPS_CONTENT
                : ALL_APPS_CONTENT | HOTSEAT_ICONS;
    }

    @Override
+3 −0
Original line number Diff line number Diff line
@@ -80,6 +80,9 @@ public abstract class LauncherState implements BaseState<LauncherState> {
    public static final int FLAG_CLOSE_POPUPS = BaseState.getFlag(6);
    public static final int FLAG_OVERVIEW_UI = BaseState.getFlag(7);

    // Flag indicating that hotseat and its contents are not accessible.
    public static final int FLAG_HOTSEAT_INACCESSIBLE = BaseState.getFlag(8);


    public static final float NO_OFFSET = 0;
    public static final float NO_SCALE = 1;
+7 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X;
import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y;
import static com.android.launcher3.LauncherAnimUtils.WORKSPACE_SCALE_PROPERTY_FACTORY;
import static com.android.launcher3.LauncherState.FLAG_HAS_SYS_UI_SCRIM;
import static com.android.launcher3.LauncherState.FLAG_HOTSEAT_INACCESSIBLE;
import static com.android.launcher3.LauncherState.HINT_STATE;
import static com.android.launcher3.LauncherState.HOTSEAT_ICONS;
import static com.android.launcher3.LauncherState.NORMAL;
@@ -151,6 +152,12 @@ public class WorkspaceStateTransitionAnimation {
        propertySetter.setViewAlpha(mLauncher.getWorkspace().getPageIndicator(),
                workspacePageIndicatorAlpha, fadeInterpolator);

        // Update the accessibility flags for hotseat based on launcher state.
        hotseat.setImportantForAccessibility(
                state.hasFlag(FLAG_HOTSEAT_INACCESSIBLE)
                        ? View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
                        : View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);

        Interpolator translationInterpolator =
                config.getInterpolator(ANIM_WORKSPACE_TRANSLATE, ZOOM_OUT);
        propertySetter.setFloat(mWorkspace, VIEW_TRANSLATE_X,