- This avoids the null check for PreferenceControllers where isAvailable()
is not always true
Bug:
34203528
Test: make RunSettingsRoboTests -j40
Change-Id: Ibed8bc6a2a812355c521620d77fb571c1fd8a649
}
@Override
- public void onDeveloperOptionsEnabled() {
+ protected void onDeveloperOptionsSwitchEnabled() {
mPreference.setEnabled(true);
}
@Override
- public void onDeveloperOptionsDisabled() {
+ protected void onDeveloperOptionsSwitchDisabled() {
SystemProperties.set(BLUETOOTH_BTSNOOP_ENABLE_PROPERTY, Boolean.toString(false));
mPreference.setChecked(false);
mPreference.setEnabled(false);
/**
* Called when developer options is enabled
*/
- public abstract void onDeveloperOptionsEnabled();
+ public void onDeveloperOptionsEnabled() {
+ if (isAvailable()) {
+ onDeveloperOptionsSwitchEnabled();
+ }
+ }
/**
* Called when developer options is disabled
*/
- public abstract void onDeveloperOptionsDisabled();
+ public void onDeveloperOptionsDisabled() {
+ if (isAvailable()) {
+ onDeveloperOptionsSwitchDisabled();
+ }
+ }
+
+ /**
+ * Called when developer options is enabled and the preference is available
+ */
+ protected abstract void onDeveloperOptionsSwitchEnabled();
+
+ /**
+ * Called when developer options is disabled and the preference is available
+ */
+ protected abstract void onDeveloperOptionsSwitchDisabled();
+
}
}
@Override
- public void onDeveloperOptionsEnabled() {
+ protected void onDeveloperOptionsSwitchEnabled() {
handleDeveloperOptionsToggled();
}
@Override
- public void onDeveloperOptionsDisabled() {
+ protected void onDeveloperOptionsSwitchDisabled() {
handleDeveloperOptionsToggled();
}
}
private void handleDeveloperOptionsToggled() {
- if (mPreference == null) {
- return;
- }
-
mPreference.setEnabled(enableOemUnlockPreference());
if (mPreference.isEnabled()) {
// Check restriction, disable mEnableOemUnlock and apply policy transparency.
}
@Override
- public void onDeveloperOptionsEnabled() {
- mPreference.setEnabled(true);
- }
-
- @Override
- public void onDeveloperOptionsDisabled() {
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.STAY_ON_WHILE_PLUGGED_IN, SETTING_VALUE_OFF);
- mPreference.setChecked(false);
- mPreference.setEnabled(false);
- }
-
- @Override
public void onResume() {
if (mPreference != null) {
mSettingsObserver.register(true /* register */);
}
}
+ @Override
+ protected void onDeveloperOptionsSwitchEnabled() {
+ mPreference.setEnabled(true);
+ }
+
+ @Override
+ protected void onDeveloperOptionsSwitchDisabled() {
+ Settings.Global.putInt(mContext.getContentResolver(),
+ Settings.Global.STAY_ON_WHILE_PLUGGED_IN, SETTING_VALUE_OFF);
+ mPreference.setChecked(false);
+ mPreference.setEnabled(false);
+ }
+
@VisibleForTesting
RestrictedLockUtils.EnforcedAdmin checkIfMaximumTimeToLockSetByAdmin() {
// A DeviceAdmin has specified a maximum time until the device