Merge "Remove custom updateState() if it's just setting summary"

This commit is contained in:
TreeHugger Robot
2018-03-01 01:29:22 +00:00
committed by Android (Google) Code Review
19 changed files with 37 additions and 102 deletions

View File

@@ -55,7 +55,8 @@
android:key="manage_perms"
android:title="@string/app_permissions"
android:order="12"
settings:keywords="@string/keywords_app_permissions">
settings:keywords="@string/keywords_app_permissions"
settings:controller="com.android.settings.applications.AppPermissionsPreferenceController">
<intent android:action="android.intent.action.MANAGE_PERMISSIONS" />
</Preference>
@@ -76,4 +77,4 @@
android:title="@string/special_access"
android:order="20" />
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -49,7 +49,7 @@ public abstract class VibrationIntensityPreferenceController extends BasePrefere
mSettingsContentObserver = new SettingObserver(settingKey) {
@Override
public void onChange(boolean selfChange, Uri uri) {
updateState(null);
updateState(mPreference);
}
};
}
@@ -73,14 +73,6 @@ public abstract class VibrationIntensityPreferenceController extends BasePrefere
mPreference = screen.findPreference(getPreferenceKey());
}
@Override
public void updateState(Preference preference) {
if (mPreference == null) {
return;
}
mPreference.setSummary(getSummary());
}
@Override
public CharSequence getSummary() {
final int intensity = Settings.System.getInt(mContext.getContentResolver(),

View File

@@ -75,7 +75,6 @@ public class AppAndNotificationDashboardFragment extends DashboardFragment {
controllers.add(new EmergencyBroadcastPreferenceController(context,
"app_and_notif_cell_broadcast_settings"));
controllers.add(new SpecialAppAccessPreferenceController(context));
controllers.add(new AppPermissionsPreferenceController(context));
controllers.add(new RecentAppsPreferenceController(context, app, host));
return controllers;
}

View File

@@ -19,55 +19,40 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PermissionGroupInfo;
import android.content.pm.PermissionInfo;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Log;
import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settings.core.BasePreferenceController;
import java.util.List;
import java.util.Set;
public class AppPermissionsPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin {
public class AppPermissionsPreferenceController extends BasePreferenceController {
private static final String TAG = "AppPermissionPrefCtrl";
private static final String KEY_APP_PERMISSION_GROUPS = "manage_perms";
private static final String[] PERMISSION_GROUPS = new String[] {
"android.permission-group.LOCATION",
"android.permission-group.MICROPHONE",
"android.permission-group.CAMERA",
"android.permission-group.SMS",
"android.permission-group.CONTACTS",
"android.permission-group.PHONE"};
"android.permission-group.LOCATION",
"android.permission-group.MICROPHONE",
"android.permission-group.CAMERA",
"android.permission-group.SMS",
"android.permission-group.CONTACTS",
"android.permission-group.PHONE"};
private static final int NUM_PERMISSION_TO_USE = 3;
private final PackageManager mPackageManager;
public AppPermissionsPreferenceController(Context context) {
super(context);
super(context, KEY_APP_PERMISSION_GROUPS);
mPackageManager = context.getPackageManager();
}
@Override
public boolean isAvailable() {
return true;
}
@Override
public String getPreferenceKey() {
return KEY_APP_PERMISSION_GROUPS;
}
@Override
public void updateState(Preference preference) {
final CharSequence summary = getSummary();
if (summary != null) {
preference.setSummary(summary);
}
public int getAvailabilityStatus() {
return AVAILABLE;
}
/*
@@ -96,7 +81,7 @@ public class AppPermissionsPreferenceController extends AbstractPreferenceContro
private Set<String> getGrantedPermissionGroups(Set<String> permissions) {
ArraySet<String> grantedPermissionGroups = new ArraySet<>();
List<PackageInfo> installedPackages =
mPackageManager.getInstalledPackages(PackageManager.GET_PERMISSIONS);
mPackageManager.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo installedPackage : installedPackages) {
if (installedPackage.permissions == null) {
continue;
@@ -134,12 +119,12 @@ public class AppPermissionsPreferenceController extends AbstractPreferenceContro
for (String group : PERMISSION_GROUPS) {
try {
final List<PermissionInfo> permissions =
mPackageManager.queryPermissionsByGroup(group, 0);
mPackageManager.queryPermissionsByGroup(group, 0);
for (PermissionInfo permissionInfo : permissions) {
result.add(permissionInfo.name);
}
} catch (NameNotFoundException e) {
Log.e(TAG, "Error getting permissions in group "+group, e);
Log.e(TAG, "Error getting permissions in group " + group, e);
}
}
return result;

View File

@@ -49,11 +49,6 @@ public abstract class DefaultAppShortcutPreferenceControllerBase extends BasePre
return hasAppCapability() ? AVAILABLE : DISABLED_UNSUPPORTED;
}
@Override
public void updateState(Preference preference) {
preference.setSummary(getSummary());
}
@Override
public CharSequence getSummary() {
int summaryResId = isDefaultApp() ? R.string.yes : R.string.no;

View File

@@ -21,7 +21,6 @@ import static android.Manifest.permission.SYSTEM_ALERT_WINDOW;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.UserManager;
import android.support.v7.preference.Preference;
import com.android.settings.SettingsPreferenceFragment;
@@ -50,11 +49,6 @@ public class DrawOverlayDetailPreferenceController extends AppInfoPreferenceCont
return DISABLED_FOR_USER;
}
@Override
public void updateState(Preference preference) {
preference.setSummary(getSummary());
}
@Override
protected Class<? extends SettingsPreferenceFragment> getDetailFragmentClass() {
return DrawOverlayDetails.class;

View File

@@ -21,7 +21,6 @@ import static android.Manifest.permission.WRITE_SETTINGS;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.UserManager;
import android.support.v7.preference.Preference;
import com.android.settings.SettingsPreferenceFragment;
@@ -51,11 +50,6 @@ public class WriteSystemSettingsPreferenceController extends AppInfoPreferenceCo
return DISABLED_FOR_USER;
}
@Override
public void updateState(Preference preference) {
preference.setSummary(getSummary());
}
@Override
protected Class<? extends SettingsPreferenceFragment> getDetailFragmentClass() {
return WriteSettingsDetails.class;

View File

@@ -19,7 +19,6 @@ package com.android.settings.backup;
import android.app.backup.BackupManager;
import android.content.Context;
import android.os.UserManager;
import android.support.v7.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
@@ -45,11 +44,6 @@ public class BackupSettingsActivityPreferenceController extends BasePreferenceCo
: DISABLED_UNSUPPORTED;
}
@Override
public void updateState(Preference preference) {
preference.setSummary(getSummary());
}
@Override
public CharSequence getSummary() {
final boolean backupEnabled = mBackupManager.isBackupEnabled();

View File

@@ -41,7 +41,7 @@ import java.util.TreeSet;
*/
public class PreferenceControllerListHelper {
private static final String TAG = "PrefCtrlListCreator";
private static final String TAG = "PrefCtrlListHelper";
/**
* Instantiates a list of controller based on xml definition.

View File

@@ -18,7 +18,6 @@ import android.os.IBinder;
import android.os.Parcel;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.support.v7.preference.Preference;
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
@@ -45,11 +44,6 @@ public class ColorModePreferenceController extends BasePreferenceController {
return mConfigWrapper.isScreenWideColorGamut() ? AVAILABLE : DISABLED_FOR_USER;
}
@Override
public void updateState(Preference preference) {
preference.setSummary(getSummary());
}
@Override
public CharSequence getSummary() {
final int colorMode = getColorDisplayController().getColorMode();

View File

@@ -19,7 +19,6 @@ package com.android.settings.gestures;
import android.content.ContentResolver;
import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.R;
@@ -55,11 +54,6 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle
: DISABLED_UNSUPPORTED;
}
@Override
public void updateState(Preference preference) {
preference.setSummary(getSummary());
}
@Override
public CharSequence getSummary() {
if (!mFeatureProvider.isSensorAvailable(mContext)) {

View File

@@ -51,6 +51,7 @@ public class HeaderPreferenceController extends NotificationPreferenceController
return mAppRow != null;
}
@Override
public void updateState(Preference preference) {
if (mAppRow != null && mFragment != null) {
LayoutPreference pref = (LayoutPreference) preference;

View File

@@ -84,10 +84,7 @@ public class PrintSettingPreferenceController extends BasePreferenceController i
@Override
public void updateState(Preference preference) {
if (preference == null) {
return;
}
preference.setSummary(getSummary());
super.updateState(preference);
((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
UserManager.DISALLOW_PRINTING);
}

View File

@@ -18,7 +18,6 @@ package com.android.settings.security;
import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
@@ -44,10 +43,4 @@ public class ScreenPinningPreferenceController extends BasePreferenceController
? mContext.getText(R.string.switch_on_text)
: mContext.getText(R.string.switch_off_text);
}
@Override
public void updateState(Preference preference) {
super.updateState(preference);
preference.setSummary(getSummary());
}
}

View File

@@ -82,11 +82,6 @@ public class SystemUpdatePreferenceController extends BasePreferenceController {
return false;
}
@Override
public void updateState(Preference preference) {
preference.setSummary(getSummary());
}
@Override
public CharSequence getSummary() {
final Bundle updateInfo = mUpdateManager.retrieveSystemUpdateInfo();

View File

@@ -1 +1,2 @@
com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard
com.android.settings.search.indexing.FakeSettingsFragment

View File

@@ -1,5 +1 @@
com.android.settings.datausage.DataUsageSummaryLegacy
com.android.settings.fuelgauge.PowerUsageSummary
com.android.settings.fuelgauge.PowerUsageAdvanced
com.android.settings.search.indexing.FakeSettingsFragment
com.android.settings.system.SystemDashboardFragment

View File

@@ -86,25 +86,25 @@ public class NotificationVibrationIntensityPreferenceControllerTest {
public void updateState_shouldRefreshSummary() {
Settings.System.putInt(mContext.getContentResolver(),
NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW);
mController.updateState(null);
mController.updateState(mPreference);
assertThat(mPreference.getSummary())
.isEqualTo(mContext.getString(R.string.accessibility_vibration_intensity_low));
Settings.System.putInt(mContext.getContentResolver(),
NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH);
mController.updateState(null);
mController.updateState(mPreference);
assertThat(mPreference.getSummary())
.isEqualTo(mContext.getString(R.string.accessibility_vibration_intensity_high));
Settings.System.putInt(mContext.getContentResolver(),
NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM);
mController.updateState(null);
mController.updateState(mPreference);
assertThat(mPreference.getSummary())
.isEqualTo(mContext.getString(R.string.accessibility_vibration_intensity_medium));
Settings.System.putInt(mContext.getContentResolver(),
NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
mController.updateState(null);
mController.updateState(mPreference);
assertThat(mPreference.getSummary())
.isEqualTo(mContext.getString(R.string.accessibility_vibration_intensity_off));
}

View File

@@ -19,6 +19,8 @@ package com.android.settings.dashboard;
import android.app.Fragment;
import android.content.Context;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerListHelper;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.Indexable;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -58,6 +60,14 @@ public class DashboardFragmentSearchIndexProviderInspector {
try {
controllersFromFragment =
((DashboardFragment) fragment).createPreferenceControllers(context);
List<BasePreferenceController> controllersFromXml = PreferenceControllerListHelper
.getPreferenceControllersFromXml(context,
((DashboardFragment) fragment).getPreferenceScreenResId());
final List<BasePreferenceController> uniqueControllerFromXml =
PreferenceControllerListHelper.filterControllers(
controllersFromXml, controllersFromFragment);
controllersFromFragment.addAll(uniqueControllerFromXml);
} catch (Throwable e) {
// Can't do much with exception, assume the test passed.
return true;