Handle return value when Bluetooth is enabled
If the Bluetooth enable(true) returns false currently we are waiting for a broadcast (which may not happen if enable returns false). We mark the toggle to have failed (i.e. it is clickable and in OFF state) and the switch bar text is appropriately shown. Bug: b/28318203 Change-Id: I09ba46d2e102e7f2c4ef9a72bf38dedc1346364f
This commit is contained in:
committed by
Andre Eisenbach
parent
726085c5c7
commit
77ad3c2531
@@ -24,6 +24,7 @@ import android.content.IntentFilter;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.widget.Switch;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -189,7 +190,16 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_BLUETOOTH_TOGGLE, isChecked);
|
||||
|
||||
if (mLocalAdapter != null) {
|
||||
mLocalAdapter.setBluetoothEnabled(isChecked);
|
||||
boolean status = mLocalAdapter.setBluetoothEnabled(isChecked);
|
||||
// If we cannot toggle it ON then reset the UI assets:
|
||||
// a) The switch should be OFF but it should still be togglable (enabled = True)
|
||||
// b) The switch bar should have OFF text.
|
||||
if (isChecked && !status) {
|
||||
switchView.setChecked(false);
|
||||
mSwitch.setEnabled(true);
|
||||
mSwitchBar.setTextViewLabel(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
mSwitch.setEnabled(false);
|
||||
}
|
||||
|
Reference in New Issue
Block a user