Move bugreport storage enabling into OS.

It's convoluted to enable/disable bugreport storage based on the
"power menu" shortcut, and it's frustrating for dogfooders to have
to manually cycle this setting once to enable the provider.

So move the enable/disable logic directly into the OS, toggle it
when the broader DEVELOPMENT_SETTINGS_ENABLED changes, and update
to match state at device boot.

Test: builds, boots
Bug: 32540478
Change-Id: I8721dfbfc1dc2e19adb9cb5588f6b35f2872da9d
This commit is contained in:
Jeff Sharkey
2018-02-03 13:27:03 -07:00
parent 36952523bb
commit 24f1843677
2 changed files with 0 additions and 27 deletions

View File

@@ -18,7 +18,6 @@ package com.android.settings.development;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
@@ -28,7 +27,6 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public class BugReportInPowerPreferenceController extends
DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
@@ -36,22 +34,17 @@ public class BugReportInPowerPreferenceController extends
private static final String KEY_BUGREPORT_IN_POWER = "bugreport_in_power";
@VisibleForTesting
static final ComponentName COMPONENT_NAME = new ComponentName("com.android.shell",
"com.android.shell.BugreportStorageProvider");
@VisibleForTesting
static int SETTING_VALUE_ON = 1;
@VisibleForTesting
static int SETTING_VALUE_OFF = 0;
private final PackageManagerWrapper mPackageManager;
private final UserManager mUserManager;
private SwitchPreference mPreference;
public BugReportInPowerPreferenceController(Context context) {
super(context);
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mPackageManager = new PackageManagerWrapper(context.getPackageManager());
}
@Override
@@ -77,7 +70,6 @@ public class BugReportInPowerPreferenceController extends
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Global.BUGREPORT_IN_POWER_MENU,
isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
setBugreportStorageProviderStatus(isEnabled);
return true;
}
@@ -97,13 +89,6 @@ public class BugReportInPowerPreferenceController extends
protected void onDeveloperOptionsSwitchDisabled() {
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Global.BUGREPORT_IN_POWER_MENU, SETTING_VALUE_OFF);
setBugreportStorageProviderStatus(false);
mPreference.setChecked(false);
}
private void setBugreportStorageProviderStatus(boolean isEnabled) {
mPackageManager.setComponentEnabledSetting(COMPONENT_NAME,
isEnabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
: PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0 /* flags */);
}
}