• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package android.app;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 
5 import android.content.Context;
6 import android.telecom.TelecomManager;
7 import androidx.test.core.app.ActivityScenario;
8 import androidx.test.core.app.ApplicationProvider;
9 import androidx.test.ext.junit.runners.AndroidJUnit4;
10 import org.junit.Test;
11 import org.junit.runner.RunWith;
12 import org.robolectric.testapp.TestActivity;
13 
14 /** Compatibility test for {@link TelecomManager}. */
15 @RunWith(AndroidJUnit4.class)
16 public class TelecomManagerTest {
17 
18   @Test
telecomManager_applicationInstance_isNotSameAsActivityInstance()19   public void telecomManager_applicationInstance_isNotSameAsActivityInstance() {
20     TelecomManager applicationTelecomManager =
21         (TelecomManager)
22             ApplicationProvider.getApplicationContext().getSystemService(Context.TELECOM_SERVICE);
23     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
24       scenario.onActivity(
25           activity -> {
26             TelecomManager activityTelecomManager =
27                 (TelecomManager) activity.getSystemService(Context.TELECOM_SERVICE);
28             assertThat(applicationTelecomManager).isNotSameInstanceAs(activityTelecomManager);
29           });
30     }
31   }
32 
33   @Test
telecomManager_activityInstance_isSameAsActivityInstance()34   public void telecomManager_activityInstance_isSameAsActivityInstance() {
35     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
36       scenario.onActivity(
37           activity -> {
38             TelecomManager activityTelecomManager =
39                 (TelecomManager) activity.getSystemService(Context.TELECOM_SERVICE);
40             TelecomManager anotherActivityTelecomManager =
41                 (TelecomManager) activity.getSystemService(Context.TELECOM_SERVICE);
42             assertThat(anotherActivityTelecomManager).isSameInstanceAs(activityTelecomManager);
43           });
44     }
45   }
46 
47   @Test
telecomManager_instance_retrievesSameDefaultDialer()48   public void telecomManager_instance_retrievesSameDefaultDialer() {
49     TelecomManager applicationTelecomManager =
50         (TelecomManager)
51             ApplicationProvider.getApplicationContext().getSystemService(Context.TELECOM_SERVICE);
52     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
53       scenario.onActivity(
54           activity -> {
55             TelecomManager activityTelecomManager =
56                 (TelecomManager) activity.getSystemService(Context.TELECOM_SERVICE);
57 
58             String applicationDefaultDialer = applicationTelecomManager.getDefaultDialerPackage();
59             String activityDefaultDialer = activityTelecomManager.getDefaultDialerPackage();
60 
61             assertThat(activityDefaultDialer).isEqualTo(applicationDefaultDialer);
62           });
63     }
64   }
65 }
66