Loading packages/CarSystemUI/src/com/android/systemui/car/navigationbar/SystemBarConfigs.java +4 −4 Original line number Diff line number Diff line Loading @@ -239,14 +239,14 @@ public class SystemBarConfigs { e.printStackTrace(); } if (!mTopNavBarEnabled && notificationPanelMediatorUsed.isAssignableFrom( TopNotificationPanelViewMediator.class)) { if (!mTopNavBarEnabled && TopNotificationPanelViewMediator.class.isAssignableFrom( notificationPanelMediatorUsed)) { throw new RuntimeException( "Top System Bar must be enabled to use " + notificationPanelMediatorName); } if (!mBottomNavBarEnabled && notificationPanelMediatorUsed.isAssignableFrom( BottomNotificationPanelViewMediator.class)) { if (!mBottomNavBarEnabled && BottomNotificationPanelViewMediator.class.isAssignableFrom( notificationPanelMediatorUsed)) { throw new RuntimeException("Bottom System Bar must be enabled to use " + notificationPanelMediatorName); } Loading packages/CarSystemUI/tests/src/com/android/systemui/car/navigationbar/SystemBarConfigsTest.java +50 −0 Original line number Diff line number Diff line Loading @@ -31,7 +31,14 @@ import androidx.test.filters.SmallTest; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.car.CarDeviceProvisionedController; import com.android.systemui.car.CarSystemUiTest; import com.android.systemui.car.notification.NotificationPanelViewController; import com.android.systemui.car.notification.NotificationPanelViewMediator; import com.android.systemui.car.notification.PowerManagerHelper; import com.android.systemui.car.notification.TopNotificationPanelViewMediator; import com.android.systemui.statusbar.policy.ConfigurationController; import org.junit.Before; import org.junit.Test; Loading Loading @@ -92,6 +99,33 @@ public class SystemBarConfigsTest extends SysuiTestCase { mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test public void onInit_topNotifPanelViewMediatorUsed_topBarEnabled_doesNotThrowException() { when(mResources.getBoolean(R.bool.config_enableTopNavigationBar)).thenReturn(true); when(mResources.getString(R.string.config_notificationPanelViewMediator)).thenReturn( TestTopNotificationPanelViewMediator.class.getName()); mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test(expected = RuntimeException.class) public void onInit_topNotifPanelViewMediatorUsed_topBarNotEnabled_throwsRuntimeException() { when(mResources.getBoolean(R.bool.config_enableTopNavigationBar)).thenReturn(false); when(mResources.getString(R.string.config_notificationPanelViewMediator)).thenReturn( TestTopNotificationPanelViewMediator.class.getName()); mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test public void onInit_notificationPanelViewMediatorUsed_topBarNotEnabled_doesNotThrowException() { when(mResources.getBoolean(R.bool.config_enableTopNavigationBar)).thenReturn(false); when(mResources.getString(R.string.config_notificationPanelViewMediator)).thenReturn( NotificationPanelViewMediator.class.getName()); mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test public void getTopSystemBarLayoutParams_topBarEnabled_returnsTopSystemBarLayoutParams() { mSystemBarConfigs = new SystemBarConfigs(mResources); Loading Loading @@ -159,4 +193,20 @@ public class SystemBarConfigsTest extends SysuiTestCase { when(mResources.getInteger(R.integer.config_leftSystemBarZOrder)).thenReturn(2); when(mResources.getInteger(R.integer.config_rightSystemBarZOrder)).thenReturn(3); } // Intentionally using a subclass of TopNotificationPanelViewMediator for testing purposes to // ensure that OEM's will be able to implement and use their own NotificationPanelViewMediator. private class TestTopNotificationPanelViewMediator extends TopNotificationPanelViewMediator { TestTopNotificationPanelViewMediator( CarNavigationBarController carNavigationBarController, NotificationPanelViewController notificationPanelViewController, PowerManagerHelper powerManagerHelper, BroadcastDispatcher broadcastDispatcher, CarDeviceProvisionedController carDeviceProvisionedController, ConfigurationController configurationController) { super(carNavigationBarController, notificationPanelViewController, powerManagerHelper, broadcastDispatcher, carDeviceProvisionedController, configurationController); } } } Loading
packages/CarSystemUI/src/com/android/systemui/car/navigationbar/SystemBarConfigs.java +4 −4 Original line number Diff line number Diff line Loading @@ -239,14 +239,14 @@ public class SystemBarConfigs { e.printStackTrace(); } if (!mTopNavBarEnabled && notificationPanelMediatorUsed.isAssignableFrom( TopNotificationPanelViewMediator.class)) { if (!mTopNavBarEnabled && TopNotificationPanelViewMediator.class.isAssignableFrom( notificationPanelMediatorUsed)) { throw new RuntimeException( "Top System Bar must be enabled to use " + notificationPanelMediatorName); } if (!mBottomNavBarEnabled && notificationPanelMediatorUsed.isAssignableFrom( BottomNotificationPanelViewMediator.class)) { if (!mBottomNavBarEnabled && BottomNotificationPanelViewMediator.class.isAssignableFrom( notificationPanelMediatorUsed)) { throw new RuntimeException("Bottom System Bar must be enabled to use " + notificationPanelMediatorName); } Loading
packages/CarSystemUI/tests/src/com/android/systemui/car/navigationbar/SystemBarConfigsTest.java +50 −0 Original line number Diff line number Diff line Loading @@ -31,7 +31,14 @@ import androidx.test.filters.SmallTest; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.car.CarDeviceProvisionedController; import com.android.systemui.car.CarSystemUiTest; import com.android.systemui.car.notification.NotificationPanelViewController; import com.android.systemui.car.notification.NotificationPanelViewMediator; import com.android.systemui.car.notification.PowerManagerHelper; import com.android.systemui.car.notification.TopNotificationPanelViewMediator; import com.android.systemui.statusbar.policy.ConfigurationController; import org.junit.Before; import org.junit.Test; Loading Loading @@ -92,6 +99,33 @@ public class SystemBarConfigsTest extends SysuiTestCase { mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test public void onInit_topNotifPanelViewMediatorUsed_topBarEnabled_doesNotThrowException() { when(mResources.getBoolean(R.bool.config_enableTopNavigationBar)).thenReturn(true); when(mResources.getString(R.string.config_notificationPanelViewMediator)).thenReturn( TestTopNotificationPanelViewMediator.class.getName()); mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test(expected = RuntimeException.class) public void onInit_topNotifPanelViewMediatorUsed_topBarNotEnabled_throwsRuntimeException() { when(mResources.getBoolean(R.bool.config_enableTopNavigationBar)).thenReturn(false); when(mResources.getString(R.string.config_notificationPanelViewMediator)).thenReturn( TestTopNotificationPanelViewMediator.class.getName()); mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test public void onInit_notificationPanelViewMediatorUsed_topBarNotEnabled_doesNotThrowException() { when(mResources.getBoolean(R.bool.config_enableTopNavigationBar)).thenReturn(false); when(mResources.getString(R.string.config_notificationPanelViewMediator)).thenReturn( NotificationPanelViewMediator.class.getName()); mSystemBarConfigs = new SystemBarConfigs(mResources); } @Test public void getTopSystemBarLayoutParams_topBarEnabled_returnsTopSystemBarLayoutParams() { mSystemBarConfigs = new SystemBarConfigs(mResources); Loading Loading @@ -159,4 +193,20 @@ public class SystemBarConfigsTest extends SysuiTestCase { when(mResources.getInteger(R.integer.config_leftSystemBarZOrder)).thenReturn(2); when(mResources.getInteger(R.integer.config_rightSystemBarZOrder)).thenReturn(3); } // Intentionally using a subclass of TopNotificationPanelViewMediator for testing purposes to // ensure that OEM's will be able to implement and use their own NotificationPanelViewMediator. private class TestTopNotificationPanelViewMediator extends TopNotificationPanelViewMediator { TestTopNotificationPanelViewMediator( CarNavigationBarController carNavigationBarController, NotificationPanelViewController notificationPanelViewController, PowerManagerHelper powerManagerHelper, BroadcastDispatcher broadcastDispatcher, CarDeviceProvisionedController carDeviceProvisionedController, ConfigurationController configurationController) { super(carNavigationBarController, notificationPanelViewController, powerManagerHelper, broadcastDispatcher, carDeviceProvisionedController, configurationController); } } }