1 package android.app; 2 3 import static com.google.common.truth.Truth.assertThat; 4 5 import android.content.Context; 6 import androidx.test.core.app.ActivityScenario; 7 import androidx.test.core.app.ApplicationProvider; 8 import androidx.test.ext.junit.runners.AndroidJUnit4; 9 import org.junit.Test; 10 import org.junit.runner.RunWith; 11 import org.robolectric.testapp.TestActivity; 12 13 /** Compatibility test for {@link StatusBarManager}. */ 14 @RunWith(AndroidJUnit4.class) 15 public class StatusBarManagerTest { 16 @Test statusBarManager_applicationInstance_isNotSameAsActivityInstance()17 public void statusBarManager_applicationInstance_isNotSameAsActivityInstance() { 18 StatusBarManager applicationStatusBarManager = 19 (StatusBarManager) 20 ApplicationProvider.getApplicationContext() 21 .getSystemService(Context.STATUS_BAR_SERVICE); 22 try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) { 23 scenario.onActivity( 24 activity -> { 25 StatusBarManager activityStatusBarManager = 26 (StatusBarManager) activity.getSystemService(Context.STATUS_BAR_SERVICE); 27 assertThat(applicationStatusBarManager).isNotSameInstanceAs(activityStatusBarManager); 28 }); 29 } 30 } 31 32 @Test statusBarManager_activityInstance_isSameAsActivityInstance()33 public void statusBarManager_activityInstance_isSameAsActivityInstance() { 34 try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) { 35 scenario.onActivity( 36 activity -> { 37 StatusBarManager activityStatusBarManager = 38 (StatusBarManager) activity.getSystemService(Context.STATUS_BAR_SERVICE); 39 StatusBarManager anotherActivityStatusBarManager = 40 (StatusBarManager) activity.getSystemService(Context.STATUS_BAR_SERVICE); 41 assertThat(anotherActivityStatusBarManager).isSameInstanceAs(activityStatusBarManager); 42 }); 43 } 44 } 45 } 46