Usecase: 1.) Make sure BT is turned off. 2.) Go to Settings -> Network & Internet 3.) Press back from Network & Internet. 4.) Repeat above step 2000 times Expected Result: No ANR/Crashed should be seen. Observed Result: ServiceConnection leak is happening & android setting app get crashed. Root cause: TetherPreferenceController tries to get pan Proxy object, when BT is oFF, which is leaking one service connection each time Fix: getProfileProxy for Pan must only be called, when BT is turned on. Test: lifeCycle_onCreate_shouldNotInitBluetoothPanWhenBluetoothOff Bug: 79561076 Change-Id: I85208f48ce4dded94020cb156fcdb98b2cc873f9 Merged-In: I85208f48ce4dded94020cb156fcdb98b2cc873f9
Running Settings Robolectric tests
The full suite
$ croot
$ make RunSettingsRoboTests
Running a single test class
$ croot
$ make RunSettingsRoboTests ROBOTEST_FILTER=<ClassName>
For example:
make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest
You can also use partial class name in ROBOTEST_FILTER. If the partial class name matches multiple file names, all of them will be executed.