Fixed a Setting Bluetooth Airplane mode bug.
+ This patch moves the switch listeners from setup/teardown of the SwitchBar to pause/resume of Bluetooth Settings. This prevents Bluetooth from receiving connect messages while Airplane mode is turning off Bluetooth (which is what caused Bluetooth to re-enable.) Bug: 17465951 Change-Id: I4d32fcf5bb3a2241ed03e2295c86390e15743954
This commit is contained in:
@@ -90,12 +90,10 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setupSwitchBar() {
|
public void setupSwitchBar() {
|
||||||
mSwitchBar.addOnSwitchChangeListener(this);
|
|
||||||
mSwitchBar.show();
|
mSwitchBar.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void teardownSwitchBar() {
|
public void teardownSwitchBar() {
|
||||||
mSwitchBar.removeOnSwitchChangeListener(this);
|
|
||||||
mSwitchBar.hide();
|
mSwitchBar.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,6 +110,7 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
|
|||||||
// Bluetooth state is not sticky, so set it manually
|
// Bluetooth state is not sticky, so set it manually
|
||||||
handleStateChanged(mLocalAdapter.getBluetoothState());
|
handleStateChanged(mLocalAdapter.getBluetoothState());
|
||||||
|
|
||||||
|
mSwitchBar.addOnSwitchChangeListener(this);
|
||||||
mContext.registerReceiver(mReceiver, mIntentFilter);
|
mContext.registerReceiver(mReceiver, mIntentFilter);
|
||||||
mValidListener = true;
|
mValidListener = true;
|
||||||
}
|
}
|
||||||
@@ -121,6 +120,7 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mSwitchBar.removeOnSwitchChangeListener(this);
|
||||||
mContext.unregisterReceiver(mReceiver);
|
mContext.unregisterReceiver(mReceiver);
|
||||||
mValidListener = false;
|
mValidListener = false;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user