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