Bluetooth: Fix to avoid BluetoothPan ServiceConnection leak
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 (cherry picked from commit 31bcf6225cdabee4f810d4fe55ea32d0d43a9c5c) (cherry picked from commit 31c799305b480e56bd083a48c6acca11572ebe16)
This commit is contained in:
committed by
Myles Watson
parent
46338558e1
commit
1b0afb9d1c
@@ -131,7 +131,8 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
if (mBluetoothAdapter != null) {
|
||||
if (mBluetoothAdapter != null &&
|
||||
mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
|
||||
mBluetoothAdapter.getProfileProxy(mContext, mBtProfileServiceListener,
|
||||
BluetoothProfile.PAN);
|
||||
}
|
||||
|
Reference in New Issue
Block a user