Disable developer options when development_settings_enabled is disabled am: b5774a8e2e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22562950 Change-Id: I25fa47e98e0642795027d7c67e5a7ca8426dadfe Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.development;
|
package com.android.settings.development;
|
||||||
|
|
||||||
|
import static android.provider.Settings.Global.DEVELOPMENT_SETTINGS_ENABLED;
|
||||||
import static android.service.quicksettings.TileService.ACTION_QS_TILE_PREFERENCES;
|
import static android.service.quicksettings.TileService.ACTION_QS_TILE_PREFERENCES;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
@@ -27,12 +28,18 @@ import android.bluetooth.BluetoothCodecStatus;
|
|||||||
import android.bluetooth.BluetoothProfile;
|
import android.bluetooth.BluetoothProfile;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
|
import android.database.ContentObserver;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -173,10 +180,47 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private final Uri mDevelopEnabled = Settings.Global.getUriFor(DEVELOPMENT_SETTINGS_ENABLED);
|
||||||
|
private final ContentObserver mDeveloperSettingsObserver = new ContentObserver(new Handler(
|
||||||
|
Looper.getMainLooper())) {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange, Uri uri) {
|
||||||
|
super.onChange(selfChange, uri);
|
||||||
|
final boolean developmentEnabledState =
|
||||||
|
DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(getContext());
|
||||||
|
final boolean switchState = mSwitchBar.isChecked();
|
||||||
|
|
||||||
|
// when developer options is enabled, but it is disabled by other privilege apps like:
|
||||||
|
// adb command, we should disable all items and finish the activity.
|
||||||
|
if (developmentEnabledState != switchState) {
|
||||||
|
if (developmentEnabledState) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
disableDeveloperOptions();
|
||||||
|
getActivity().runOnUiThread(() -> finishFragment());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public DevelopmentSettingsDashboardFragment() {
|
public DevelopmentSettingsDashboardFragment() {
|
||||||
super(UserManager.DISALLOW_DEBUGGING_FEATURES);
|
super(UserManager.DISALLOW_DEBUGGING_FEATURES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
final ContentResolver cr = getContext().getContentResolver();
|
||||||
|
cr.registerContentObserver(mDevelopEnabled, false, mDeveloperSettingsObserver);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStop() {
|
||||||
|
super.onStop();
|
||||||
|
final ContentResolver cr = getContext().getContentResolver();
|
||||||
|
cr.unregisterContentObserver(mDeveloperSettingsObserver);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
|
Reference in New Issue
Block a user