Change the name of accessibility service fragment type to more descriptive names
Bug: 155052371 Test: manual test Change-Id: I097138c84083528acd4d16a145921227ffe3f736
This commit is contained in:
@@ -269,7 +269,7 @@ public class AccessibilitySettings extends DashboardFragment {
|
||||
|
||||
final CharSequence serviceState;
|
||||
final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
|
||||
if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
|
||||
if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE_TOGGLE) {
|
||||
final ComponentName componentName = new ComponentName(
|
||||
info.getResolveInfo().serviceInfo.packageName,
|
||||
info.getResolveInfo().serviceInfo.name);
|
||||
@@ -652,13 +652,16 @@ public class AccessibilitySettings extends DashboardFragment {
|
||||
}
|
||||
|
||||
private String getAccessibilityServiceFragmentTypeName(AccessibilityServiceInfo info) {
|
||||
switch (AccessibilityUtil.getAccessibilityServiceFragmentType(
|
||||
info)) {
|
||||
case AccessibilityServiceFragmentType.LEGACY:
|
||||
return LegacyAccessibilityServicePreferenceFragment.class.getName();
|
||||
case AccessibilityServiceFragmentType.INVISIBLE:
|
||||
// Shorten the name to avoid exceeding 100 characters in one line.
|
||||
final String volumeShortcutToggleAccessibilityServicePreferenceFragment =
|
||||
VolumeShortcutToggleAccessibilityServicePreferenceFragment.class.getName();
|
||||
|
||||
switch (AccessibilityUtil.getAccessibilityServiceFragmentType(info)) {
|
||||
case AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE:
|
||||
return volumeShortcutToggleAccessibilityServicePreferenceFragment;
|
||||
case AccessibilityServiceFragmentType.INVISIBLE_TOGGLE:
|
||||
return InvisibleToggleAccessibilityServicePreferenceFragment.class.getName();
|
||||
case AccessibilityServiceFragmentType.INTUITIVE:
|
||||
case AccessibilityServiceFragmentType.TOGGLE:
|
||||
return ToggleAccessibilityServicePreferenceFragment.class.getName();
|
||||
default:
|
||||
// impossible status
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType.LEGACY;
|
||||
import static com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE;
|
||||
|
||||
import android.accessibilityservice.AccessibilityServiceInfo;
|
||||
import android.app.settings.SettingsEnums;
|
||||
@@ -102,10 +102,10 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
|
||||
super.onResume();
|
||||
updateAccessibilityServicePreference(mScreenReaderPreference,
|
||||
SCREEN_READER_PACKAGE_NAME, SCREEN_READER_SERVICE_NAME,
|
||||
LegacyToggleScreenReaderPreferenceFragmentForSetupWizard.class.getName());
|
||||
VolumeShortcutToggleScreenReaderPreferenceFragmentForSetupWizard.class.getName());
|
||||
updateAccessibilityServicePreference(mSelectToSpeakPreference,
|
||||
SELECT_TO_SPEAK_PACKAGE_NAME, SELECT_TO_SPEAK_SERVICE_NAME,
|
||||
LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard.class.getName());
|
||||
VolumeShortcutToggleSelectToSpeakPreferenceFragmentForSetupWizard.class.getName());
|
||||
configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreference);
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
|
||||
}
|
||||
|
||||
private void updateAccessibilityServicePreference(Preference preference,
|
||||
String packageName, String serviceName, String targetLegacyFragment) {
|
||||
String packageName, String serviceName, String targetFragment) {
|
||||
final AccessibilityServiceInfo info = findService(packageName, serviceName);
|
||||
if (info == null) {
|
||||
getPreferenceScreen().removePreference(preference);
|
||||
@@ -159,8 +159,8 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
|
||||
preference.setTitle(title);
|
||||
ComponentName componentName = new ComponentName(serviceInfo.packageName, serviceInfo.name);
|
||||
preference.setKey(componentName.flattenToString());
|
||||
if (AccessibilityUtil.getAccessibilityServiceFragmentType(info) == LEGACY) {
|
||||
preference.setFragment(targetLegacyFragment);
|
||||
if (AccessibilityUtil.getAccessibilityServiceFragmentType(info) == VOLUME_SHORTCUT_TOGGLE) {
|
||||
preference.setFragment(targetFragment);
|
||||
}
|
||||
|
||||
// Update the extras.
|
||||
|
@@ -46,22 +46,23 @@ final class AccessibilityUtil {
|
||||
/**
|
||||
* Annotation for different accessibilityService fragment UI type.
|
||||
*
|
||||
* {@code LEGACY} for displaying appearance aligned with sdk version Q accessibility service
|
||||
* page, but only hardware shortcut allowed.
|
||||
* {@code INVISIBLE} for displaying appearance without switch bar.
|
||||
* {@code INTUITIVE} for displaying appearance with new design.
|
||||
* {@code VOLUME_SHORTCUT_TOGGLE} for displaying basic accessibility service fragment but
|
||||
* only hardware shortcut allowed.
|
||||
* {@code INVISIBLE_TOGGLE} for displaying basic accessibility service fragment without
|
||||
* switch bar.
|
||||
* {@code TOGGLE} for displaying basic accessibility service fragment.
|
||||
*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef({
|
||||
AccessibilityServiceFragmentType.LEGACY,
|
||||
AccessibilityServiceFragmentType.INVISIBLE,
|
||||
AccessibilityServiceFragmentType.INTUITIVE,
|
||||
AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE,
|
||||
AccessibilityServiceFragmentType.INVISIBLE_TOGGLE,
|
||||
AccessibilityServiceFragmentType.TOGGLE,
|
||||
})
|
||||
|
||||
public @interface AccessibilityServiceFragmentType {
|
||||
int LEGACY = 0;
|
||||
int INVISIBLE = 1;
|
||||
int INTUITIVE = 2;
|
||||
int VOLUME_SHORTCUT_TOGGLE = 0;
|
||||
int INVISIBLE_TOGGLE = 1;
|
||||
int TOGGLE = 2;
|
||||
}
|
||||
|
||||
// TODO(b/147021230): Will move common functions and variables to
|
||||
@@ -162,11 +163,11 @@ final class AccessibilityUtil {
|
||||
& AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
|
||||
|
||||
if (targetSdk <= Build.VERSION_CODES.Q) {
|
||||
return AccessibilityServiceFragmentType.LEGACY;
|
||||
return AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE;
|
||||
}
|
||||
return requestA11yButton
|
||||
? AccessibilityServiceFragmentType.INVISIBLE
|
||||
: AccessibilityServiceFragmentType.INTUITIVE;
|
||||
? AccessibilityServiceFragmentType.INVISIBLE_TOGGLE
|
||||
: AccessibilityServiceFragmentType.TOGGLE;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -34,7 +34,7 @@ import com.google.common.collect.ImmutableSet;
|
||||
*
|
||||
* <p>For accessibility services that target SDK <= Q.
|
||||
*/
|
||||
public class LegacyAccessibilityServicePreferenceFragment extends
|
||||
public class VolumeShortcutToggleAccessibilityServicePreferenceFragment extends
|
||||
ToggleAccessibilityServicePreferenceFragment {
|
||||
|
||||
@Override
|
@@ -21,8 +21,8 @@ import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
/** For accessibility services that target SDK <= Q in setup wizard. */
|
||||
public class LegacyToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
extends LegacyAccessibilityServicePreferenceFragment {
|
||||
public class VolumeShortcutToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
extends VolumeShortcutToggleAccessibilityServicePreferenceFragment {
|
||||
|
||||
private boolean mToggleSwitchWasInitiallyChecked;
|
||||
|
@@ -21,8 +21,8 @@ import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
/** For accessibility services that target SDK <= Q in setup wizard. */
|
||||
public class LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard
|
||||
extends LegacyAccessibilityServicePreferenceFragment {
|
||||
public class VolumeShortcutToggleSelectToSpeakPreferenceFragmentForSetupWizard
|
||||
extends VolumeShortcutToggleAccessibilityServicePreferenceFragment {
|
||||
|
||||
private boolean mToggleSwitchWasInitiallyChecked;
|
||||
|
@@ -130,8 +130,8 @@ public class AccessibilitySettingsTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getServiceSummary_invisibleType_shortcutDisabled_showsOffSummary() {
|
||||
setInvisibleFragmentType(mServiceInfo);
|
||||
public void getServiceSummary_invisibleToggle_shortcutDisabled_showsOffSummary() {
|
||||
setInvisibleToggleFragmentType(mServiceInfo);
|
||||
doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
|
||||
|
||||
final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
|
||||
@@ -277,7 +277,7 @@ public class AccessibilitySettingsTest {
|
||||
when(mockInfo.getComponentName()).thenReturn(DUMMY_COMPONENT_NAME);
|
||||
}
|
||||
|
||||
private void setInvisibleFragmentType(AccessibilityServiceInfo info) {
|
||||
private void setInvisibleToggleFragmentType(AccessibilityServiceInfo info) {
|
||||
info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.R;
|
||||
info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
|
||||
}
|
||||
|
@@ -102,36 +102,36 @@ public final class AccessibilityUtilTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAccessibilityServiceFragmentType_targetSdkQ_legacyType() {
|
||||
public void getAccessibilityServiceFragmentType_targetSdkQ_volumeShortcutType() {
|
||||
final AccessibilityServiceInfo info = getMockAccessibilityServiceInfo();
|
||||
|
||||
info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.Q;
|
||||
info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
|
||||
|
||||
assertThat(AccessibilityUtil.getAccessibilityServiceFragmentType(info)).isEqualTo(
|
||||
AccessibilityUtil.AccessibilityServiceFragmentType.LEGACY);
|
||||
AccessibilityUtil.AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAccessibilityServiceFragmentType_targetSdkR_HaveA11yButton_headlessType() {
|
||||
public void getAccessibilityServiceFragmentType_targetSdkR_HaveA11yButton_invisibleType() {
|
||||
final AccessibilityServiceInfo info = getMockAccessibilityServiceInfo();
|
||||
|
||||
info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.R;
|
||||
info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
|
||||
|
||||
assertThat(AccessibilityUtil.getAccessibilityServiceFragmentType(info)).isEqualTo(
|
||||
AccessibilityUtil.AccessibilityServiceFragmentType.INVISIBLE);
|
||||
AccessibilityUtil.AccessibilityServiceFragmentType.INVISIBLE_TOGGLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAccessibilityServiceFragmentType_targetSdkR_NoA11yButton_intuitiveType() {
|
||||
public void getAccessibilityServiceFragmentType_targetSdkR_NoA11yButton_toggleType() {
|
||||
final AccessibilityServiceInfo info = getMockAccessibilityServiceInfo();
|
||||
|
||||
info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.R;
|
||||
info.flags |= ~AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
|
||||
|
||||
assertThat(AccessibilityUtil.getAccessibilityServiceFragmentType(info)).isEqualTo(
|
||||
AccessibilityUtil.AccessibilityServiceFragmentType.INTUITIVE);
|
||||
AccessibilityUtil.AccessibilityServiceFragmentType.TOGGLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user