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
This commit is contained in:
parent
446aa8c122
commit
98f7350f8f
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue