Merge "Hide a11y usage when there is no enabled a11y service"

This commit is contained in:
TreeHugger Robot
2019-09-20 10:54:36 +00:00
committed by Android (Google) Code Review
2 changed files with 35 additions and 14 deletions

View File

@@ -20,12 +20,13 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
import static com.google.common.truth.Truth.assertThat;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
import android.provider.DeviceConfig;
import android.view.accessibility.AccessibilityManager;
import com.android.settings.Utils;
import androidx.preference.Preference;
import com.android.settings.testutils.shadow.ShadowDeviceConfig;
import org.junit.After;
@@ -65,10 +66,8 @@ public class AccessibilityUsagePreferenceControllerTest {
@Test
public void getAvailabilityStatus_noEnabledServices_shouldReturnUnsupported() {
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY,
Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, "true", true);
mAccessibilityManager.setEnabledAccessibilityServiceList(new ArrayList<>());
AccessibilityUsagePreferenceController controller =
final AccessibilityUsagePreferenceController controller =
new AccessibilityUsagePreferenceController(mContext, "test_key");
assertThat(controller.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
@@ -76,13 +75,24 @@ public class AccessibilityUsagePreferenceControllerTest {
@Test
public void getAvailabilityStatus_enabledServices_shouldReturnAvailable() {
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY,
Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, "false", true);
mAccessibilityManager.setEnabledAccessibilityServiceList(
new ArrayList<>(Arrays.asList(new AccessibilityServiceInfo())));
AccessibilityUsagePreferenceController controller =
final AccessibilityUsagePreferenceController controller =
new AccessibilityUsagePreferenceController(mContext, "test_key");
assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
@Test
public void updateState_noEnabledServices_shouldHidePreference() {
mAccessibilityManager.setEnabledAccessibilityServiceList(new ArrayList<>());
final AccessibilityUsagePreferenceController controller =
new AccessibilityUsagePreferenceController(mContext, "test_key");
final Preference preference = new Preference(mContext);
preference.setVisible(true);
controller.updateState(preference);
assertThat(preference.isVisible()).isFalse();
}
}