Disable development settings when the switch bar turns off.
Change-Id: Icc9953c95ed4d131231bb6ba95d60b43092a3833 Fix: 29274149 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -23,7 +23,6 @@ import android.app.AlertDialog;
|
||||
import android.app.AppOpsManager;
|
||||
import android.app.AppOpsManager.PackageOps;
|
||||
import android.app.Dialog;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.app.backup.IBackupManager;
|
||||
import android.bluetooth.BluetoothA2dp;
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
@@ -246,17 +245,15 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
private IWindowManager mWindowManager;
|
||||
private IBackupManager mBackupManager;
|
||||
private IWebViewUpdateService mWebViewUpdateService;
|
||||
private DevicePolicyManager mDpm;
|
||||
private UserManager mUm;
|
||||
private WifiManager mWifiManager;
|
||||
private PersistentDataBlockManager mOemUnlockManager;
|
||||
private TelephonyManager mTelephonyManager;
|
||||
|
||||
private SwitchBar mSwitchBar;
|
||||
private boolean mLastEnabledState;
|
||||
|
||||
private boolean mHaveDebugSettings;
|
||||
private boolean mDontPokeProperties;
|
||||
|
||||
private SwitchPreference mEnableAdb;
|
||||
private Preference mClearAdbKeys;
|
||||
private SwitchPreference mEnableTerminal;
|
||||
@@ -350,6 +347,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
private boolean mLogpersistCleared;
|
||||
private Dialog mLogpersistClearDialog;
|
||||
private DashboardFeatureProvider mDashboardFeatureProvider;
|
||||
private DevelopmentSettingsEnabler mSettingsEnabler;
|
||||
private BugReportPreferenceController mBugReportController;
|
||||
private BugReportInPowerPreferenceController mBugReportInPowerController;
|
||||
private TelephonyMonitorPreferenceController mTelephonyMonitorController;
|
||||
@@ -366,6 +364,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
mSettingsEnabler = new DevelopmentSettingsEnabler(context, getLifecycle());
|
||||
mDashboardFeatureProvider = FeatureFactory.getFactory(context)
|
||||
.getDashboardFeatureProvider(context);
|
||||
}
|
||||
@@ -382,7 +381,6 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
|
||||
mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
||||
|
||||
mDpm = (DevicePolicyManager) getActivity().getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||
mUm = (UserManager) getSystemService(Context.USER_SERVICE);
|
||||
|
||||
mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
|
||||
@@ -671,22 +669,18 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
mDisabledPrefs.add(mKeepScreenOn);
|
||||
}
|
||||
|
||||
final ContentResolver cr = getActivity().getContentResolver();
|
||||
mLastEnabledState = Settings.Global.getInt(cr,
|
||||
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
|
||||
mSwitchBar.setChecked(mLastEnabledState);
|
||||
setPrefsEnabledState(mLastEnabledState);
|
||||
final boolean lastEnabledState = mSettingsEnabler.getLastEnabledState();
|
||||
mSwitchBar.setChecked(lastEnabledState);
|
||||
setPrefsEnabledState(lastEnabledState);
|
||||
|
||||
if (mHaveDebugSettings && !mLastEnabledState) {
|
||||
if (mHaveDebugSettings && !lastEnabledState) {
|
||||
// Overall debugging is disabled, but there are some debug
|
||||
// settings that are enabled. This is an invalid state. Switch
|
||||
// to debug settings being enabled, so the user knows there is
|
||||
// stuff enabled and can turn it all off if they want.
|
||||
Settings.Global.putInt(getActivity().getContentResolver(),
|
||||
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
|
||||
mLastEnabledState = true;
|
||||
mSwitchBar.setChecked(mLastEnabledState);
|
||||
setPrefsEnabledState(mLastEnabledState);
|
||||
mSettingsEnabler.enableDevelopmentSettings();
|
||||
mSwitchBar.setChecked(lastEnabledState);
|
||||
setPrefsEnabledState(lastEnabledState);
|
||||
}
|
||||
mSwitchBar.show();
|
||||
|
||||
@@ -1560,7 +1554,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
|| currentValue.equals(SELECT_LOGD_OFF_SIZE_MARKER_VALUE)) {
|
||||
writeLogpersistOption(null, true);
|
||||
mLogpersist.setEnabled(false);
|
||||
} else if (mLastEnabledState) {
|
||||
} else if (mSettingsEnabler.getLastEnabledState()) {
|
||||
mLogpersist.setEnabled(true);
|
||||
}
|
||||
}
|
||||
@@ -1848,8 +1842,9 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
}
|
||||
}
|
||||
}
|
||||
if (codecConfig == null)
|
||||
if (codecConfig == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
resources = getResources();
|
||||
@@ -2329,7 +2324,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
if (switchView != mSwitchBar.getSwitch()) {
|
||||
return;
|
||||
}
|
||||
if (isChecked != mLastEnabledState) {
|
||||
final boolean lastEnabledState = mSettingsEnabler.getLastEnabledState();
|
||||
if (isChecked != lastEnabledState) {
|
||||
if (isChecked) {
|
||||
mDialogClicked = false;
|
||||
if (mEnableDialog != null) dismissDialogs();
|
||||
@@ -2343,10 +2339,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
mEnableDialog.setOnDismissListener(this);
|
||||
} else {
|
||||
resetDangerousOptions();
|
||||
Settings.Global.putInt(getActivity().getContentResolver(),
|
||||
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
|
||||
mLastEnabledState = isChecked;
|
||||
setPrefsEnabledState(mLastEnabledState);
|
||||
mSettingsEnabler.disableDevelopmentSettings();
|
||||
setPrefsEnabledState(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2629,10 +2623,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
} else if (dialog == mEnableDialog) {
|
||||
if (which == DialogInterface.BUTTON_POSITIVE) {
|
||||
mDialogClicked = true;
|
||||
Settings.Global.putInt(getActivity().getContentResolver(),
|
||||
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
|
||||
mLastEnabledState = true;
|
||||
setPrefsEnabledState(mLastEnabledState);
|
||||
mSettingsEnabler.enableDevelopmentSettings();
|
||||
setPrefsEnabledState(true);
|
||||
} else {
|
||||
// Reset the toggle
|
||||
mSwitchBar.setChecked(false);
|
||||
|
||||
Reference in New Issue
Block a user