Establish permanently unavailable settings

Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.

The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.

Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.

Bug: 78910582
Fixes: 79245656
Test: robotests
Change-Id: I42c2cedab66be2d76999795f46470a079cc1ec71
Merged-In: I58821a6cfd6134b3b351657b6edf5f74ead00643
This commit is contained in:
Matthew Fritze
2018-05-03 16:46:51 -07:00
parent 9a1d318b37
commit bd376296cd
90 changed files with 155 additions and 176 deletions

View File

@@ -23,7 +23,6 @@ import android.content.Context;
import android.provider.Settings;
import android.view.accessibility.AccessibilityManager;
import com.android.settings.accessibility.AccessibilitySettings;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.accessibility.AccessibilityUtils;
@@ -88,7 +87,7 @@ public class AccessibilitySlicePreferenceController extends TogglePreferenceCont
@Override
public int getAvailabilityStatus() {
// Return unsupported when the service is disabled or not installed.
return getAccessibilityServiceInfo() == null ? DISABLED_UNSUPPORTED : AVAILABLE;
return getAccessibilityServiceInfo() == null ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
}
private AccessibilityServiceInfo getAccessibilityServiceInfo() {

View File

@@ -56,7 +56,7 @@ public class MagnificationNavbarPreferenceController extends BasePreferenceContr
public int getAvailabilityStatus() {
return MagnificationPreferenceFragment.isApplicable(mContext.getResources())
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -35,6 +35,6 @@ public class DataSaverController extends BasePreferenceController {
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_data_saver)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -34,6 +34,6 @@ public class DeviceAdministratorsController extends BasePreferenceController {
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_device_administrators)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -34,6 +34,6 @@ public class EnabledVrListenersController extends BasePreferenceController {
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_enabled_vr_listeners)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -34,6 +34,6 @@ public class HighPowerAppsController extends BasePreferenceController {
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_high_power_apps)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -34,6 +34,6 @@ public class PremiumSmsController extends BasePreferenceController {
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_premium_sms)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -78,7 +78,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_app_info_settings_battery)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -56,7 +56,7 @@ public class AppDataUsagePreferenceController extends AppInfoPreferenceControlle
@Override
public int getAvailabilityStatus() {
return isBandwidthControlEnabled() ? AVAILABLE : DISABLED_UNSUPPORTED;
return isBandwidthControlEnabled() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -105,11 +105,11 @@ public class AppMemoryPreferenceController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
if (!mContext.getResources().getBoolean(R.bool.config_show_app_info_settings_memory)) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -46,7 +46,7 @@ public abstract class DefaultAppShortcutPreferenceControllerBase extends BasePre
if (UserManager.get(mContext).isManagedProfile()) {
return DISABLED_FOR_USER;
}
return hasAppCapability() ? AVAILABLE : DISABLED_UNSUPPORTED;
return hasAppCapability() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -55,19 +55,19 @@ public class TimeSpentInAppPreferenceController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
if (TextUtils.isEmpty(mPackageName)) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
final List<ResolveInfo> resolved = mPackageManager.queryIntentActivities(mIntent,
0 /* flags */);
if (resolved == null || resolved.isEmpty()) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
for (ResolveInfo info : resolved) {
if (isSystemApp(info)) {
return AVAILABLE;
}
}
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -41,7 +41,7 @@ public class BackupSettingsActivityPreferenceController extends BasePreferenceCo
public int getAvailabilityStatus() {
return mUm.isAdminUser()
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -99,7 +99,7 @@ public class BluetoothDeviceNamePreferenceController extends BasePreferenceContr
@Override
public int getAvailabilityStatus() {
return mLocalAdapter != null ? AVAILABLE : DISABLED_UNSUPPORTED;
return mLocalAdapter != null ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -26,7 +26,6 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
/**
@@ -57,7 +56,7 @@ public class BluetoothFilesPreferenceController extends BasePreferenceController
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -75,7 +75,7 @@ public class AddDevicePreferenceController extends BasePreferenceController
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -84,7 +84,7 @@ public class AvailableMediaDeviceGroupController extends BasePreferenceControlle
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -128,7 +128,7 @@ public class BluetoothDashboardFragment extends DashboardFragment {
BluetoothAdapter adapter = manager.getAdapter();
final int status = adapter != null
? TogglePreferenceController.AVAILABLE
: TogglePreferenceController.DISABLED_UNSUPPORTED;
: TogglePreferenceController.UNSUPPORTED_ON_DEVICE;
if (status != TogglePreferenceController.AVAILABLE) {
keys.add(KEY_BLUETOOTH_SCREEN);
}

View File

@@ -38,7 +38,7 @@ public class BluetoothOnWhileDrivingPreferenceController extends TogglePreferenc
if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.BLUETOOTH_WHILE_DRIVING)) {
return AVAILABLE;
}
return DISABLED_UNSUPPORTED;
return CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -33,7 +33,6 @@ import com.android.settings.overlay.DockUpdaterFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
/**
@@ -88,7 +87,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -30,7 +30,6 @@ import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.DockUpdaterFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -86,7 +85,7 @@ public class SavedDeviceGroupController extends BasePreferenceController
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -49,8 +49,8 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
* {@link #isSupported()}.
*/
@Retention(RetentionPolicy.SOURCE)
@IntDef({AVAILABLE, DISABLED_UNSUPPORTED, DISABLED_FOR_USER, DISABLED_DEPENDENT_SETTING,
UNAVAILABLE_UNKNOWN})
@IntDef({AVAILABLE, UNSUPPORTED_ON_DEVICE, DISABLED_FOR_USER, DISABLED_DEPENDENT_SETTING,
CONDITIONALLY_UNAVAILABLE})
public @interface AvailabilityStatus {
}
@@ -60,12 +60,20 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
public static final int AVAILABLE = 0;
/**
* The setting is not supported by the device.
* A generic catch for settings which are currently unavailable, but may become available in
* the future. You should use {@link #DISABLED_FOR_USER} or {@link #DISABLED_DEPENDENT_SETTING}
* if they describe the condition more accurately.
*/
public static final int CONDITIONALLY_UNAVAILABLE = 1;
/**
* The setting is not, and will not supported by this device.
* <p>
* There is no guarantee that the setting page exists, and any links to the Setting should take
* you to the home page of Settings.
*/
public static final int DISABLED_UNSUPPORTED = 1;
public static final int UNSUPPORTED_ON_DEVICE = 2;
/**
* The setting cannot be changed by the current user.
@@ -73,7 +81,7 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
* Links to the Setting should take you to the page of the Setting, even if it cannot be
* changed.
*/
public static final int DISABLED_FOR_USER = 2;
public static final int DISABLED_FOR_USER = 3;
/**
* The setting has a dependency in the Settings App which is currently blocking access.
@@ -90,15 +98,8 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
* Links to the Setting should take you to the page of the Setting, even if it cannot be
* changed.
*/
public static final int DISABLED_DEPENDENT_SETTING = 3;
public static final int DISABLED_DEPENDENT_SETTING = 4;
/**
* A catch-all case for internal errors and inexplicable unavailability.
* <p>
* There is no guarantee that the setting page exists, and any links to the Setting should take
* you to the home page of Settings.
*/
public static final int UNAVAILABLE_UNKNOWN = 4;
protected final String mPreferenceKey;
@@ -181,8 +182,8 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
@Override
public final boolean isAvailable() {
final int availabilityStatus = getAvailabilityStatus();
return (availabilityStatus == AVAILABLE) ||
(availabilityStatus == DISABLED_DEPENDENT_SETTING);
return (availabilityStatus == AVAILABLE
|| availabilityStatus == DISABLED_DEPENDENT_SETTING);
}
/**
@@ -193,7 +194,7 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
* Note that a return value of {@code true} does not mean that the setting is available.
*/
public final boolean isSupported() {
return getAvailabilityStatus() != DISABLED_UNSUPPORTED;
return getAvailabilityStatus() != UNSUPPORTED_ON_DEVICE;
}
/**

View File

@@ -28,7 +28,6 @@ import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionPlan;
import android.text.TextUtils;
import android.text.format.Formatter;
import android.util.Log;
import android.util.RecurrenceRule;
@@ -182,7 +181,7 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
@Override
public int getAvailabilityStatus() {
return DataUsageUtils.hasSim(mActivity)
|| DataUsageUtils.hasWifiRadio(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
|| DataUsageUtils.hasWifiRadio(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -50,7 +50,7 @@ public class AmbientDisplayAlwaysOnPreferenceController extends TogglePreference
if (mConfig == null) {
mConfig = new AmbientDisplayConfiguration(mContext);
}
return isAvailable(mConfig) ? AVAILABLE : DISABLED_UNSUPPORTED;
return isAvailable(mConfig) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -86,7 +86,7 @@ public class AmbientDisplayNotificationsPreferenceController extends
if (mConfig == null) {
mConfig = new AmbientDisplayConfiguration(mContext);
}
return mConfig.pulseOnNotificationAvailable() ? AVAILABLE : DISABLED_UNSUPPORTED;
return mConfig.pulseOnNotificationAvailable() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -57,7 +57,7 @@ public class AutoBrightnessPreferenceController extends TogglePreferenceControll
return mContext.getResources().getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -71,7 +71,7 @@ public class AutoRotatePreferenceController extends TogglePreferenceController i
@Override
public int getAvailabilityStatus() {
return RotationPolicy.isRotationLockToggleVisible(mContext)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -50,7 +50,7 @@ public class NightDisplayActivationPreferenceController extends TogglePreference
@Override
public int getAvailabilityStatus() {
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -37,7 +37,7 @@ public class NightDisplayAutoModePreferenceController extends BasePreferenceCont
@Override
public int getAvailabilityStatus() {
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -35,7 +35,7 @@ public class NightDisplayCustomEndTimePreferenceController extends BasePreferenc
@Override
public int getAvailabilityStatus() {
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -35,7 +35,7 @@ public class NightDisplayCustomStartTimePreferenceController extends BasePrefere
@Override
public int getAvailabilityStatus() {
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -31,7 +31,7 @@ public class NightDisplayFooterPreferenceController extends BasePreferenceContro
@Override
public int getAvailabilityStatus() {
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return ColorDisplayController.isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -35,7 +35,7 @@ public class NightDisplayIntensityPreferenceController extends SliderPreferenceC
@Override
public int getAvailabilityStatus() {
if (!ColorDisplayController.isAvailable(mContext)) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
} else if (!mController.isActivated()) {
return DISABLED_DEPENDENT_SETTING;
}

View File

@@ -60,7 +60,7 @@ public class FingerprintStatusPreferenceController extends BasePreferenceControl
@Override
public int getAvailabilityStatus() {
if (mFingerprintManager == null || !mFingerprintManager.isHardwareDetected()) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
if (isUserSupported()) {
return AVAILABLE;

View File

@@ -42,7 +42,7 @@ public class AutoRestrictionPreferenceController extends BasePreferenceControlle
@Override
public int getAvailabilityStatus() {
return mPowerUsageFeatureProvider.isSmartBatterySupported()
? DISABLED_UNSUPPORTED
? UNSUPPORTED_ON_DEVICE
: AVAILABLE;
}

View File

@@ -45,7 +45,7 @@ public class SmartBatteryPreferenceController extends BasePreferenceController i
public int getAvailabilityStatus() {
return mPowerUsageFeatureProvider.isSmartBatterySupported()
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -63,7 +63,7 @@ public class AssistGestureSettingsPreferenceController extends GesturePreference
public int getAvailabilityStatus() {
final boolean isAvailable = mAssistOnly ? mFeatureProvider.isSupported(mContext)
: mFeatureProvider.isSensorAvailable(mContext);
return isAvailable ? AVAILABLE : DISABLED_UNSUPPORTED;
return isAvailable ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -58,7 +58,7 @@ public class DoubleTapPowerPreferenceController extends GesturePreferenceControl
@Override
public int getAvailabilityStatus() {
return isGestureAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return isGestureAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -74,7 +74,7 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro
if (mAmbientConfig == null) {
mAmbientConfig = new AmbientDisplayConfiguration(mContext);
}
return mAmbientConfig.pulseOnDoubleTapAvailable() ? AVAILABLE : DISABLED_UNSUPPORTED;
return mAmbientConfig.pulseOnDoubleTapAvailable() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -68,7 +68,7 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController
@Override
public int getAvailabilityStatus() {
return isGestureAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return isGestureAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -51,7 +51,7 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle
for (AbstractPreferenceController controller : mGestureControllers) {
isAvailable = isAvailable || controller.isAvailable();
}
return isAvailable ? AVAILABLE : DISABLED_UNSUPPORTED;
return isAvailable ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
/**

View File

@@ -68,7 +68,7 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
if (mAmbientConfig == null) {
mAmbientConfig = new AmbientDisplayConfiguration(mContext);
}
return mAmbientConfig.pulseOnPickupAvailable() ? AVAILABLE : DISABLED_UNSUPPORTED;
return mAmbientConfig.pulseOnPickupAvailable() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -61,7 +61,7 @@ public class PreventRingingPreferenceController extends BasePreferenceController
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(
com.android.internal.R.bool.config_volumeHushGestureEnabled)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -56,7 +56,7 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo
@Override
public int getAvailabilityStatus() {
return isAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -19,17 +19,10 @@ package com.android.settings.gestures;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import com.android.settings.R;
import com.android.settings.Utils;
public class SwipeUpPreferenceController extends GesturePreferenceController {
@@ -59,7 +52,7 @@ public class SwipeUpPreferenceController extends GesturePreferenceController {
@Override
public int getAvailabilityStatus() {
return isGestureAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return isGestureAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -64,7 +64,7 @@ public class GameControllerPreferenceController extends TogglePreferenceControll
public int getAvailabilityStatus() {
// If device explicitly wants to hide this, return early.
if (!mContext.getResources().getBoolean(R.bool.config_show_vibrate_input_devices)) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
final int[] devices = mIm.getInputDeviceIds();
@@ -74,7 +74,7 @@ public class GameControllerPreferenceController extends TogglePreferenceControll
return AVAILABLE;
}
}
return DISABLED_UNSUPPORTED;
return CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -36,6 +36,6 @@ public class PointerSpeedController extends BasePreferenceController {
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_pointer_speed)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -36,6 +36,6 @@ public class LocationScanningPreferenceController extends BasePreferenceControll
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_location_scanning)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -93,7 +93,7 @@ public class AirplaneModePreferenceController extends TogglePreferenceController
@Override
@AvailabilityStatus
public int getAvailabilityStatus() {
return isAvailable(mContext) ? AVAILABLE : DISABLED_UNSUPPORTED;
return isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -19,7 +19,6 @@ package com.android.settings.notification;
import android.content.Context;
import android.media.AudioManager;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
public class AlarmVolumePreferenceController extends
@@ -34,7 +33,7 @@ public class AlarmVolumePreferenceController extends
@Override
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_alarm_volume)
&& !mHelper.isSingleVolume() ? AVAILABLE : DISABLED_UNSUPPORTED;
&& !mHelper.isSingleVolume() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -84,7 +84,7 @@ public class BadgingNotificationPreferenceController extends TogglePreferenceCon
public int getAvailabilityStatus() {
return mContext.getResources()
.getBoolean(com.android.internal.R.bool.config_notificationBadging)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -18,9 +18,8 @@ package com.android.settings.notification;
import android.content.Context;
import android.media.AudioManager;
import com.android.settings.notification.VolumeSeekBarPreference.Callback;
import com.android.settings.R;
import com.android.settingslib.core.lifecycle.Lifecycle;
public class MediaVolumePreferenceController extends
VolumeSeekBarPreferenceController {
@@ -35,7 +34,7 @@ public class MediaVolumePreferenceController extends
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_media_volume)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -19,7 +19,6 @@ package com.android.settings.notification;
import android.content.Context;
import android.media.AudioManager;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.Utils;
@@ -36,7 +35,7 @@ public class NotificationVolumePreferenceController extends
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_notification_volume)
&& !Utils.isVoiceCapable(mContext) && !mHelper.isSingleVolume()
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -30,7 +30,6 @@ import android.os.Looper;
import android.os.Message;
import android.os.Vibrator;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -85,7 +84,7 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr
@Override
public int getAvailabilityStatus() {
return Utils.isVoiceCapable(mContext) && !mHelper.isSingleVolume()
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -59,7 +59,7 @@ public class PrintSettingPreferenceController extends BasePreferenceController i
@Override
public int getAvailabilityStatus() {
return mPackageManager.hasSystemFeature(PackageManager.FEATURE_PRINTING)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -44,7 +44,7 @@ public class EncryptionStatusPreferenceController extends BasePreferenceControll
if (TextUtils.equals(getPreferenceKey(), PREF_KEY_ENCRYPTION_DETAIL_PAGE) &&
!mContext.getResources().getBoolean(
R.bool.config_show_encryption_and_credentials_encryption_status)) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
return mUserManager.isAdminUser() ? AVAILABLE : DISABLED_FOR_USER;

View File

@@ -33,7 +33,7 @@ public class ScreenPinningPreferenceController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_screen_pinning_settings)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -55,7 +55,7 @@ public class ShowPasswordPreferenceController extends TogglePreferenceController
@Override
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_show_password)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -47,7 +47,7 @@ public class ManageTrustAgentsPreferenceController extends BasePreferenceControl
@Override
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_manage_trust_agents)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -17,10 +17,10 @@
package com.android.settings.slices;
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
import static com.android.settings.core.BasePreferenceController.DISABLED_FOR_USER;
import static com.android.settings.core.BasePreferenceController.DISABLED_UNSUPPORTED;
import static com.android.settings.core.BasePreferenceController.UNAVAILABLE_UNKNOWN;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_KEY;
import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_PLATFORM_DEFINED;
@@ -342,7 +342,7 @@ public class SliceBuilderUtils {
final IconCompat icon = IconCompat.createWithResource(context, data.getIconResource());
switch (controller.getAvailabilityStatus()) {
case DISABLED_UNSUPPORTED:
case UNSUPPORTED_ON_DEVICE:
summary = context.getString(R.string.unsupported_setting_summary);
primaryAction = new SliceAction(getSettingsIntent(context), icon, title);
break;
@@ -356,7 +356,7 @@ public class SliceBuilderUtils {
primaryAction = new SliceAction(getContentPendingIntent(context, data), icon,
title);
break;
case UNAVAILABLE_UNKNOWN:
case CONDITIONALLY_UNAVAILABLE:
default:
summary = context.getString(R.string.unknown_unavailability_setting_summary);
primaryAction = new SliceAction(getSettingsIntent(context), icon, title);

View File

@@ -98,7 +98,7 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
@Override
public final int getAvailabilityStatus() {
return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.AUDIO_SWITCHER_SETTINGS)
? AVAILABLE : DISABLED_UNSUPPORTED;
? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override

View File

@@ -32,6 +32,6 @@ public class AdditionalSystemUpdatePreferenceController extends BasePreferenceCo
return mContext.getResources().getBoolean(
com.android.settings.R.bool.config_additional_system_update_setting_enable)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -30,6 +30,6 @@ public class ResetPreferenceController extends BasePreferenceController {
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_reset_dashboard)
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
}

View File

@@ -55,7 +55,7 @@ public class SystemUpdatePreferenceController extends BasePreferenceController {
return mContext.getResources().getBoolean(R.bool.config_show_system_update_settings)
&& mUm.isAdminUser()
? AVAILABLE
: DISABLED_UNSUPPORTED;
: UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -43,7 +43,7 @@ public class PreferenceCategoryController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
if (mChildren == null || mChildren.isEmpty()) {
return DISABLED_UNSUPPORTED;
return UNSUPPORTED_ON_DEVICE;
}
// Category is available if any child is available
for (AbstractPreferenceController controller : mChildren) {
@@ -51,7 +51,7 @@ public class PreferenceCategoryController extends BasePreferenceController {
return AVAILABLE;
}
}
return DISABLED_UNSUPPORTED;
return CONDITIONALLY_UNAVAILABLE;
}
@Override