b/2137747 Fixed the problem where BT is stuck grayed out if you turned off BT, turned on Airplane mode, turn off then on screen, turned off Airplane mode.

Change-Id: I37c628e4a98157ed91d519518773a458dca36c00
This commit is contained in:
Michael Chan
2009-09-27 12:46:51 -07:00
parent 9281c929d6
commit b662f54542

View File

@@ -99,7 +99,7 @@ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener {
// Don't update UI to opposite state until we're sure // Don't update UI to opposite state until we're sure
return false; return false;
} }
private void setEnabled(final boolean enable) { private void setEnabled(final boolean enable) {
// Disable preference // Disable preference
mCheckBoxPreference.setEnabled(false); mCheckBoxPreference.setEnabled(false);
@@ -115,8 +115,16 @@ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener {
mCheckBoxPreference.setSummary(state == BluetoothAdapter.STATE_OFF ? mCheckBoxPreference.setSummary(state == BluetoothAdapter.STATE_OFF ?
mOriginalSummary : mOriginalSummary :
null); null);
mCheckBoxPreference.setEnabled(isEnabledByDependency()); /*
* Don't ever disable the preference. Only enable here. Disablement
* is taken care of by the dependency code. If this is disabled
* here, it may not be re-enabled from the framework when dependency
* is met. http://b/issue?id=2053751
*/
if (isEnabledByDependency()) {
mCheckBoxPreference.setEnabled(true);
}
} else if (state == BluetoothAdapter.STATE_TURNING_ON || } else if (state == BluetoothAdapter.STATE_TURNING_ON ||
state == BluetoothAdapter.STATE_TURNING_OFF) { state == BluetoothAdapter.STATE_TURNING_OFF) {