Turn off voice access in 16KB mode
VoiceAccess doesn't support the 16KB mode yet. Skipping voice accesss service when in page-agnostic mode. Test: m Settings && adb install -r $ANDROID_PRODUCT_OUT/system_ext/priv-app/Settings/Settings.apk Bug: 335443194 Bug: 340231742 Change-Id: If4deae48aaa221c843af5eb65208659ad38a08b2
This commit is contained in:
@@ -44,6 +44,7 @@ import com.android.internal.content.PackageMonitor;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.development.Enable16kUtils;
|
||||
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
@@ -98,6 +99,8 @@ public class AccessibilitySettings extends DashboardFragment implements
|
||||
static final String EXTRA_TIME_FOR_LOGGING = "start_time_to_log_a11y_tool";
|
||||
static final String EXTRA_METRICS_CATEGORY = "metrics_category";
|
||||
|
||||
public static final String VOICE_ACCESS_SERVICE = "android.apps.accessibility.voiceaccess";
|
||||
|
||||
// Timeout before we update the services if packages are added/removed
|
||||
// since the AccessibilityManagerService has to do that processing first
|
||||
// to generate the AccessibilityServiceInfo we need for proper
|
||||
@@ -488,6 +491,11 @@ public class AccessibilitySettings extends DashboardFragment implements
|
||||
String[] services = getResources().getStringArray(key);
|
||||
PreferenceCategory category = mCategoryToPrefCategoryMap.get(categoryKey);
|
||||
for (int i = 0; i < services.length; i++) {
|
||||
// TODO(b/335443194) Voice access is not available in 16kB mode.
|
||||
if (services[i].contains(VOICE_ACCESS_SERVICE)
|
||||
&& Enable16kUtils.isPageAgnosticModeOn(getContext())) {
|
||||
continue;
|
||||
}
|
||||
ComponentName component = ComponentName.unflattenFromString(services[i]);
|
||||
mPreBundledServiceComponentToCategoryMap.put(component, category);
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.android.settings.accessibility.AccessibilitySettings.VOICE_ACCESS_SERVICE;
|
||||
import static com.android.settingslib.widget.TwoTargetPreference.ICON_SIZE_MEDIUM;
|
||||
|
||||
import android.accessibilityservice.AccessibilityServiceInfo;
|
||||
@@ -37,6 +38,7 @@ import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.development.Enable16kUtils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
@@ -89,6 +91,11 @@ public class RestrictedPreferenceHelper {
|
||||
final AccessibilityServiceInfo info = installedServices.get(i);
|
||||
final ResolveInfo resolveInfo = info.getResolveInfo();
|
||||
final String packageName = resolveInfo.serviceInfo.packageName;
|
||||
// TODO(b/335443194) Voice access is not available in 16kB mode.
|
||||
if (packageName.contains(VOICE_ACCESS_SERVICE)
|
||||
&& Enable16kUtils.isPageAgnosticModeOn(mContext)) {
|
||||
continue;
|
||||
}
|
||||
final ComponentName componentName = new ComponentName(packageName,
|
||||
resolveInfo.serviceInfo.name);
|
||||
|
||||
|
Reference in New Issue
Block a user