Merge "Renaming for accessibility fragment type and functions." into rvc-dev am: 83c4af69d0 am: a5d6524099 am: 0964b50993

Change-Id: Iab4d683451c0a925d3ea727c552419eedbb5167e
This commit is contained in:
PETER LIANG
2020-04-13 13:27:19 +00:00
committed by Automerger Merge Worker
3 changed files with 68 additions and 66 deletions

View File

@@ -55,26 +55,27 @@ public final class ShortcutConstants {
} }
/** /**
* Annotation for different accessibilityService fragment UI type. * Annotation for the different accessibility fragment type.
* *
* {@code LEGACY} for displaying appearance aligned with sdk version Q accessibility service * {@code VOLUME_SHORTCUT_TOGGLE} for displaying appearance with switch bar and only one
* page, but only hardware shortcut allowed and under service in version Q or early. * shortcut option that is volume key shortcut.
* {@code INVISIBLE} for displaying appearance without switch bar. * {@code INVISIBLE_TOGGLE} for displaying appearance without switch bar.
* {@code INTUITIVE} for displaying appearance with version R accessibility design. * {@code TOGGLE} for displaying appearance with switch bar.
* {@code BOUNCE} for displaying appearance with pop-up action. * {@code LAUNCH_ACTIVITY} for displaying appearance with pop-up action that is for launch
* activity.
*/ */
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
@IntDef({ @IntDef({
AccessibilityServiceFragmentType.LEGACY, AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE,
AccessibilityServiceFragmentType.INVISIBLE, AccessibilityFragmentType.INVISIBLE_TOGGLE,
AccessibilityServiceFragmentType.INTUITIVE, AccessibilityFragmentType.TOGGLE,
AccessibilityServiceFragmentType.BOUNCE, AccessibilityFragmentType.LAUNCH_ACTIVITY,
}) })
public @interface AccessibilityServiceFragmentType { public @interface AccessibilityFragmentType {
int LEGACY = 0; int VOLUME_SHORTCUT_TOGGLE = 0;
int INVISIBLE = 1; int INVISIBLE_TOGGLE = 1;
int INTUITIVE = 2; int TOGGLE = 2;
int BOUNCE = 3; int LAUNCH_ACTIVITY = 3;
} }
/** /**

View File

@@ -15,7 +15,7 @@
*/ */
package com.android.internal.accessibility.util; package com.android.internal.accessibility.util;
import static com.android.internal.accessibility.common.ShortcutConstants.AccessibilityServiceFragmentType; import static com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
import static com.android.internal.accessibility.common.ShortcutConstants.SERVICES_SEPARATOR; import static com.android.internal.accessibility.common.ShortcutConstants.SERVICES_SEPARATOR;
import android.accessibilityservice.AccessibilityServiceInfo; import android.accessibilityservice.AccessibilityServiceInfo;
@@ -112,9 +112,9 @@ public final class AccessibilityUtils {
* Gets the corresponding fragment type of a given accessibility service. * Gets the corresponding fragment type of a given accessibility service.
* *
* @param accessibilityServiceInfo The accessibilityService's info. * @param accessibilityServiceInfo The accessibilityService's info.
* @return int from {@link AccessibilityServiceFragmentType}. * @return int from {@link AccessibilityFragmentType}.
*/ */
public static @AccessibilityServiceFragmentType int getAccessibilityServiceFragmentType( public static @AccessibilityFragmentType int getAccessibilityServiceFragmentType(
AccessibilityServiceInfo accessibilityServiceInfo) { AccessibilityServiceInfo accessibilityServiceInfo) {
final int targetSdk = accessibilityServiceInfo.getResolveInfo() final int targetSdk = accessibilityServiceInfo.getResolveInfo()
.serviceInfo.applicationInfo.targetSdkVersion; .serviceInfo.applicationInfo.targetSdkVersion;
@@ -122,10 +122,10 @@ public final class AccessibilityUtils {
& AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0; & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
if (targetSdk <= Build.VERSION_CODES.Q) { if (targetSdk <= Build.VERSION_CODES.Q) {
return AccessibilityServiceFragmentType.LEGACY; return AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE;
} }
return requestA11yButton return requestA11yButton
? AccessibilityServiceFragmentType.INVISIBLE ? AccessibilityFragmentType.INVISIBLE_TOGGLE
: AccessibilityServiceFragmentType.INTUITIVE; : AccessibilityFragmentType.TOGGLE;
} }
} }

View File

@@ -22,7 +22,7 @@ import static android.view.accessibility.AccessibilityManager.ShortcutType;
import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME; import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME; import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
import static com.android.internal.accessibility.common.ShortcutConstants.AccessibilityServiceFragmentType; import static com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
import static com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode; import static com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode;
import static com.android.internal.accessibility.common.ShortcutConstants.TargetType; import static com.android.internal.accessibility.common.ShortcutConstants.TargetType;
import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
@@ -97,21 +97,21 @@ public class AccessibilityButtonChooserActivity extends Activity {
COLOR_INVERSION_COMPONENT_NAME.flattenToString(), COLOR_INVERSION_COMPONENT_NAME.flattenToString(),
String.valueOf(R.string.color_inversion_feature_name), String.valueOf(R.string.color_inversion_feature_name),
String.valueOf(R.drawable.ic_accessibility_color_inversion), String.valueOf(R.drawable.ic_accessibility_color_inversion),
String.valueOf(AccessibilityServiceFragmentType.INTUITIVE), String.valueOf(AccessibilityFragmentType.TOGGLE),
Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED,
}, },
{ {
DALTONIZER_COMPONENT_NAME.flattenToString(), DALTONIZER_COMPONENT_NAME.flattenToString(),
String.valueOf(R.string.color_correction_feature_name), String.valueOf(R.string.color_correction_feature_name),
String.valueOf(R.drawable.ic_accessibility_color_correction), String.valueOf(R.drawable.ic_accessibility_color_correction),
String.valueOf(AccessibilityServiceFragmentType.INTUITIVE), String.valueOf(AccessibilityFragmentType.TOGGLE),
Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
}, },
{ {
MAGNIFICATION_CONTROLLER_NAME, MAGNIFICATION_CONTROLLER_NAME,
String.valueOf(R.string.accessibility_magnification_chooser_text), String.valueOf(R.string.accessibility_magnification_chooser_text),
String.valueOf(R.drawable.ic_accessibility_magnification), String.valueOf(R.drawable.ic_accessibility_magnification),
String.valueOf(AccessibilityServiceFragmentType.INVISIBLE), String.valueOf(AccessibilityFragmentType.INVISIBLE_TOGGLE),
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
}, },
}; };
@@ -381,25 +381,25 @@ public class AccessibilityButtonChooserActivity extends Activity {
@NonNull ViewHolder holder, AccessibilityButtonTarget target) { @NonNull ViewHolder holder, AccessibilityButtonTarget target) {
switch (target.getFragmentType()) { switch (target.getFragmentType()) {
case AccessibilityServiceFragmentType.LEGACY: case AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE:
updateLegacyActionItemVisibility(holder, target); updateVolumeShortcutToggleTargetActionItemVisibility(holder, target);
break; break;
case AccessibilityServiceFragmentType.INVISIBLE: case AccessibilityFragmentType.INVISIBLE_TOGGLE:
updateInvisibleActionItemVisibility(holder, target); updateInvisibleToggleTargetActionItemVisibility(holder, target);
break; break;
case AccessibilityServiceFragmentType.INTUITIVE: case AccessibilityFragmentType.TOGGLE:
updateIntuitiveActionItemVisibility(context, holder, target); updateToggleTargetActionItemVisibility(context, holder, target);
break; break;
case AccessibilityServiceFragmentType.BOUNCE: case AccessibilityFragmentType.LAUNCH_ACTIVITY:
updateBounceActionItemVisibility(holder, target); updateLaunchActivityTargetActionItemVisibility(holder, target);
break; break;
default: default:
throw new IllegalStateException("Unexpected fragment type"); throw new IllegalStateException("Unexpected fragment type");
} }
} }
private void updateLegacyActionItemVisibility(@NonNull ViewHolder holder, private void updateVolumeShortcutToggleTargetActionItemVisibility(
AccessibilityButtonTarget target) { @NonNull ViewHolder holder, AccessibilityButtonTarget target) {
final boolean isLaunchMenuMode = (mShortcutMenuMode == ShortcutMenuMode.LAUNCH); final boolean isLaunchMenuMode = (mShortcutMenuMode == ShortcutMenuMode.LAUNCH);
holder.mCheckBox.setChecked(!isLaunchMenuMode && target.isChecked()); holder.mCheckBox.setChecked(!isLaunchMenuMode && target.isChecked());
@@ -409,7 +409,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
holder.mSwitchItem.setVisibility(View.GONE); holder.mSwitchItem.setVisibility(View.GONE);
} }
private void updateInvisibleActionItemVisibility(@NonNull ViewHolder holder, private void updateInvisibleToggleTargetActionItemVisibility(@NonNull ViewHolder holder,
AccessibilityButtonTarget target) { AccessibilityButtonTarget target) {
final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT); final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
@@ -420,7 +420,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
holder.mSwitchItem.setVisibility(View.GONE); holder.mSwitchItem.setVisibility(View.GONE);
} }
private void updateIntuitiveActionItemVisibility(@NonNull Context context, private void updateToggleTargetActionItemVisibility(@NonNull Context context,
@NonNull ViewHolder holder, AccessibilityButtonTarget target) { @NonNull ViewHolder holder, AccessibilityButtonTarget target) {
final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT); final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
final boolean isServiceEnabled = isWhiteListingService(target.getId()) final boolean isServiceEnabled = isWhiteListingService(target.getId())
@@ -435,7 +435,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
holder.mSwitchItem.setChecked(!isEditMenuMode && isServiceEnabled); holder.mSwitchItem.setChecked(!isEditMenuMode && isServiceEnabled);
} }
private void updateBounceActionItemVisibility(@NonNull ViewHolder holder, private void updateLaunchActivityTargetActionItemVisibility(@NonNull ViewHolder holder,
AccessibilityButtonTarget target) { AccessibilityButtonTarget target) {
final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT); final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
@@ -454,7 +454,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
private boolean mChecked; private boolean mChecked;
private CharSequence mLabel; private CharSequence mLabel;
private Drawable mDrawable; private Drawable mDrawable;
@AccessibilityServiceFragmentType @AccessibilityFragmentType
private int mFragmentType; private int mFragmentType;
AccessibilityButtonTarget(@NonNull Context context, AccessibilityButtonTarget(@NonNull Context context,
@@ -474,11 +474,11 @@ public class AccessibilityButtonChooserActivity extends Activity {
this.mChecked = isTargetShortcutUsed(context, mId); this.mChecked = isTargetShortcutUsed(context, mId);
this.mLabel = shortcutInfo.getActivityInfo().loadLabel(context.getPackageManager()); this.mLabel = shortcutInfo.getActivityInfo().loadLabel(context.getPackageManager());
this.mDrawable = shortcutInfo.getActivityInfo().loadIcon(context.getPackageManager()); this.mDrawable = shortcutInfo.getActivityInfo().loadIcon(context.getPackageManager());
this.mFragmentType = AccessibilityServiceFragmentType.BOUNCE; this.mFragmentType = AccessibilityFragmentType.LAUNCH_ACTIVITY;
} }
AccessibilityButtonTarget(Context context, @NonNull String id, int labelResId, AccessibilityButtonTarget(Context context, @NonNull String id, int labelResId,
int iconRes, @AccessibilityServiceFragmentType int fragmentType) { int iconRes, @AccessibilityFragmentType int fragmentType) {
this.mId = id; this.mId = id;
this.mType = TargetType.WHITE_LISTING; this.mType = TargetType.WHITE_LISTING;
this.mChecked = isTargetShortcutUsed(context, mId); this.mChecked = isTargetShortcutUsed(context, mId);
@@ -535,17 +535,17 @@ public class AccessibilityButtonChooserActivity extends Activity {
private void onTargetSelected(AdapterView<?> parent, View view, int position, long id) { private void onTargetSelected(AdapterView<?> parent, View view, int position, long id) {
final AccessibilityButtonTarget target = mTargets.get(position); final AccessibilityButtonTarget target = mTargets.get(position);
switch (target.getFragmentType()) { switch (target.getFragmentType()) {
case AccessibilityServiceFragmentType.LEGACY: case AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE:
onLegacyTargetSelected(target); onVolumeShortcutToggleTargetSelected(target);
break; break;
case AccessibilityServiceFragmentType.INVISIBLE: case AccessibilityFragmentType.INVISIBLE_TOGGLE:
onInvisibleTargetSelected(target); onInvisibleToggleTargetSelected(target);
break; break;
case AccessibilityServiceFragmentType.INTUITIVE: case AccessibilityFragmentType.TOGGLE:
onIntuitiveTargetSelected(target); onToggleTargetSelected(target);
break; break;
case AccessibilityServiceFragmentType.BOUNCE: case AccessibilityFragmentType.LAUNCH_ACTIVITY:
onBounceTargetSelected(target); onLaunchActivityTargetSelected(target);
break; break;
default: default:
throw new IllegalStateException("Unexpected fragment type"); throw new IllegalStateException("Unexpected fragment type");
@@ -554,7 +554,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
mAlertDialog.dismiss(); mAlertDialog.dismiss();
} }
private void onLegacyTargetSelected(AccessibilityButtonTarget target) { private void onVolumeShortcutToggleTargetSelected(AccessibilityButtonTarget target) {
if (sShortcutType == ACCESSIBILITY_BUTTON) { if (sShortcutType == ACCESSIBILITY_BUTTON) {
final AccessibilityManager ams = getSystemService(AccessibilityManager.class); final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId()); ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
@@ -563,7 +563,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
} }
} }
private void onInvisibleTargetSelected(AccessibilityButtonTarget target) { private void onInvisibleToggleTargetSelected(AccessibilityButtonTarget target) {
final AccessibilityManager ams = getSystemService(AccessibilityManager.class); final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
if (sShortcutType == ACCESSIBILITY_BUTTON) { if (sShortcutType == ACCESSIBILITY_BUTTON) {
ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId()); ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
@@ -572,11 +572,11 @@ public class AccessibilityButtonChooserActivity extends Activity {
} }
} }
private void onIntuitiveTargetSelected(AccessibilityButtonTarget target) { private void onToggleTargetSelected(AccessibilityButtonTarget target) {
switchServiceState(target); switchServiceState(target);
} }
private void onBounceTargetSelected(AccessibilityButtonTarget target) { private void onLaunchActivityTargetSelected(AccessibilityButtonTarget target) {
final AccessibilityManager ams = getSystemService(AccessibilityManager.class); final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
if (sShortcutType == ACCESSIBILITY_BUTTON) { if (sShortcutType == ACCESSIBILITY_BUTTON) {
ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId()); ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
@@ -620,24 +620,24 @@ public class AccessibilityButtonChooserActivity extends Activity {
private void onTargetChecked(AccessibilityButtonTarget target, boolean checked) { private void onTargetChecked(AccessibilityButtonTarget target, boolean checked) {
switch (target.getFragmentType()) { switch (target.getFragmentType()) {
case AccessibilityServiceFragmentType.LEGACY: case AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE:
onLegacyTargetChecked(checked); onVolumeShortcutToggleTargetChecked(checked);
break; break;
case AccessibilityServiceFragmentType.INVISIBLE: case AccessibilityFragmentType.INVISIBLE_TOGGLE:
onInvisibleTargetChecked(checked); onInvisibleToggleTargetChecked(checked);
break; break;
case AccessibilityServiceFragmentType.INTUITIVE: case AccessibilityFragmentType.TOGGLE:
onIntuitiveTargetChecked(checked); onToggleTargetChecked(checked);
break; break;
case AccessibilityServiceFragmentType.BOUNCE: case AccessibilityFragmentType.LAUNCH_ACTIVITY:
onBounceTargetChecked(checked); onLaunchActivityTargetChecked(checked);
break; break;
default: default:
throw new IllegalStateException("Unexpected fragment type"); throw new IllegalStateException("Unexpected fragment type");
} }
} }
private void onLegacyTargetChecked(boolean checked) { private void onVolumeShortcutToggleTargetChecked(boolean checked) {
if (sShortcutType == ACCESSIBILITY_BUTTON) { if (sShortcutType == ACCESSIBILITY_BUTTON) {
setServiceEnabled(mCurrentCheckedTarget.getId(), checked); setServiceEnabled(mCurrentCheckedTarget.getId(), checked);
if (!checked) { if (!checked) {
@@ -657,7 +657,7 @@ public class AccessibilityButtonChooserActivity extends Activity {
mTargetAdapter.notifyDataSetChanged(); mTargetAdapter.notifyDataSetChanged();
} }
private void onInvisibleTargetChecked(boolean checked) { private void onInvisibleToggleTargetChecked(boolean checked) {
final int shortcutTypes = UserShortcutType.SOFTWARE | HARDWARE; final int shortcutTypes = UserShortcutType.SOFTWARE | HARDWARE;
if (!hasValuesInSettings(this, shortcutTypes, mCurrentCheckedTarget.getId())) { if (!hasValuesInSettings(this, shortcutTypes, mCurrentCheckedTarget.getId())) {
setServiceEnabled(mCurrentCheckedTarget.getId(), checked); setServiceEnabled(mCurrentCheckedTarget.getId(), checked);
@@ -668,13 +668,13 @@ public class AccessibilityButtonChooserActivity extends Activity {
mTargetAdapter.notifyDataSetChanged(); mTargetAdapter.notifyDataSetChanged();
} }
private void onIntuitiveTargetChecked(boolean checked) { private void onToggleTargetChecked(boolean checked) {
updateValueToSettings(mCurrentCheckedTarget.getId(), checked); updateValueToSettings(mCurrentCheckedTarget.getId(), checked);
mCurrentCheckedTarget.setChecked(checked); mCurrentCheckedTarget.setChecked(checked);
mTargetAdapter.notifyDataSetChanged(); mTargetAdapter.notifyDataSetChanged();
} }
private void onBounceTargetChecked(boolean checked) { private void onLaunchActivityTargetChecked(boolean checked) {
updateValueToSettings(mCurrentCheckedTarget.getId(), checked); updateValueToSettings(mCurrentCheckedTarget.getId(), checked);
mCurrentCheckedTarget.setChecked(checked); mCurrentCheckedTarget.setChecked(checked);
mTargetAdapter.notifyDataSetChanged(); mTargetAdapter.notifyDataSetChanged();
@@ -740,7 +740,8 @@ public class AccessibilityButtonChooserActivity extends Activity {
} }
private void onPermissionAllowButtonClicked(View view) { private void onPermissionAllowButtonClicked(View view) {
if (mCurrentCheckedTarget.getFragmentType() != AccessibilityServiceFragmentType.LEGACY) { if (mCurrentCheckedTarget.getFragmentType()
!= AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE) {
updateValueToSettings(mCurrentCheckedTarget.getId(), /* checked= */ true); updateValueToSettings(mCurrentCheckedTarget.getId(), /* checked= */ true);
} }
onTargetChecked(mCurrentCheckedTarget, /* checked= */ true); onTargetChecked(mCurrentCheckedTarget, /* checked= */ true);