Update R acessibility assets and strings (2/n)

- Temporary-use template summary by shortcut state

Bug: 148837311
Test: Manual test
Change-Id: Ia720b8f3f317bb1874d6758ebc4fbf4145d0c217
This commit is contained in:
menghanli
2020-03-10 21:15:24 +08:00
parent 42dcad9b2b
commit 19cf6ddff8
5 changed files with 45 additions and 15 deletions

View File

@@ -5063,9 +5063,13 @@
<item quantity="other"><xliff:g id="number_device_count">%1$d</xliff:g> saved hearing aids</item>
</plurals>
<!-- Preference's state when enabled. -->
<!-- Preference's shortcut when enabled. [CHAR LIMIT=NONE] -->
<string name="accessibility_summary_shortcut_enabled">Shortcut on</string>
<!-- Preference's shortcut when disabled. [CHAR LIMIT=NONE] -->
<string name="accessibility_summary_shortcut_disabled">Off</string>
<!-- Preference's state when enabled. [CHAR LIMIT=NONE] -->
<string name="accessibility_summary_state_enabled">On</string>
<!-- Preference's state when disabled. -->
<!-- Preference's state when disabled. [CHAR LIMIT=NONE] -->
<string name="accessibility_summary_state_disabled">Off</string>
<!-- Accessibility service's preference's state when enabled but not running (like maybe it crashed). -->
<string name="accessibility_summary_state_stopped">Not working. Tap for info.</string>

View File

@@ -76,8 +76,6 @@ public class AccessibilitySettings extends DashboardFragment {
// Index of the first preference in a preference category.
private static final int FIRST_PREFERENCE_IN_CATEGORY_INDEX = -1;
private static final String EMPTY_STRING = "";
// Preference categories
private static final String CATEGORY_SCREEN_READER = "screen_reader_category";
private static final String CATEGORY_AUDIO_AND_CAPTIONS = "audio_and_captions_category";
@@ -195,6 +193,10 @@ public class AccessibilitySettings extends DashboardFragment {
for (AccessibilityShortcutController.ToggleableFrameworkFeatureInfo feature : features) {
shortcutFeatureKeys.add(feature.getSettingKey());
}
// Observe changes from accessibility selection menu
shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT);
shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
mSettingsContentObserver = new SettingsContentObserver(mHandler, shortcutFeatureKeys) {
@Override
public void onChange(boolean selfChange, Uri uri) {
@@ -268,16 +270,24 @@ public class AccessibilitySettings extends DashboardFragment {
return context.getText(R.string.accessibility_summary_state_stopped);
}
final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
final CharSequence serviceState;
final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
return TextUtils.isEmpty(serviceSummary) ? EMPTY_STRING : serviceSummary;
}
final CharSequence serviceState = serviceEnabled
final ComponentName componentName = new ComponentName(
info.getResolveInfo().serviceInfo.packageName,
info.getResolveInfo().serviceInfo.name);
final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
serviceState = shortcutEnabled
? context.getText(R.string.accessibility_summary_shortcut_enabled)
: context.getText(R.string.accessibility_summary_shortcut_disabled);
} else {
serviceState = serviceEnabled
? context.getText(R.string.accessibility_summary_state_enabled)
: context.getText(R.string.accessibility_summary_state_disabled);
}
final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
final String stateSummaryCombo = context.getString(
R.string.preference_summary_default_combination,
serviceState, serviceSummary);
@@ -485,6 +495,8 @@ public class AccessibilitySettings extends DashboardFragment {
mCategoryToPrefCategoryMap.get(CATEGORY_DISPLAY);
experimentalCategory.removePreference(mToggleInversionPreference);
experimentalCategory.removePreference(mDisplayDaltonizerPreferenceScreen);
mDisplayMagnificationPreferenceScreen.setSummary(
ToggleScreenMagnificationPreferenceFragment.getServiceSummary(getContext()));
mDisplayDaltonizerPreferenceScreen.setOrder(
mDisplayMagnificationPreferenceScreen.getOrder() + 1);
mDisplayDaltonizerPreferenceScreen.setSummary(AccessibilityUtil.getSummary(

View File

@@ -22,7 +22,6 @@ import android.os.Bundle;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
public class MagnificationPreferenceController extends BasePreferenceController {
@@ -40,8 +39,7 @@ public class MagnificationPreferenceController extends BasePreferenceController
@Override
public CharSequence getSummary() {
return mContext.getResources().getText(
R.string.accessibility_screen_magnification_navbar_title);
return ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext);
}
@Override

View File

@@ -624,4 +624,17 @@ public class ToggleScreenMagnificationPreferenceFragment extends
}
return shortcutTypes;
}
/**
* Gets the service summary of magnification.
*
* @param context The current context.
*/
public static CharSequence getServiceSummary(Context context) {
// Get the user shortcut type from settings provider.
final int uerShortcutType = getUserShortcutTypeFromSettings(context);
return (uerShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
? context.getText(R.string.accessibility_summary_shortcut_enabled)
: context.getText(R.string.accessibility_summary_shortcut_disabled);
}
}

View File

@@ -130,14 +130,17 @@ public class AccessibilitySettingsTest {
}
@Test
public void getServiceSummary_invisibleType_showsDefaultSummary() {
public void getServiceSummary_invisibleType_shortcutDisabled_showsOffSummary() {
setInvisibleFragmentType(mServiceInfo);
doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
mServiceInfo, SERVICE_ENABLED);
assertThat(summary).isEqualTo(DEFAULT_SUMMARY);
assertThat(summary).isEqualTo(
mContext.getString(R.string.preference_summary_default_combination,
mContext.getString(R.string.accessibility_summary_shortcut_disabled),
DEFAULT_SUMMARY));
}
@Test