diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java index 0bf3f15a5889c..1835afd937c17 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java @@ -60,7 +60,7 @@ public class QSFooter implements OnClickListener, DialogInterface.OnClickListene private AlertDialog mDialog; private QSTileHost mHost; - protected Handler mHandler; + protected H mHandler; private boolean mIsVisible; private boolean mIsIconVisible; @@ -83,7 +83,7 @@ public class QSFooter implements OnClickListener, DialogInterface.OnClickListene mMainHandler = new Handler(Looper.getMainLooper()); mActivityStarter = Dependency.get(ActivityStarter.class); mSecurityController = Dependency.get(SecurityController.class); - mHandler = new Handler((Looper) Dependency.get(Dependency.BG_LOOPER)); + mHandler = new H(Dependency.get(Dependency.BG_LOOPER)); } public void setHostEnvironment(QSTileHost host) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java index 9e9380295f0c6..70a5bbee9e18e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java @@ -162,6 +162,10 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements BatteryMeterView battery = (BatteryMeterView) findViewById(R.id.battery); int colorSecondary = Utils.getColorAttr(getContext(), android.R.attr.textColorSecondary); battery.setRawColors(colorForeground, colorSecondary); + + mNextAlarmController = Dependency.get(NextAlarmController.class); + mUserInfoController = Dependency.get(UserInfoController.class); + mActivityStarter = Dependency.get(ActivityStarter.class); } @Override @@ -259,14 +263,6 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements mExpandIndicator.setExpanded(headerExpansionFraction > EXPAND_INDICATOR_THRESHOLD); } - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - mNextAlarmController = Dependency.get(NextAlarmController.class); - mUserInfoController = Dependency.get(UserInfoController.class); - mActivityStarter = Dependency.get(ActivityStarter.class); - } - @Override @VisibleForTesting public void onDetachedFromWindow() { diff --git a/packages/SystemUI/tests/AndroidManifest.xml b/packages/SystemUI/tests/AndroidManifest.xml index 6516369d0e2ec..90e93217485d3 100644 --- a/packages/SystemUI/tests/AndroidManifest.xml +++ b/packages/SystemUI/tests/AndroidManifest.xml @@ -30,6 +30,9 @@ + + + diff --git a/packages/SystemUI/tests/src/com/android/systemui/DependencyTest.java b/packages/SystemUI/tests/src/com/android/systemui/DependencyTest.java index 973f1f26033ce..fb4b6bdf3f1b8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/DependencyTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/DependencyTest.java @@ -15,6 +15,7 @@ package com.android.systemui; import static org.junit.Assert.assertEquals; +import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -25,6 +26,8 @@ import com.android.systemui.statusbar.policy.FlashlightController; import org.junit.Test; +import java.io.PrintWriter; + public class DependencyTest extends SysuiTestCase { @Test @@ -46,8 +49,8 @@ public class DependencyTest extends SysuiTestCase { Dumpable d = mock(Dumpable.class); injectTestDependency("test", d); Dependency.get("test"); - mDependency.dump(null, null, null); - verify(d).dump(eq(null), eq(null), eq(null)); + mDependency.dump(null, mock(PrintWriter.class), null); + verify(d).dump(eq(null), any(), eq(null)); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/SysuiTestCase.java b/packages/SystemUI/tests/src/com/android/systemui/SysuiTestCase.java index 5fe5174c3d279..f258e5d17be41 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/SysuiTestCase.java +++ b/packages/SystemUI/tests/src/com/android/systemui/SysuiTestCase.java @@ -43,6 +43,7 @@ public abstract class SysuiTestCase { public void SysuiSetup() throws Exception { System.setProperty("dexmaker.share_classloader", "true"); mContext = new TestableContext(InstrumentationRegistry.getTargetContext(), this); + SystemUIFactory.createFromConfig(mContext); mDependency = new TestDependency(); mDependency.mContext = mContext; mDependency.start(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java index e3ee8514fe3b2..53450317ccf84 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java @@ -58,6 +58,7 @@ public class QSFragmentTest extends FragmentTestCase { @Before public void addLeakCheckDependencies() { + injectTestDependency(Dependency.BG_LOOPER, Looper.getMainLooper()); injectMockDependency(UserSwitcherController.class); injectLeakCheckedDependencies(BluetoothController.class, LocationController.class, RotationLockController.class, NetworkController.class, ZenModeController.class, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java index 9fcb5f75ff229..525a361c1a02b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java @@ -40,6 +40,7 @@ public class NavigationBarFragmentTest extends FragmentTestCase { mContext.putComponent(PhoneStatusBar.class, mock(PhoneStatusBar.class)); mContext.putComponent(Recents.class, mock(Recents.class)); mContext.putComponent(Divider.class, mock(Divider.class)); + mContext.addMockSystemService(Context.WINDOW_SERVICE, mock(WindowManager.class)); } @Test