1 package android.app; 2 3 import static com.google.common.truth.Truth.assertThat; 4 5 import android.net.vcn.VcnManager; 6 import android.os.Build; 7 import android.os.ParcelUuid; 8 import androidx.test.core.app.ActivityScenario; 9 import androidx.test.core.app.ApplicationProvider; 10 import androidx.test.ext.junit.runners.AndroidJUnit4; 11 import androidx.test.filters.SdkSuppress; 12 import java.util.List; 13 import org.junit.Test; 14 import org.junit.runner.RunWith; 15 import org.robolectric.testapp.TestActivity; 16 17 /** Compatibility test for {@link VcnManager}. */ 18 @SdkSuppress(minSdkVersion = Build.VERSION_CODES.S) 19 @RunWith(AndroidJUnit4.class) 20 public class VcnManagerTest { 21 22 @Test vcnManager_applicationInstance_isNotSameAsActivityInstance()23 public void vcnManager_applicationInstance_isNotSameAsActivityInstance() { 24 VcnManager applicationVcnManager = 25 ApplicationProvider.getApplicationContext().getSystemService(VcnManager.class); 26 try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) { 27 scenario.onActivity( 28 activity -> { 29 VcnManager activityVcnManager = activity.getSystemService(VcnManager.class); 30 assertThat(applicationVcnManager).isNotSameInstanceAs(activityVcnManager); 31 }); 32 } 33 } 34 35 @Test vcnManager_activityInstance_isSameAsActivityInstance()36 public void vcnManager_activityInstance_isSameAsActivityInstance() { 37 try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) { 38 scenario.onActivity( 39 activity -> { 40 VcnManager activityVcnManager = activity.getSystemService(VcnManager.class); 41 VcnManager anotherActivityVcnManager = activity.getSystemService(VcnManager.class); 42 assertThat(anotherActivityVcnManager).isSameInstanceAs(activityVcnManager); 43 }); 44 } 45 } 46 47 @Test vcnManager_instance_retrievesSameConfiguredSubscriptionGroups()48 public void vcnManager_instance_retrievesSameConfiguredSubscriptionGroups() { 49 VcnManager applicationVcnManager = 50 ApplicationProvider.getApplicationContext().getSystemService(VcnManager.class); 51 try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) { 52 scenario.onActivity( 53 activity -> { 54 VcnManager activityVcnManager = activity.getSystemService(VcnManager.class); 55 56 List<ParcelUuid> applicationConfiguredSubscriptionGroups = 57 applicationVcnManager.getConfiguredSubscriptionGroups(); 58 List<ParcelUuid> activityConfiguredSubscriptionGroups = 59 activityVcnManager.getConfiguredSubscriptionGroups(); 60 61 assertThat(applicationConfiguredSubscriptionGroups).isNotNull(); 62 assertThat(activityConfiguredSubscriptionGroups).isNotNull(); 63 64 assertThat(activityConfiguredSubscriptionGroups) 65 .isEqualTo(applicationConfiguredSubscriptionGroups); 66 }); 67 } 68 } 69 } 70