Merge "Cleanup flag "never_restrict_a11y_activity"" into main

This commit is contained in:
Camden Bickel
2024-11-22 17:03:51 +00:00
committed by Android (Google) Code Review
2 changed files with 3 additions and 30 deletions

View File

@@ -110,10 +110,6 @@ public class RestrictedPreferenceHelper {
*/ */
public List<AccessibilityActivityPreference> createAccessibilityActivityPreferenceList( public List<AccessibilityActivityPreference> createAccessibilityActivityPreferenceList(
List<AccessibilityShortcutInfo> installedShortcuts) { List<AccessibilityShortcutInfo> installedShortcuts) {
final Set<ComponentName> enabledServices =
AccessibilityUtils.getEnabledServicesFromSettings(mContext);
final List<String> permittedServices = mDpm.getPermittedAccessibilityServices(
UserHandle.myUserId());
final int installedShortcutsSize = installedShortcuts.size(); final int installedShortcutsSize = installedShortcuts.size();
final List<AccessibilityActivityPreference> preferenceList = new ArrayList<>( final List<AccessibilityActivityPreference> preferenceList = new ArrayList<>(
@@ -124,17 +120,12 @@ public class RestrictedPreferenceHelper {
final ActivityInfo activityInfo = info.getActivityInfo(); final ActivityInfo activityInfo = info.getActivityInfo();
final ComponentName componentName = info.getComponentName(); final ComponentName componentName = info.getComponentName();
final boolean serviceEnabled = enabledServices.contains(componentName);
AccessibilityActivityPreference preference = new AccessibilityActivityPreference( AccessibilityActivityPreference preference = new AccessibilityActivityPreference(
mContext, componentName.getPackageName(), activityInfo.applicationInfo.uid, mContext, componentName.getPackageName(), activityInfo.applicationInfo.uid,
info); info);
if (Flags.neverRestrictAccessibilityActivity()) { // Accessibility Activities do not have elevated privileges so restricting
// Accessibility Activities do not have elevated privileges so restricting // them based on ECM or device admin does not give any value.
// them based on ECM or device admin does not give any value. preference.setEnabled(true);
preference.setEnabled(true);
} else {
setRestrictedPreferenceEnabled(preference, permittedServices, serviceEnabled);
}
preferenceList.add(preference); preferenceList.add(preference);
} }
return preferenceList; return preferenceList;

View File

@@ -31,7 +31,6 @@ import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo; import android.content.pm.ServiceInfo;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule; import android.platform.test.flag.junit.SetFlagsRule;
@@ -141,27 +140,10 @@ public class RestrictedPreferenceHelperTest {
assertThat(preference.getKey()).isEqualTo(key); assertThat(preference.getKey()).isEqualTo(key);
} }
@Test
@EnableFlags(value = {android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED})
@DisableFlags(Flags.FLAG_NEVER_RESTRICT_ACCESSIBILITY_ACTIVITY)
public void createAccessibilityActivityPreference_ecmRestricted_prefIsEcmRestricted() {
setMockAccessibilityShortcutInfo(mShortcutInfo);
ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs(PACKAGE_NAME);
final List<AccessibilityActivityPreference> preferenceList =
mHelper.createAccessibilityActivityPreferenceList(List.of(mShortcutInfo));
assertThat(preferenceList).hasSize(1);
final RestrictedPreference preference = preferenceList.get(0);
assertThat(preference.isDisabledByEcm()).isTrue();
}
@Test @Test
@EnableFlags(value = { @EnableFlags(value = {
android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS, android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED, android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED,
Flags.FLAG_NEVER_RESTRICT_ACCESSIBILITY_ACTIVITY,
}) })
public void createAccessibilityActivityPreference_ecmRestricted_prefIsNotEcmRestricted() { public void createAccessibilityActivityPreference_ecmRestricted_prefIsNotEcmRestricted() {
setMockAccessibilityShortcutInfo(mShortcutInfo); setMockAccessibilityShortcutInfo(mShortcutInfo);