Merge "Add test for StatusBar.dump" into oc-dr1-dev

This commit is contained in:
TreeHugger Robot
2017-06-22 18:41:57 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 2 deletions

View File

@@ -3456,7 +3456,9 @@ public class StatusBar extends SystemUI implements DemoMode,
pw.println(Settings.Global.zenModeToString(mZenMode));
pw.print(" mUseHeadsUp=");
pw.println(mUseHeadsUp);
dumpBarTransitions(pw, "mStatusBarView", mStatusBarView.getBarTransitions());
if (mStatusBarView != null) {
dumpBarTransitions(pw, "mStatusBarView", mStatusBarView.getBarTransitions());
}
pw.print(" mMediaSessionManager=");
pw.println(mMediaSessionManager);
@@ -3522,7 +3524,9 @@ public class StatusBar extends SystemUI implements DemoMode,
pw.println(" mGroupManager: null");
}
mLightBarController.dump(fd, pw, args);
if (mLightBarController != null) {
mLightBarController.dump(fd, pw, args);
}
if (KeyguardUpdateMonitor.getInstance(mContext) != null) {
KeyguardUpdateMonitor.getInstance(mContext).dump(fd, pw, args);

View File

@@ -38,6 +38,8 @@ import static org.mockito.Mockito.when;
import static org.mockito.Mockito.verify;
import android.app.Notification;
import android.app.trust.TrustManager;
import android.hardware.fingerprint.FingerprintManager;
import android.metrics.LogMaker;
import android.os.Handler;
import android.os.HandlerThread;
@@ -55,6 +57,7 @@ import android.testing.TestableLooper;
import android.testing.TestableLooper.MessageHandler;
import android.testing.TestableLooper.RunWithLooper;
import android.util.DisplayMetrics;
import android.view.ViewGroup.LayoutParams;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -75,6 +78,8 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
@SmallTest
@@ -99,6 +104,8 @@ public class StatusBarTest extends SysuiTestCase {
@Before
public void setup() throws Exception {
mContext.addMockSystemService(TrustManager.class, mock(TrustManager.class));
mContext.addMockSystemService(FingerprintManager.class, mock(FingerprintManager.class));
mStatusBarKeyguardViewManager = mock(StatusBarKeyguardViewManager.class);
mUnlockMethodCache = mock(UnlockMethodCache.class);
mKeyguardIndicationController = mock(KeyguardIndicationController.class);
@@ -108,6 +115,7 @@ public class StatusBarTest extends SysuiTestCase {
mNotificationData = mock(NotificationData.class);
mSystemServicesProxy = mock(SystemServicesProxy.class);
mNotificationPanelView = mock(NotificationPanelView.class);
when(mNotificationPanelView.getLayoutParams()).thenReturn(new LayoutParams(0, 0));
mNotificationList = mock(ArrayList.class);
IPowerManager powerManagerService = mock(IPowerManager.class);
HandlerThread handlerThread = new HandlerThread("TestThread");
@@ -122,6 +130,7 @@ public class StatusBarTest extends SysuiTestCase {
mKeyguardIndicationController, mStackScroller, mHeadsUpManager,
mNotificationData, mPowerManager, mSystemServicesProxy, mNotificationPanelView,
mBarService);
mStatusBar.mContext = mContext;
doAnswer(invocation -> {
OnDismissAction onDismissAction = (OnDismissAction) invocation.getArguments()[0];
onDismissAction.onDismiss();
@@ -385,6 +394,11 @@ public class StatusBarTest extends SysuiTestCase {
TestableLooper.get(this).processAllMessages();
}
@Test
public void testDump_DoesNotCrash() {
mStatusBar.dump(null, new PrintWriter(new ByteArrayOutputStream()), null);
}
static class TestableStatusBar extends StatusBar {
public TestableStatusBar(StatusBarKeyguardViewManager man,
UnlockMethodCache unlock, KeyguardIndicationController key,