OSDN Git Service

Unit testing for fragments.
authorJason Monk <jmonk@google.com>
Fri, 4 Nov 2016 17:29:58 +0000 (13:29 -0400)
committerJason Monk <jmonk@google.com>
Fri, 11 Nov 2016 16:20:10 +0000 (11:20 -0500)
commit8852905b0b3837e326127c6dfef6f699124ce715
treefcd89cf6ea460e0d12cbbe262214583aab6ad938
parentf4e019aaad6f9da3165e8f35966299c43d5cfebf
Unit testing for fragments.

Set up a base class for testing fragments that will generate the host
and run the fragment through some lifecycle checks to make sure it
does ok with standard lifecycle.

Fragment tests will also automatically check for any sort of leaks
related to bindings, receivers, or other callbacks in sysui. This
requires changing the statusbar.policy classes with callbacks to
have a common interface.

Lastly also fixes a few lifecycle bugs in QS found from the above
tests.

Bug: 32609190
Test: runtest systemui
Change-Id: I52007c696c2fd41914bba4ba9d8055f2b564a7d8
51 files changed:
packages/SystemUI/src/com/android/systemui/BatteryMeterDrawable.java
packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java
packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/UserTile.java
packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
packages/SystemUI/src/com/android/systemui/statusbar/car/CarBatteryController.java
packages/SystemUI/src/com/android/systemui/statusbar/car/ConnectedDeviceSignalController.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/LightStatusBarController.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/ManagedProfileController.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackController.java [new file with mode: 0644]
packages/SystemUI/src/com/android/systemui/statusbar/policy/CastController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/DataSaverController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/NextAlarmController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockControllerImpl.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/SecurityController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/UserInfoController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeController.java
packages/SystemUI/tests/AndroidManifest.xml
packages/SystemUI/tests/src/com/android/systemui/FragmentTestCase.java [new file with mode: 0644]
packages/SystemUI/tests/src/com/android/systemui/LeakCheckedTest.java [new file with mode: 0644]
packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java [new file with mode: 0644]
packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java