Remove on/off information if the services cannot toggle service on/off

Bug: 148837311
Test: Manual test
Change-Id: I57e0ed33bebc41cde99008bb2ed014c63194c52a
This commit is contained in:
menghanli
2020-02-10 15:29:37 +08:00
committed by Menghan Li
parent 764e05ddfe
commit 04a46cb7c6
5 changed files with 35 additions and 47 deletions

View File

@@ -16,6 +16,10 @@
package com.android.settings.accessibility;
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import static com.android.settings.accessibility.AccessibilityUtil.State.UNKNOWN;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.ComponentName;
import android.content.ContentResolver;
@@ -23,6 +27,7 @@ import android.content.Context;
import android.provider.Settings;
import android.view.accessibility.AccessibilityManager;
import com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.accessibility.AccessibilityUtils;
@@ -39,8 +44,7 @@ public class AccessibilitySlicePreferenceController extends TogglePreferenceCont
private final ComponentName mComponentName;
private final int ON = 1;
private final int OFF = 0;
private static final String EMPTY_STRING = "";
public AccessibilitySlicePreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
@@ -55,8 +59,13 @@ public class AccessibilitySlicePreferenceController extends TogglePreferenceCont
@Override
public CharSequence getSummary() {
final AccessibilityServiceInfo serviceInfo = getAccessibilityServiceInfo();
return serviceInfo == null
? "" : AccessibilitySettings.getServiceSummary(mContext, serviceInfo, isChecked());
int serviceState = isChecked() ? ON : OFF;
if (AccessibilityUtil.getAccessibilityServiceFragmentType(serviceInfo)
== AccessibilityServiceFragmentType.INVISIBLE) {
serviceState = UNKNOWN;
}
return serviceInfo == null ? EMPTY_STRING : AccessibilitySettings.getServiceSummary(
mContext, serviceInfo, serviceState);
}
@Override