From 29f7a7b0ae2264651c176ef50cc21cf9131247e3 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Mon, 17 Nov 2014 14:40:56 -0500 Subject: [PATCH] SysUI Tests: Make tests not break SysUI Now you can run the tests without getting the blank broken sysui. The tests instrument themselves so they include all of the source they need to run rather than piggybacking on the sysui process. A couple of changes were needed for this. The xml files cannot reference com.android.systemui, instead they must use res-auto. The tests can no longer make privileged calls, so some restructuring to avoid those calls was needed. Bug: 18222975 Change-Id: I67b794af854f1420583d48960bd6e52ca753b56d --- .../res/layout-land/status_bar_recent_panel.xml | 2 +- .../SystemUI/res/layout-sw600dp/navigation_bar.xml | 2 +- packages/SystemUI/res/layout/navigation_bar.xml | 2 +- .../res/layout/quick_settings_brightness_dialog.xml | 2 +- .../res/layout/status_bar_expanded_header.xml | 2 +- .../SystemUI/res/layout/status_bar_recent_panel.xml | 2 +- .../statusbar/policy/NetworkControllerImpl.java | 11 +++++++---- packages/SystemUI/tests/Android.mk | 12 +++++++++--- packages/SystemUI/tests/AndroidManifest.xml | 2 +- .../src/com/android/systemui/EventLogTags.logtags | 1 + .../systemui/screenshot/ScreenshotStubActivity.java | 2 +- .../statusbar/policy/NetworkControllerBaseTest.java | 3 ++- .../policy/NetworkControllerSignalTest.java | 5 ++++- 13 files changed, 31 insertions(+), 17 deletions(-) create mode 120000 packages/SystemUI/tests/src/com/android/systemui/EventLogTags.logtags diff --git a/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml b/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml index 0c0be29bdbe42..b5d2f867fbece 100644 --- a/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml +++ b/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml @@ -20,7 +20,7 @@ diff --git a/packages/SystemUI/res/layout/status_bar_expanded_header.xml b/packages/SystemUI/res/layout/status_bar_expanded_header.xml index 7ea91454d175a..7a6e77aa13931 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded_header.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded_header.xml @@ -18,7 +18,7 @@ diff --git a/packages/SystemUI/tests/src/com/android/systemui/EventLogTags.logtags b/packages/SystemUI/tests/src/com/android/systemui/EventLogTags.logtags new file mode 120000 index 0000000000000..2f243d70449d4 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/EventLogTags.logtags @@ -0,0 +1 @@ +../../../../../src/com/android/systemui/EventLogTags.logtags \ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotStubActivity.java b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotStubActivity.java index 293537315f866..784d0352c6794 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotStubActivity.java +++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotStubActivity.java @@ -15,7 +15,7 @@ */ package com.android.systemui.screenshot; -import com.android.systemui.tests.R; +import com.android.systemui.R; import android.app.Activity; import android.os.Bundle; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index 97605ea8d7b56..10cffc49574b4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -62,7 +62,8 @@ public class NetworkControllerBaseTest extends AndroidTestCase { mSignalCluster = mock(SignalCluster.class); mNetworkSignalChangedCallback = mock(NetworkSignalChangedCallback.class); - mNetworkController = new NetworkControllerImpl(mContext, mMockCm, mMockTm, mMockWm); + mNetworkController = new NetworkControllerImpl(mContext, mMockCm, mMockTm, mMockWm, + mock(AccessPointController.class), mock(MobileDataController.class)); setupNetworkController(); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java index ed76ae5b05cb1..af053094352f1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java @@ -1,5 +1,7 @@ package com.android.systemui.statusbar.policy; +import static org.mockito.Mockito.mock; + import android.net.ConnectivityManager; import android.telephony.ServiceState; import android.telephony.SignalStrength; @@ -15,7 +17,8 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { // Turn off mobile network support. Mockito.when(mMockCm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)).thenReturn(false); // Create a new NetworkController as this is currently handled in constructor. - mNetworkController = new NetworkControllerImpl(mContext, mMockCm, mMockTm, mMockWm); + mNetworkController = new NetworkControllerImpl(mContext, mMockCm, mMockTm, mMockWm, + mock(AccessPointController.class), mock(MobileDataController.class)); setupNetworkController(); verifyLastMobileDataIndicators(false, 0, 0);