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

Commit 98f7350f authored by Tony Mak's avatar Tony Mak
Browse files

Fix accessiblity issue around work tab

1. Instead of always announcing "Apps list", we now announce
"personal apps list" and "work apps list" if tab is there.
2. Fix an issue that "personal" and "work" are announced twice.
3. Work footer is now announced as a group

FIX: 71703082

Change-Id: I0240bc04df09a5599540cfe67f0f48156f285548
parent 446aa8c1
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.R;
import com.android.launcher3.allapps.AllAppsContainerView;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;

/**
@@ -58,7 +59,8 @@ public class AllAppsState extends LauncherState {

    @Override
    public String getDescription(Launcher launcher) {
        return launcher.getString(R.string.all_apps_button_label);
        AllAppsContainerView appsView = launcher.getAppsView();
        return appsView.getDescription();
    }

    @Override
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:paddingBottom="@dimen/all_apps_work_profile_tab_footer_bottom_padding"
    android:paddingLeft="@dimen/dynamic_grid_cell_padding_x"
    android:paddingRight="@dimen/dynamic_grid_cell_padding_x"
+3 −0
Original line number Diff line number Diff line
@@ -80,6 +80,9 @@

    <!-- All applications label -->
    <string name="all_apps_button_label">Apps list</string>
    <string name="all_apps_button_personal_label">Personal apps list</string>
    <string name="all_apps_button_work_label">Work apps list</string>

    <!-- Label for button in all applications label to go back home (to the workspace / desktop)
         for accessibilty (spoken when the button gets focus). -->
    <string name="all_apps_home_button_label">Home</string>
+14 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.graphics.Rect;
import android.os.Process;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Selection;
@@ -192,6 +193,19 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
        return false;
    }

    public String getDescription() {
        @StringRes int descriptionRes;
        if (mUsingTabs) {
            descriptionRes =
                    mViewPager.getNextPage() == 0
                            ? R.string.all_apps_button_personal_label
                            : R.string.all_apps_button_work_label;
        } else {
            descriptionRes = R.string.all_apps_button_label;
        }
        return getContext().getString(descriptionRes);
    }

    public AllAppsRecyclerView getActiveRecyclerView() {
        if (!mUsingTabs || mViewPager.getNextPage() == 0) {
            return mAH[AdapterHolder.MAIN].recyclerView;
+3 −4
Original line number Diff line number Diff line
@@ -17,10 +17,9 @@ package com.android.launcher3.allapps;

import android.content.Context;
import android.util.AttributeSet;

import android.view.MotionEvent;

import com.android.launcher3.PagedView;
import com.android.launcher3.R;

public class AllAppsPagedView extends PagedView<PersonalWorkSlidingTabStrip> {

@@ -42,8 +41,8 @@ public class AllAppsPagedView extends PagedView<PersonalWorkSlidingTabStrip> {

    @Override
    protected String getCurrentPageDescription() {
        return getResources().getString(
                getNextPage() == 0 ? R.string.all_apps_personal_tab : R.string.all_apps_work_tab);
        // Not necessary, tab-bar already has two tabs with their own descriptions.
        return "";
    }

    @Override