Support accessibility for battery usage in U (1)

Fix b/265746746: TalkBack doesn't have any feedback after the actual double-tap of day bar and bi-hourly bar.

When users double clicked a time slot in battery usage chart with TalkBack on, jump the accessibility focus to the app list category title to let users know what happened after click.

screen record: https://drive.google.com/file/d/1ZuKQDBiTA2F8hHZDFvNx5nJEP-rMA0eZ/view?usp=sharing&resourcekey=0-2Q552VNxN4QwI2b5sdnvqg

Bug: 265746746
Fix: 265746746
Test: manual
Change-Id: I5485e714149014a96318fd88e8f8c854dde6cb67
This commit is contained in:
Zaiyue Xue
2023-01-17 17:05:17 +08:00
parent 818d07ab76
commit a52da7b599
3 changed files with 72 additions and 5 deletions

View File

@@ -27,7 +27,6 @@ import android.view.View;
import android.widget.AdapterView;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;
@@ -75,7 +74,7 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
@VisibleForTesting
Context mPrefContext;
@VisibleForTesting
PreferenceCategory mRootPreference;
AccessibilityFocusablePreferenceCategory mRootPreference;
@VisibleForTesting
SpinnerPreference mSpinnerPreference;
@VisibleForTesting
@@ -193,7 +192,6 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
showFooterPreference(isAllUsageDataEmpty, slotTimestamp);
}
// TODO: request accessibility focus on category title when slot selection updated.
private void showCategoryTitle(String slotTimestamp) {
mRootPreference.setTitle(slotTimestamp == null
? mPrefContext.getString(
@@ -201,6 +199,7 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
: mPrefContext.getString(
R.string.battery_usage_breakdown_title_for_slot, slotTimestamp));
mRootPreference.setVisible(true);
mRootPreference.requestAccessibilityFocus();
}
private void showFooterPreference(boolean isAllBatteryUsageEmpty, String slotTimestamp) {