• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package android.app;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 
5 import android.accessibilityservice.AccessibilityServiceInfo;
6 import android.content.Context;
7 import android.view.accessibility.AccessibilityManager;
8 import androidx.test.core.app.ActivityScenario;
9 import androidx.test.core.app.ApplicationProvider;
10 import androidx.test.ext.junit.runners.AndroidJUnit4;
11 import java.util.List;
12 import org.junit.Test;
13 import org.junit.runner.RunWith;
14 import org.robolectric.testapp.TestActivity;
15 
16 /** Compatibility test for {@link AccessibilityManager}. */
17 @RunWith(AndroidJUnit4.class)
18 public class AccessibilityManagerTest {
19 
20   @Test
accessibilityManager_applicationInstance_isSameAsActivityInstance()21   public void accessibilityManager_applicationInstance_isSameAsActivityInstance() {
22     AccessibilityManager applicationAccessibilityManager =
23         (AccessibilityManager)
24             ApplicationProvider.getApplicationContext()
25                 .getSystemService(Context.ACCESSIBILITY_SERVICE);
26     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
27       scenario.onActivity(
28           activity -> {
29             AccessibilityManager activityAccessibilityManager =
30                 (AccessibilityManager) activity.getSystemService(Context.ACCESSIBILITY_SERVICE);
31             assertThat(applicationAccessibilityManager)
32                 .isSameInstanceAs(activityAccessibilityManager);
33           });
34     }
35   }
36 
37   @Test
accessibilityManager_activityInstance_isSameAsActivityInstance()38   public void accessibilityManager_activityInstance_isSameAsActivityInstance() {
39     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
40       scenario.onActivity(
41           activity -> {
42             AccessibilityManager activityAccessibilityManager =
43                 (AccessibilityManager) activity.getSystemService(Context.ACCESSIBILITY_SERVICE);
44             AccessibilityManager anotherActivityAccessibilityManager =
45                 (AccessibilityManager) activity.getSystemService(Context.ACCESSIBILITY_SERVICE);
46             assertThat(anotherActivityAccessibilityManager)
47                 .isSameInstanceAs(activityAccessibilityManager);
48           });
49     }
50   }
51 
52   @Test
accessibilityManager_instance_hasSameAccessibilityServices()53   public void accessibilityManager_instance_hasSameAccessibilityServices() {
54     AccessibilityManager applicationAccessibilityManager =
55         (AccessibilityManager)
56             ApplicationProvider.getApplicationContext()
57                 .getSystemService(Context.ACCESSIBILITY_SERVICE);
58     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
59       scenario.onActivity(
60           activity -> {
61             AccessibilityManager activityAccessibilityManager =
62                 (AccessibilityManager) activity.getSystemService(Context.ACCESSIBILITY_SERVICE);
63 
64             List<AccessibilityServiceInfo> applicationServices =
65                 applicationAccessibilityManager.getInstalledAccessibilityServiceList();
66             List<AccessibilityServiceInfo> activityServices =
67                 activityAccessibilityManager.getInstalledAccessibilityServiceList();
68 
69             assertThat(activityServices).isEqualTo(applicationServices);
70           });
71     }
72   }
73 }
74