Merge change 27285 into eclair

* changes:
  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.
This commit is contained in:
Android (Google) Code Review
2009-09-27 15:53:43 -04:00

View File

@@ -99,7 +99,7 @@ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener {
// Don't update UI to opposite state until we're sure
return false;
}
private void setEnabled(final boolean enable) {
// Disable preference
mCheckBoxPreference.setEnabled(false);
@@ -115,8 +115,16 @@ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener {
mCheckBoxPreference.setSummary(state == BluetoothAdapter.STATE_OFF ?
mOriginalSummary :
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 ||
state == BluetoothAdapter.STATE_TURNING_OFF) {