diff --git a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java index 1462f917aa3..0a2e8ceb7fa 100644 --- a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java +++ b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java @@ -20,7 +20,6 @@ import static android.app.slice.Slice.EXTRA_TOGGLE_STATE; import android.annotation.ColorInt; import android.app.PendingIntent; import android.bluetooth.BluetoothAdapter; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; @@ -37,6 +36,7 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.SubSettings; import com.android.settings.connecteddevice.BluetoothDashboardFragment; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBroadcastReceiver; import com.android.settings.slices.SliceBuilderUtils; @@ -47,16 +47,6 @@ public class BluetoothSliceBuilder { private static final String TAG = "BluetoothSliceBuilder"; - /** - * Backing Uri for the Bluetooth Slice. - */ - public static final Uri BLUETOOTH_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSlicesContract.AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) - .appendPath(SettingsSlicesContract.KEY_BLUETOOTH) - .build(); - /** * Action notifying a change on the BluetoothSlice. */ @@ -74,7 +64,7 @@ public class BluetoothSliceBuilder { } /** - * Return a Bluetooth Slice bound to {@link #BLUETOOTH_URI}. + * Return a Bluetooth Slice bound to {@link CustomSliceRegistry#BLUETOOTH_URI}. *

* Note that you should register a listener for {@link #INTENT_FILTER} to get changes for * Bluetooth. @@ -92,7 +82,7 @@ public class BluetoothSliceBuilder { final SliceAction toggleSliceAction = new SliceAction(toggleAction, null /* actionTitle */, isBluetoothEnabled); - return new ListBuilder(context, BLUETOOTH_URI, ListBuilder.INFINITY) + return new ListBuilder(context, CustomSliceRegistry.BLUETOOTH_URI, ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) diff --git a/src/com/android/settings/flashlight/FlashlightSliceBuilder.java b/src/com/android/settings/flashlight/FlashlightSliceBuilder.java index d21739ebbcd..57d99ef530f 100644 --- a/src/com/android/settings/flashlight/FlashlightSliceBuilder.java +++ b/src/com/android/settings/flashlight/FlashlightSliceBuilder.java @@ -22,17 +22,14 @@ import static androidx.slice.builders.ListBuilder.ICON_IMAGE; import android.annotation.ColorInt; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CameraManager; -import android.net.Uri; import android.provider.Settings; import android.provider.Settings.Secure; -import android.provider.SettingsSlicesContract; import android.util.Log; import androidx.core.graphics.drawable.IconCompat; @@ -43,7 +40,7 @@ import androidx.slice.builders.SliceAction; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.slices.SettingsSliceProvider; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBroadcastReceiver; @@ -54,37 +51,23 @@ public class FlashlightSliceBuilder { private static final String TAG = "FlashlightSliceBuilder"; - public static final String KEY_FLASHLIGHT = "flashlight"; - - /** - * Backing Uri for the Flashlight Slice. - */ - public static final Uri FLASHLIGHT_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) - .appendPath(KEY_FLASHLIGHT) - .build(); - /** * Action notifying a change on the Flashlight Slice. */ public static final String ACTION_FLASHLIGHT_SLICE_CHANGED = - "com.android.settings.flashlight.action.FLASHLIGHT_SLICE_CHANGED"; + "com.android.settings.flashlight.action.FLASHLIGHT_SLICE_CHANGED"; /** * Action broadcasting a change on whether flashlight is on or off. */ public static final String ACTION_FLASHLIGHT_CHANGED = - "com.android.settings.flashlight.action.FLASHLIGHT_CHANGED"; + "com.android.settings.flashlight.action.FLASHLIGHT_CHANGED"; public static final IntentFilter INTENT_FILTER = new IntentFilter(ACTION_FLASHLIGHT_CHANGED); - private FlashlightSliceBuilder() {} + private FlashlightSliceBuilder() { + } - /** - * Return a Flashlight Slice bound to {@link #FLASHLIGHT_URI}. - */ public static Slice getSlice(Context context) { if (!isFlashlightAvailable(context)) { return null; @@ -93,14 +76,15 @@ public class FlashlightSliceBuilder { @ColorInt final int color = Utils.getColorAccentDefaultColor(context); final IconCompat icon = IconCompat.createWithResource(context, R.drawable.ic_signal_flashlight); - return new ListBuilder(context, FLASHLIGHT_URI, ListBuilder.INFINITY) - .setAccentColor(color) - .addRow(new RowBuilder() - .setTitle(context.getText(R.string.power_flashlight)) - .setTitleItem(icon, ICON_IMAGE) - .setPrimaryAction( - new SliceAction(toggleAction, null, isFlashlightEnabled(context)))) - .build(); + return new ListBuilder(context, CustomSliceRegistry.FLASHLIGHT_SLICE_URI, + ListBuilder.INFINITY) + .setAccentColor(color) + .addRow(new RowBuilder() + .setTitle(context.getText(R.string.power_flashlight)) + .setTitleItem(icon, ICON_IMAGE) + .setPrimaryAction( + new SliceAction(toggleAction, null, isFlashlightEnabled(context)))) + .build(); } /** @@ -119,7 +103,7 @@ public class FlashlightSliceBuilder { } catch (CameraAccessException e) { Log.e(TAG, "Camera couldn't set torch mode.", e); } - context.getContentResolver().notifyChange(FLASHLIGHT_URI, null); + context.getContentResolver().notifyChange(CustomSliceRegistry.FLASHLIGHT_SLICE_URI, null); } private static String getCameraId(Context context) throws CameraAccessException { @@ -130,7 +114,7 @@ public class FlashlightSliceBuilder { Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE); Integer lensFacing = c.get(CameraCharacteristics.LENS_FACING); if (flashAvailable != null && flashAvailable - && lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) { + && lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) { return id; } } @@ -141,16 +125,16 @@ public class FlashlightSliceBuilder { final Intent intent = new Intent(ACTION_FLASHLIGHT_SLICE_CHANGED); intent.setClass(context, SliceBroadcastReceiver.class); return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, - PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent.FLAG_CANCEL_CURRENT); } private static boolean isFlashlightAvailable(Context context) { return Settings.Secure.getInt( - context.getContentResolver(), Secure.FLASHLIGHT_AVAILABLE, 0) == 1; + context.getContentResolver(), Secure.FLASHLIGHT_AVAILABLE, 0) == 1; } private static boolean isFlashlightEnabled(Context context) { return Settings.Secure.getInt( - context.getContentResolver(), Secure.FLASHLIGHT_ENABLED, 0) == 1; + context.getContentResolver(), Secure.FLASHLIGHT_ENABLED, 0) == 1; } } diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java index eac2bf5c2f6..0d9b1c41573 100644 --- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java @@ -42,6 +42,9 @@ import java.util.Map; * Controller in charge of the battery tip group */ public class BatteryTipPreferenceController extends BasePreferenceController { + + public static final String PREF_NAME = "battery_tip"; + private static final String TAG = "BatteryTipPreferenceController"; private static final int REQUEST_ANOMALY_ACTION = 0; private static final String KEY_BATTERY_TIPS = "key_battery_tips"; diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java index 4c06601a431..3ef465333fd 100644 --- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java +++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java @@ -34,8 +34,7 @@ import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.slice.Slice; -import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice; -import com.android.settings.wifi.WifiSlice; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settingslib.utils.AsyncLoaderCompat; import java.util.ArrayList; @@ -170,8 +169,8 @@ public class ContextualCardLoader extends AsyncLoaderCompat private int getNumberOfLargeCard(List cards) { return (int) cards.stream() - .filter(card -> card.getSliceUri().equals(WifiSlice.WIFI_URI) - || card.getSliceUri().equals(ConnectedDeviceSlice.CONNECTED_DEVICE_URI)) + .filter(card -> card.getSliceUri().equals(CustomSliceRegistry.WIFI_SLICE_URI) + || card.getSliceUri().equals(CustomSliceRegistry.CONNECTED_DEVICE_SLICE_URI)) .count(); } diff --git a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java index 5ff3e909e42..376bb83606a 100644 --- a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java +++ b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java @@ -16,16 +16,11 @@ package com.android.settings.homepage.contextualcards; -import static android.provider.SettingsSlicesContract.KEY_WIFI; - import android.annotation.Nullable; -import com.android.settings.homepage.contextualcards.slices.BatteryFixSlice; -import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice; -import com.android.settings.homepage.contextualcards.slices.LowStorageSlice; import com.android.settings.intelligence.ContextualCardProto.ContextualCard; import com.android.settings.intelligence.ContextualCardProto.ContextualCardList; -import com.android.settings.wifi.WifiSlice; +import com.android.settings.slices.CustomSliceRegistry; import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider; @@ -39,26 +34,26 @@ public class SettingsContextualCardProvider extends ContextualCardProvider { public ContextualCardList getContextualCards() { final ContextualCard wifiCard = ContextualCard.newBuilder() - .setSliceUri(WifiSlice.WIFI_URI.toString()) - .setCardName(KEY_WIFI) + .setSliceUri(CustomSliceRegistry.WIFI_SLICE_URI.toString()) + .setCardName(CustomSliceRegistry.WIFI_SLICE_URI.toString()) .setCardCategory(ContextualCard.Category.IMPORTANT) .build(); final ContextualCard connectedDeviceCard = ContextualCard.newBuilder() - .setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI.toString()) - .setCardName(ConnectedDeviceSlice.PATH_CONNECTED_DEVICE) + .setSliceUri(CustomSliceRegistry.CONNECTED_DEVICE_SLICE_URI.toString()) + .setCardName(CustomSliceRegistry.CONNECTED_DEVICE_SLICE_URI.toString()) .setCardCategory(ContextualCard.Category.IMPORTANT) .build(); final ContextualCard lowStorageCard = ContextualCard.newBuilder() - .setSliceUri(LowStorageSlice.LOW_STORAGE_URI.toString()) - .setCardName(LowStorageSlice.PATH_LOW_STORAGE) + .setSliceUri(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString()) + .setCardName(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString()) .setCardCategory(ContextualCard.Category.IMPORTANT) .build(); final ContextualCard batteryFixCard = ContextualCard.newBuilder() - .setSliceUri(BatteryFixSlice.BATTERY_FIX_URI.toString()) - .setCardName(BatteryFixSlice.PATH_BATTERY_FIX) + .setSliceUri(CustomSliceRegistry.BATTERY_FIX_SLICE_URI.toString()) + .setCardName(CustomSliceRegistry.BATTERY_FIX_SLICE_URI.toString()) .setCardCategory(ContextualCard.Category.IMPORTANT) .build(); final ContextualCardList cards = ContextualCardList.newBuilder() diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/BatterySlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/BatterySlice.java index 873b942aaff..222e9dd3bfc 100644 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/BatterySlice.java +++ b/src/com/android/settings/homepage/contextualcards/deviceinfo/BatterySlice.java @@ -16,8 +16,9 @@ package com.android.settings.homepage.contextualcards.deviceinfo; +import static com.android.settings.slices.CustomSliceRegistry.BATTERY_INFO_SLICE_URI; + import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; @@ -37,7 +38,6 @@ import com.android.settings.Utils; import com.android.settings.fuelgauge.BatteryInfo; import com.android.settings.fuelgauge.PowerUsageSummary; import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBuilderUtils; /** @@ -46,20 +46,6 @@ import com.android.settings.slices.SliceBuilderUtils; public class BatterySlice implements CustomSliceable { private static final String TAG = "BatterySlice"; - /** - * The path denotes the unique name of battery slice. - */ - public static final String PATH_BATTERY_INFO = "battery_card"; - - /** - * Backing Uri for the Battery Slice. - */ - public static final Uri BATTERY_CARD_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_BATTERY_INFO) - .build(); - private final Context mContext; private BatteryInfo mBatteryInfo; @@ -69,9 +55,6 @@ public class BatterySlice implements CustomSliceable { mContext = context; } - /** - * Return a {@link BatterySlice} bound to {@link #BATTERY_CARD_URI} - */ @Override public Slice getSlice() { if (mBatteryInfo == null) { @@ -82,7 +65,7 @@ public class BatterySlice implements CustomSliceable { R.drawable.ic_settings_battery); final CharSequence title = mContext.getText(R.string.power_usage_summary_title); final SliceAction primarySliceAction = new SliceAction(getPrimaryAction(), icon, title); - final Slice slice = new ListBuilder(mContext, BATTERY_CARD_URI, ListBuilder.INFINITY) + final Slice slice = new ListBuilder(mContext, BATTERY_INFO_SLICE_URI, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .setHeader(new ListBuilder.HeaderBuilder().setTitle(title)) .addRow(new ListBuilder.RowBuilder() @@ -97,7 +80,7 @@ public class BatterySlice implements CustomSliceable { @Override public Uri getUri() { - return BATTERY_CARD_URI; + return BATTERY_INFO_SLICE_URI; } @Override @@ -108,12 +91,10 @@ public class BatterySlice implements CustomSliceable { @Override public Intent getIntent() { final String screenTitle = mContext.getText(R.string.power_usage_summary_title).toString(); - final Uri contentUri = new Uri.Builder().appendPath(PATH_BATTERY_INFO).build(); return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - PowerUsageSummary.class.getName(), PATH_BATTERY_INFO, screenTitle, + PowerUsageSummary.class.getName(), "" /* key */, screenTitle, MetricsProto.MetricsEvent.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(contentUri); + .setClassName(mContext.getPackageName(), SubSettings.class.getName()); } @Override diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java index 6296b1ee8c5..9be4b6125c9 100644 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java +++ b/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java @@ -17,7 +17,6 @@ package com.android.settings.homepage.contextualcards.deviceinfo; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -39,8 +38,8 @@ import com.android.settings.SubSettings; import com.android.settings.Utils; import com.android.settings.datausage.DataUsageSummary; import com.android.settings.datausage.DataUsageUtils; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBuilderUtils; import com.android.settingslib.net.DataUsageController; @@ -50,19 +49,6 @@ public class DataUsageSlice implements CustomSliceable { private static final String TAG = "DataUsageSlice"; private static final long MILLIS_IN_A_DAY = TimeUnit.DAYS.toMillis(1); - /** - * The path denotes the unique name of data usage slice. - */ - public static final String PATH_DATA_USAGE = "data_usage_card"; - - /** - * Backing Uri for the Data usage Slice. - */ - public static final Uri DATA_USAGE_CARD_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_DATA_USAGE) - .build(); private final Context mContext; @@ -72,12 +58,9 @@ public class DataUsageSlice implements CustomSliceable { @Override public Uri getUri() { - return DATA_USAGE_CARD_URI; + return CustomSliceRegistry.DATA_USAGE_SLICE_URI; } - /** - * Return a Data usage Slice bound to {@link #DATA_USAGE_CARD_URI} - */ @Override public Slice getSlice() { final IconCompat icon = IconCompat.createWithResource(mContext, @@ -87,7 +70,8 @@ public class DataUsageSlice implements CustomSliceable { final DataUsageController dataUsageController = new DataUsageController(mContext); final DataUsageController.DataUsageInfo info = dataUsageController.getDataUsageInfo(); final ListBuilder listBuilder = - new ListBuilder(mContext, DATA_USAGE_CARD_URI, ListBuilder.INFINITY) + new ListBuilder(mContext, CustomSliceRegistry.DATA_USAGE_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .setHeader(new ListBuilder.HeaderBuilder().setTitle(title)); if (DataUsageUtils.hasSim(mContext)) { @@ -106,12 +90,10 @@ public class DataUsageSlice implements CustomSliceable { @Override public Intent getIntent() { final String screenTitle = mContext.getText(R.string.data_usage_wifi_title).toString(); - final Uri contentUri = new Uri.Builder().appendPath(PATH_DATA_USAGE).build(); return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - DataUsageSummary.class.getName(), PATH_DATA_USAGE, screenTitle, + DataUsageSummary.class.getName(), "" /* key */, screenTitle, MetricsProto.MetricsEvent.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(contentUri); + .setClassName(mContext.getPackageName(), SubSettings.class.getName()); } private PendingIntent getPrimaryAction() { diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java index b8751f8e827..b7c662e8e6e 100644 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java +++ b/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java @@ -17,7 +17,6 @@ package com.android.settings.homepage.contextualcards.deviceinfo; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -39,8 +38,8 @@ import com.android.settings.SubSettings; import com.android.settings.Utils; import com.android.settings.deviceinfo.DeviceModelPreferenceController; import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBuilderUtils; import com.android.settingslib.DeviceInfoUtils; @@ -49,20 +48,6 @@ import java.util.List; public class DeviceInfoSlice implements CustomSliceable { private static final String TAG = "DeviceInfoSlice"; - /** - * The path denotes the unique name of device info slice - */ - public static final String PATH_DEVICE_INFO = "device_info_card"; - - /** - * Backing Uri for the Device info Slice. - */ - public static final Uri DEVICE_INFO_CARD_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_DEVICE_INFO) - .build(); - private final Context mContext; private final SubscriptionManager mSubscriptionManager; @@ -71,16 +56,14 @@ public class DeviceInfoSlice implements CustomSliceable { mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class); } - /** - * Return a device info slice bound to {@Link #DEVICE_INFO_CARD_URI} - */ @Override public Slice getSlice() { final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.ic_info_outline_24dp); final String title = mContext.getString(R.string.device_info_label); final SliceAction primaryAction = new SliceAction(getPrimaryAction(), icon, title); - return new ListBuilder(mContext, DEVICE_INFO_CARD_URI, ListBuilder.INFINITY) + return new ListBuilder(mContext, CustomSliceRegistry.DEVICE_INFO_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor((Utils.getColorAccentDefaultColor(mContext))) .setHeader(new ListBuilder.HeaderBuilder().setTitle(title)) .addRow(new ListBuilder.RowBuilder() @@ -92,18 +75,16 @@ public class DeviceInfoSlice implements CustomSliceable { @Override public Uri getUri() { - return DEVICE_INFO_CARD_URI; + return CustomSliceRegistry.DEVICE_INFO_SLICE_URI; } @Override public Intent getIntent() { final String screenTitle = mContext.getText(R.string.device_info_label).toString(); - final Uri contentUri = new Uri.Builder().appendPath(PATH_DEVICE_INFO).build(); return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - MyDeviceInfoFragment.class.getName(), PATH_DEVICE_INFO, screenTitle, + MyDeviceInfoFragment.class.getName(), "" /* key */, screenTitle, MetricsProto.MetricsEvent.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(contentUri); + .setClassName(mContext.getPackageName(), SubSettings.class.getName()); } private PendingIntent getPrimaryAction() { diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java index aff34f429d8..dfadc722aa0 100644 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java +++ b/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java @@ -17,10 +17,8 @@ package com.android.settings.homepage.contextualcards.deviceinfo; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; -import android.net.Uri; import androidx.core.graphics.drawable.IconCompat; import androidx.slice.Slice; @@ -28,39 +26,27 @@ import androidx.slice.builders.ListBuilder; import androidx.slice.builders.SliceAction; import com.android.settings.R; -import com.android.settings.slices.SettingsSliceProvider; +import com.android.settings.slices.CustomSliceRegistry; // This is a slice helper class for EmergencyInfo public class EmergencyInfoSlice { - /** - * The path denotes the unique name of emergency info slice. - */ - public static final String PATH_EMERGENCY_INFO_CARD = "emergency_info_card"; - - /** - * Backing Uri for the Emergency Info Slice. - */ - public static final Uri EMERGENCY_INFO_CARD_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_EMERGENCY_INFO_CARD) - .build(); private static final String ACTION_EDIT_EMERGENCY_INFO = "android.settings.EDIT_EMERGENCY_INFO"; public static Slice getSlice(Context context) { - final ListBuilder listBuilder = new ListBuilder(context, EMERGENCY_INFO_CARD_URI, + final ListBuilder listBuilder = new ListBuilder(context, + CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI, ListBuilder.INFINITY); listBuilder.addRow( new ListBuilder.RowBuilder() .setTitle(context.getText(R.string.emergency_info_title)) .setSubtitle( context.getText(R.string.emergency_info_contextual_card_summary)) - .setPrimaryAction(generatePrimaryAction(context))); + .setPrimaryAction(createPrimaryAction(context))); return listBuilder.build(); } - private static SliceAction generatePrimaryAction(Context context) { + private static SliceAction createPrimaryAction(Context context) { PendingIntent pendingIntent = PendingIntent.getActivity( context, diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/StorageSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/StorageSlice.java index c61a8a06557..1e07f7a38cc 100644 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/StorageSlice.java +++ b/src/com/android/settings/homepage/contextualcards/deviceinfo/StorageSlice.java @@ -17,7 +17,6 @@ package com.android.settings.homepage.contextualcards.deviceinfo; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -36,8 +35,8 @@ import com.android.settings.SubSettings; import com.android.settings.Utils; import com.android.settings.deviceinfo.StorageDashboardFragment; import com.android.settings.deviceinfo.storage.StorageSummaryDonutPreferenceController; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBuilderUtils; import com.android.settingslib.deviceinfo.PrivateStorageInfo; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; @@ -45,20 +44,6 @@ import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; public class StorageSlice implements CustomSliceable { private static final String TAG = "StorageSlice"; - /** - * The path denotes the unique name of storage slicel - */ - public static final String PATH_STORAGE_INFO = "storage_card"; - - /** - * Backing Uri for the storage slice. - */ - public static final Uri STORAGE_CARD_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_STORAGE_INFO) - .build(); - private final Context mContext; public StorageSlice(Context context) { @@ -67,12 +52,9 @@ public class StorageSlice implements CustomSliceable { @Override public Uri getUri() { - return STORAGE_CARD_URI; + return CustomSliceRegistry.STORAGE_SLICE_URI; } - /** - * Return a storage slice bound to {@link #STORAGE_CARD_URI} - */ @Override public Slice getSlice() { final IconCompat icon = IconCompat.createWithResource(mContext, @@ -80,7 +62,8 @@ public class StorageSlice implements CustomSliceable { final String title = mContext.getString(R.string.storage_label); final SliceAction primaryAction = new SliceAction(getPrimaryAction(), icon, title); final PrivateStorageInfo info = getPrivateStorageInfo(); - return new ListBuilder(mContext, STORAGE_CARD_URI, ListBuilder.INFINITY) + return new ListBuilder(mContext, CustomSliceRegistry.STORAGE_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .setHeader(new ListBuilder.HeaderBuilder().setTitle(title)) .addRow(new ListBuilder.RowBuilder() @@ -93,12 +76,10 @@ public class StorageSlice implements CustomSliceable { @Override public Intent getIntent() { final String screenTitle = mContext.getText(R.string.storage_label).toString(); - final Uri contentUri = new Uri.Builder().appendPath(PATH_STORAGE_INFO).build(); return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - StorageDashboardFragment.class.getName(), PATH_STORAGE_INFO, screenTitle, + StorageDashboardFragment.class.getName(), "" /* key */, screenTitle, MetricsProto.MetricsEvent.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(contentUri); + .setClassName(mContext.getPackageName(), SubSettings.class.getName()); } private PendingIntent getPrimaryAction() { diff --git a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java index 23ff172c595..cae222a4916 100644 --- a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java +++ b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java @@ -19,7 +19,6 @@ package com.android.settings.homepage.contextualcards.slices; import static android.content.Context.MODE_PRIVATE; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -34,7 +33,6 @@ import androidx.slice.builders.ListBuilder.RowBuilder; import androidx.slice.builders.SliceAction; import com.android.internal.logging.nano.MetricsProto; -import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.os.BatteryStatsHelper; import com.android.settings.R; import com.android.settings.SubSettings; @@ -42,9 +40,10 @@ import com.android.settings.Utils; import com.android.settings.fuelgauge.BatteryStatsHelperLoader; import com.android.settings.fuelgauge.PowerUsageSummary; import com.android.settings.fuelgauge.batterytip.BatteryTipLoader; +import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBackgroundWorker; import com.android.settings.slices.SliceBuilderUtils; import com.android.settingslib.utils.ThreadUtils; @@ -53,20 +52,6 @@ import java.util.List; public class BatteryFixSlice implements CustomSliceable { - /** - * Unique name of Battery Fix Slice. - */ - public static final String PATH_BATTERY_FIX = "battery_fix"; - - /** - * Uri for Battery Fix Slice. - */ - public static final Uri BATTERY_FIX_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_BATTERY_FIX) - .build(); - @VisibleForTesting static final String PREFS = "battery_fix_prefs"; @VisibleForTesting @@ -82,12 +67,9 @@ public class BatteryFixSlice implements CustomSliceable { @Override public Uri getUri() { - return BATTERY_FIX_URI; + return CustomSliceRegistry.BATTERY_FIX_SLICE_URI; } - /** - * Return a Slice bound to {@link #BATTERY_FIX_URI}. - */ @Override public Slice getSlice() { IconCompat icon; @@ -109,7 +91,8 @@ public class BatteryFixSlice implements CustomSliceable { primaryAction = new SliceAction(getPrimaryAction(), icon, batteryTip.getTitle(mContext)); - slice = new ListBuilder(mContext, BATTERY_FIX_URI, ListBuilder.INFINITY) + slice = new ListBuilder(mContext, CustomSliceRegistry.BATTERY_FIX_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .addRow(new RowBuilder() .setTitle(batteryTip.getTitle(mContext)) @@ -125,7 +108,8 @@ public class BatteryFixSlice implements CustomSliceable { R.drawable.ic_battery_status_good_24dp); final String title = mContext.getString(R.string.power_usage_summary_title); primaryAction = new SliceAction(getPrimaryAction(), icon, title); - slice = new ListBuilder(mContext, BATTERY_FIX_URI, ListBuilder.INFINITY) + slice = new ListBuilder(mContext, CustomSliceRegistry.BATTERY_FIX_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .addRow(new RowBuilder() .setTitle(title) @@ -140,10 +124,11 @@ public class BatteryFixSlice implements CustomSliceable { public Intent getIntent() { final String screenTitle = mContext.getText(R.string.power_usage_summary_title) .toString(); - final Uri contentUri = new Uri.Builder().appendPath(PATH_BATTERY_FIX).build(); + final Uri contentUri = new Uri.Builder() + .appendPath(BatteryTipPreferenceController.PREF_NAME).build(); return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - PowerUsageSummary.class.getName(), PATH_BATTERY_FIX, + PowerUsageSummary.class.getName(), BatteryTipPreferenceController.PREF_NAME, screenTitle, MetricsProto.MetricsEvent.SLICE) .setClassName(mContext.getPackageName(), SubSettings.class.getName()) diff --git a/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java b/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java index ef7c1bd0e60..fe907f342a8 100644 --- a/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java +++ b/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java @@ -18,7 +18,6 @@ package com.android.settings.homepage.contextualcards.slices; import android.app.PendingIntent; import android.bluetooth.BluetoothAdapter; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; @@ -43,8 +42,8 @@ import com.android.settings.Utils; import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment; import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment; import com.android.settings.core.SubSettingLauncher; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBuilderUtils; import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; @@ -67,20 +66,6 @@ import java.util.stream.Collectors; */ public class ConnectedDeviceSlice implements CustomSliceable { - /** - * The path denotes the unique name of Connected device Slice. - */ - public static final String PATH_CONNECTED_DEVICE = "connected_device"; - - /** - * Backing Uri for Connected device Slice. - */ - public static final Uri CONNECTED_DEVICE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_CONNECTED_DEVICE) - .build(); - /** * To sort the Bluetooth devices by {@link CachedBluetoothDevice}. * Refer compareTo method from {@link com.android.settings.bluetooth.BluetoothDevicePreference}. @@ -109,12 +94,9 @@ public class ConnectedDeviceSlice implements CustomSliceable { @Override public Uri getUri() { - return CONNECTED_DEVICE_URI; + return CustomSliceRegistry.CONNECTED_DEVICE_SLICE_URI; } - /** - * Return a Connected Device Slice bound to {@link #CONNECTED_DEVICE_URI}. - */ @Override public Slice getSlice() { final IconCompat icon = IconCompat.createWithResource(mContext, @@ -127,7 +109,8 @@ public class ConnectedDeviceSlice implements CustomSliceable { final SliceAction primarySliceAction = new SliceAction(primaryActionIntent, icon, title); final ListBuilder listBuilder = - new ListBuilder(mContext, CONNECTED_DEVICE_URI, ListBuilder.INFINITY) + new ListBuilder(mContext, CustomSliceRegistry.CONNECTED_DEVICE_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)); // Get row builders by connected devices, e.g. Bluetooth. @@ -159,14 +142,12 @@ public class ConnectedDeviceSlice implements CustomSliceable { public Intent getIntent() { final String screenTitle = mContext.getText(R.string.connected_devices_dashboard_title) .toString(); - final Uri contentUri = new Uri.Builder().appendPath(PATH_CONNECTED_DEVICE).build(); return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - ConnectedDeviceDashboardFragment.class.getName(), PATH_CONNECTED_DEVICE, + ConnectedDeviceDashboardFragment.class.getName(), "" /* key */, screenTitle, MetricsProto.MetricsEvent.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(contentUri); + .setClassName(mContext.getPackageName(), SubSettings.class.getName()); } @Override diff --git a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java index 7f6efccd49e..b3b0b0abb37 100644 --- a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java +++ b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java @@ -17,7 +17,6 @@ package com.android.settings.homepage.contextualcards.slices; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -36,8 +35,8 @@ import com.android.settings.R; import com.android.settings.SubSettings; import com.android.settings.Utils; import com.android.settings.deviceinfo.StorageSettings; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBuilderUtils; import com.android.settingslib.deviceinfo.PrivateStorageInfo; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; @@ -46,20 +45,6 @@ import java.text.NumberFormat; public class LowStorageSlice implements CustomSliceable { - /** - * The path denotes the unique name of Low storage Slice. - */ - public static final String PATH_LOW_STORAGE = "low_storage"; - - /** - * Backing Uri for Low storage Slice. - */ - public static final Uri LOW_STORAGE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_LOW_STORAGE) - .build(); - private static final String TAG = "LowStorageSlice"; /** @@ -73,9 +58,6 @@ public class LowStorageSlice implements CustomSliceable { mContext = context; } - /** - * Return a Low storage Slice bound to {@link #LOW_STORAGE_URI} - */ @Override public Slice getSlice() { // Get current storage percentage from StorageManager. @@ -108,7 +90,8 @@ public class LowStorageSlice implements CustomSliceable { * Slices doesn't support "Icon on the left" in header. Now we intend to start with Icon * right aligned. Will update the icon to left until Slices support it. */ - return new ListBuilder(mContext, LOW_STORAGE_URI, ListBuilder.INFINITY) + return new ListBuilder(mContext, CustomSliceRegistry.LOW_STORAGE_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .addRow(new RowBuilder() .setTitle(title) @@ -120,7 +103,7 @@ public class LowStorageSlice implements CustomSliceable { @Override public Uri getUri() { - return LOW_STORAGE_URI; + return CustomSliceRegistry.LOW_STORAGE_SLICE_URI; } @Override @@ -132,13 +115,11 @@ public class LowStorageSlice implements CustomSliceable { public Intent getIntent() { final String screenTitle = mContext.getText(R.string.storage_label) .toString(); - final Uri contentUri = new Uri.Builder().appendPath(PATH_LOW_STORAGE).build(); return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - StorageSettings.class.getName(), PATH_LOW_STORAGE, + StorageSettings.class.getName(), "" /* key */, screenTitle, MetricsProto.MetricsEvent.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(contentUri); + .setClassName(mContext.getPackageName(), SubSettings.class.getName()); } } \ No newline at end of file diff --git a/src/com/android/settings/location/LocationSliceBuilder.java b/src/com/android/settings/location/LocationSliceBuilder.java index 56cf676a0a6..1d79ada8c6b 100644 --- a/src/com/android/settings/location/LocationSliceBuilder.java +++ b/src/com/android/settings/location/LocationSliceBuilder.java @@ -23,11 +23,9 @@ import static androidx.slice.builders.ListBuilder.ICON_IMAGE; import android.annotation.ColorInt; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.provider.SettingsSlicesContract; import androidx.core.graphics.drawable.IconCompat; import androidx.slice.Slice; @@ -39,6 +37,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SubSettings; import com.android.settings.Utils; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBuilderUtils; /** @@ -46,21 +45,11 @@ import com.android.settings.slices.SliceBuilderUtils; */ public class LocationSliceBuilder { - /** - * Backing Uri for the Location Slice. - */ - public static final Uri LOCATION_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSlicesContract.AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) - .appendPath(KEY_LOCATION) - .build(); - private LocationSliceBuilder() { } /** - * Return a Location Slice bound to {@link #LOCATION_URI}. + * Return a Location Slice bound to {@link CustomSliceRegistry#LOCATION_SLICE_URI}. */ public static Slice getSlice(Context context) { final IconCompat icon = IconCompat.createWithResource(context, @@ -70,7 +59,8 @@ public class LocationSliceBuilder { final PendingIntent primaryAction = getPrimaryAction(context); final SliceAction primarySliceAction = new SliceAction(primaryAction, icon, title); - return new ListBuilder(context, LOCATION_URI, ListBuilder.INFINITY) + return new ListBuilder(context, CustomSliceRegistry.LOCATION_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) diff --git a/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java b/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java index b198f92efb7..aff1211d326 100644 --- a/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java +++ b/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java @@ -19,7 +19,6 @@ package com.android.settings.network.telephony; import static android.app.slice.Slice.EXTRA_TOGGLE_STATE; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -40,9 +39,8 @@ import androidx.slice.builders.SliceAction; import com.android.ims.ImsManager; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.slices.SettingsSliceProvider; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBroadcastReceiver; -import com.android.settings.slices.SliceBuilderUtils; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; @@ -57,12 +55,7 @@ import java.util.concurrent.TimeoutException; */ public class Enhanced4gLteSliceHelper { - private static final String TAG = "Enhanced4gLteSliceHelper"; - - /** - * Settings slice path to enhanced 4g LTE setting. - */ - public static final String PATH_ENHANCED_4G_LTE = "enhanced_4g_lte"; + private static final String TAG = "Enhanced4gLteSlice"; /** * Action passed for changes to enhanced 4g LTE slice (toggle). @@ -70,14 +63,6 @@ public class Enhanced4gLteSliceHelper { public static final String ACTION_ENHANCED_4G_LTE_CHANGED = "com.android.settings.mobilenetwork.action.ENHANCED_4G_LTE_CHANGED"; - /** - * Slice Uri for Enhanced 4G slice - */ - public static final Uri SLICE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_ENHANCED_4G_LTE) - .build(); /** * Action for mobile network settings activity which * allows setting configuration for Enhanced 4G LTE @@ -225,8 +210,7 @@ public class Enhanced4gLteSliceHelper { } // notify change in slice in any case to get re-queried. This would result in displaying // appropriate message with the updated setting. - final Uri uri = SliceBuilderUtils.getUri(PATH_ENHANCED_4G_LTE, false /*isPlatformSlice*/); - mContext.getContentResolver().notifyChange(uri, null); + mContext.getContentResolver().notifyChange(CustomSliceRegistry.ENHANCED_4G_SLICE_URI, null); } private CharSequence getEnhanced4glteModeTitle(int subId) { diff --git a/src/com/android/settings/notification/ZenModePreferenceController.java b/src/com/android/settings/notification/ZenModePreferenceController.java index 44ad2ffb6d1..22eb0c098d6 100644 --- a/src/com/android/settings/notification/ZenModePreferenceController.java +++ b/src/com/android/settings/notification/ZenModePreferenceController.java @@ -35,6 +35,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume; public class ZenModePreferenceController extends BasePreferenceController implements LifecycleObserver, OnResume, OnPause { + + public static final String ZEN_MODE_KEY = "zen_mode"; + private SettingObserver mSettingObserver; private ZenModeSettings.SummaryBuilder mSummaryBuilder; diff --git a/src/com/android/settings/notification/ZenModeSliceBuilder.java b/src/com/android/settings/notification/ZenModeSliceBuilder.java index bd6ad0bd618..f5208c14187 100644 --- a/src/com/android/settings/notification/ZenModeSliceBuilder.java +++ b/src/com/android/settings/notification/ZenModeSliceBuilder.java @@ -18,16 +18,16 @@ package com.android.settings.notification; import static android.app.slice.Slice.EXTRA_TOGGLE_STATE; +import static com.android.settings.notification.ZenModePreferenceController.ZEN_MODE_KEY; + import android.annotation.ColorInt; import android.app.NotificationManager; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.Uri; import android.provider.Settings; -import android.provider.SettingsSlicesContract; import androidx.core.graphics.drawable.IconCompat; import androidx.slice.Slice; @@ -39,7 +39,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SubSettings; import com.android.settings.Utils; -import com.android.settings.slices.SettingsSliceProvider; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBroadcastReceiver; import com.android.settings.slices.SliceBuilderUtils; @@ -47,18 +47,6 @@ public class ZenModeSliceBuilder { private static final String TAG = "ZenModeSliceBuilder"; - private static final String ZEN_MODE_KEY = "zen_mode"; - - /** - * Backing Uri for the Zen Mode Slice. - */ - public static final Uri ZEN_MODE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) - .appendPath(ZEN_MODE_KEY) - .build(); - /** * Action notifying a change on the Zen Mode Slice. */ @@ -77,7 +65,7 @@ public class ZenModeSliceBuilder { } /** - * Return a ZenMode Slice bound to {@link #ZEN_MODE_URI}. + * Return a ZenMode Slice bound to {@link CustomSliceRegistry#ZEN_MODE_URI}. *

* Note that you should register a listener for {@link #INTENT_FILTER} to get changes for * ZenMode. @@ -93,7 +81,8 @@ public class ZenModeSliceBuilder { final SliceAction toggleSliceAction = new SliceAction(toggleAction, null /* actionTitle */, isZenModeEnabled); - return new ListBuilder(context, ZEN_MODE_URI, ListBuilder.INFINITY) + return new ListBuilder(context, CustomSliceRegistry.ZEN_MODE_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) diff --git a/src/com/android/settings/panel/InternetConnectivityPanel.java b/src/com/android/settings/panel/InternetConnectivityPanel.java index b6fe53bcbfc..1e01e719c8b 100644 --- a/src/com/android/settings/panel/InternetConnectivityPanel.java +++ b/src/com/android/settings/panel/InternetConnectivityPanel.java @@ -16,16 +16,12 @@ package com.android.settings.panel; -import androidx.annotation.VisibleForTesting; - -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.provider.SettingsSlicesContract; import com.android.settings.R; -import com.android.settings.wifi.WifiSlice; +import com.android.settings.slices.CustomSliceRegistry; import java.util.ArrayList; import java.util.List; @@ -34,19 +30,11 @@ import java.util.List; * Represents the Internet Connectivity Panel. * *

- * Displays Wifi (full Slice) and Airplane mode. + * Displays Wifi (full Slice) and Airplane mode. *

*/ public class InternetConnectivityPanel implements PanelContent { - @VisibleForTesting - static final Uri AIRPLANE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSlicesContract.AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) - .appendPath(SettingsSlicesContract.KEY_AIRPLANE_MODE) - .build(); - private final Context mContext; public static InternetConnectivityPanel create(Context context) { @@ -65,8 +53,8 @@ public class InternetConnectivityPanel implements PanelContent { @Override public List getSlices() { final List uris = new ArrayList<>(); - uris.add(WifiSlice.WIFI_URI); - uris.add(AIRPLANE_URI); + uris.add(CustomSliceRegistry.WIFI_SLICE_URI); + uris.add(CustomSliceRegistry.AIRPLANE_URI); return uris; } diff --git a/src/com/android/settings/slices/CustomSliceManager.java b/src/com/android/settings/slices/CustomSliceManager.java index 99e22a15cbd..bef72b75c2a 100644 --- a/src/com/android/settings/slices/CustomSliceManager.java +++ b/src/com/android/settings/slices/CustomSliceManager.java @@ -101,13 +101,13 @@ public class CustomSliceManager { } private void addSlices() { - mUriMap.put(WifiSlice.WIFI_URI, WifiSlice.class); - mUriMap.put(DataUsageSlice.DATA_USAGE_CARD_URI, DataUsageSlice.class); - mUriMap.put(DeviceInfoSlice.DEVICE_INFO_CARD_URI, DeviceInfoSlice.class); - mUriMap.put(StorageSlice.STORAGE_CARD_URI, StorageSlice.class); - mUriMap.put(BatterySlice.BATTERY_CARD_URI, BatterySlice.class); - mUriMap.put(ConnectedDeviceSlice.CONNECTED_DEVICE_URI, ConnectedDeviceSlice.class); - mUriMap.put(LowStorageSlice.LOW_STORAGE_URI, LowStorageSlice.class); - mUriMap.put(BatteryFixSlice.BATTERY_FIX_URI, BatteryFixSlice.class); + mUriMap.put(CustomSliceRegistry.BATTERY_FIX_SLICE_URI, BatteryFixSlice.class); + mUriMap.put(CustomSliceRegistry.BATTERY_INFO_SLICE_URI, BatterySlice.class); + mUriMap.put(CustomSliceRegistry.CONNECTED_DEVICE_SLICE_URI, ConnectedDeviceSlice.class); + mUriMap.put(CustomSliceRegistry.DATA_USAGE_SLICE_URI, DataUsageSlice.class); + mUriMap.put(CustomSliceRegistry.DEVICE_INFO_SLICE_URI, DeviceInfoSlice.class); + mUriMap.put(CustomSliceRegistry.LOW_STORAGE_SLICE_URI, LowStorageSlice.class); + mUriMap.put(CustomSliceRegistry.STORAGE_SLICE_URI, StorageSlice.class); + mUriMap.put(CustomSliceRegistry.WIFI_SLICE_URI, WifiSlice.class); } } diff --git a/src/com/android/settings/slices/CustomSliceRegistry.java b/src/com/android/settings/slices/CustomSliceRegistry.java new file mode 100644 index 00000000000..f2b3299ba1c --- /dev/null +++ b/src/com/android/settings/slices/CustomSliceRegistry.java @@ -0,0 +1,184 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.slices; + +import static android.provider.SettingsSlicesContract.KEY_LOCATION; +import static android.provider.SettingsSlicesContract.KEY_WIFI; + +import static com.android.settings.notification.ZenModePreferenceController.ZEN_MODE_KEY; + +import android.content.ContentResolver; +import android.net.Uri; +import android.provider.SettingsSlicesContract; + +import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController; +import com.android.settings.wifi.calling.WifiCallingSliceHelper; + +/** + * A registry of custom slice Uris. + */ +public class CustomSliceRegistry { + + /** + * Uri for Airplane mode Slice. + */ + public static final Uri AIRPLANE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSlicesContract.AUTHORITY) + .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) + .appendPath(SettingsSlicesContract.KEY_AIRPLANE_MODE) + .build(); + + /** + * Uri for Battery Fix Slice. + */ + public static final Uri BATTERY_FIX_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendEncodedPath(SettingsSlicesContract.PATH_SETTING_INTENT) + .appendPath(BatteryTipPreferenceController.PREF_NAME) + .build(); + /** + * Backing Uri for the Battery info Slice. + */ + public static final Uri BATTERY_INFO_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendEncodedPath(SettingsSlicesContract.PATH_SETTING_INTENT) + .appendPath("battery_card") + .build(); + /** + * Backing Uri for the Bluetooth Slice. + */ + public static final Uri BLUETOOTH_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSlicesContract.AUTHORITY) + .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) + .appendPath(SettingsSlicesContract.KEY_BLUETOOTH) + .build(); + + /** + * Backing Uri for Connected device Slice. + */ + public static final Uri CONNECTED_DEVICE_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) + .appendPath("connected_device") + .build(); + /** + * Backing Uri for the Data usage Slice. + */ + public static final Uri DATA_USAGE_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath("data_usage_card") + .build(); + /** + * Backing Uri for the Device info Slice. + */ + public static final Uri DEVICE_INFO_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath("device_info_card") + .build(); + /** + * Backing Uri for the Emergency Info Slice. + */ + public static final Uri EMERGENCY_INFO_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath("emergency_info_card") + .build(); + /** + * Slice Uri for Enhanced 4G slice + */ + public static final Uri ENHANCED_4G_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath("enhanced_4g_lte") + .build(); + /** + * Backing Uri for the Flashlight Slice. + */ + public static final Uri FLASHLIGHT_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) + .appendPath("flashlight") + .build(); + /** + * Backing Uri for the Location Slice. + */ + public static final Uri LOCATION_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSlicesContract.AUTHORITY) + .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) + .appendPath(KEY_LOCATION) + .build(); + /** + * Backing Uri for Low storage Slice. + */ + public static final Uri LOW_STORAGE_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendEncodedPath(SettingsSlicesContract.PATH_SETTING_INTENT) + .appendPath("low_storage") + .build(); + /** + * Backing Uri for the storage slice. + */ + public static final Uri STORAGE_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath("storage_card") + .build(); + /** + * Full {@link Uri} for the Wifi Calling Slice. + */ + public static final Uri WIFI_CALLING_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath(WifiCallingSliceHelper.PATH_WIFI_CALLING) + .build(); + /** + * Full {@link Uri} for the Wifi Calling Preference Slice. + */ + public static final Uri WIFI_CALLING_PREFERENCE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath(WifiCallingSliceHelper.PATH_WIFI_CALLING_PREFERENCE) + .build(); + /** + * Backing Uri for the Wifi Slice. + */ + public static final Uri WIFI_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSlicesContract.AUTHORITY) + .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) + .appendPath(KEY_WIFI) + .build(); + /** + * Backing Uri for the Zen Mode Slice. + */ + public static final Uri ZEN_MODE_SLICE_URI = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(SettingsSliceProvider.SLICE_AUTHORITY) + .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) + .appendPath(ZEN_MODE_KEY) + .build(); +} diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java index 952fc8b4596..109f02ef61d 100644 --- a/src/com/android/settings/slices/SettingsSliceProvider.java +++ b/src/com/android/settings/slices/SettingsSliceProvider.java @@ -44,11 +44,8 @@ import com.android.settings.core.BasePreferenceController; import com.android.settings.flashlight.FlashlightSliceBuilder; import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; import com.android.settings.location.LocationSliceBuilder; -import com.android.settings.network.telephony.Enhanced4gLteSliceHelper; import com.android.settings.notification.ZenModeSliceBuilder; import com.android.settings.overlay.FeatureFactory; -import com.android.settings.wifi.WifiSlice; -import com.android.settings.wifi.calling.WifiCallingSliceHelper; import com.android.settingslib.SliceBroadcastRelay; import com.android.settingslib.utils.ThreadUtils; @@ -175,23 +172,21 @@ public class SettingsSliceProvider extends SliceProvider { if (filter != null) { registerIntentToUri(filter, sliceUri); } - ThreadUtils.postOnMainThread(() -> { - startBackgroundWorker(sliceable); - }); + ThreadUtils.postOnMainThread(() -> startBackgroundWorker(sliceable)); return; } - if (ZenModeSliceBuilder.ZEN_MODE_URI.equals(sliceUri)) { + if (CustomSliceRegistry.ZEN_MODE_SLICE_URI.equals(sliceUri)) { registerIntentToUri(ZenModeSliceBuilder.INTENT_FILTER, sliceUri); return; - } else if (BluetoothSliceBuilder.BLUETOOTH_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.BLUETOOTH_URI.equals(sliceUri)) { registerIntentToUri(BluetoothSliceBuilder.INTENT_FILTER, sliceUri); return; - } else if (FlashlightSliceBuilder.FLASHLIGHT_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.FLASHLIGHT_SLICE_URI.equals(sliceUri)) { registerIntentToUri(FlashlightSliceBuilder.INTENT_FILTER, sliceUri); mRegisteredUris.add(sliceUri); return; - } else if (EmergencyInfoSlice.EMERGENCY_INFO_CARD_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI.equals(sliceUri)) { return; } @@ -236,30 +231,30 @@ public class SettingsSliceProvider extends SliceProvider { return sliceable.getSlice(); } - if (WifiCallingSliceHelper.WIFI_CALLING_URI.equals(sliceUri)) { + if (CustomSliceRegistry.WIFI_CALLING_URI.equals(sliceUri)) { return FeatureFactory.getFactory(getContext()) .getSlicesFeatureProvider() .getNewWifiCallingSliceHelper(getContext()) .createWifiCallingSlice(sliceUri); - } else if (ZenModeSliceBuilder.ZEN_MODE_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.ZEN_MODE_SLICE_URI.equals(sliceUri)) { return ZenModeSliceBuilder.getSlice(getContext()); - } else if (BluetoothSliceBuilder.BLUETOOTH_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.BLUETOOTH_URI.equals(sliceUri)) { return BluetoothSliceBuilder.getSlice(getContext()); - } else if (LocationSliceBuilder.LOCATION_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.LOCATION_SLICE_URI.equals(sliceUri)) { return LocationSliceBuilder.getSlice(getContext()); - } else if (Enhanced4gLteSliceHelper.SLICE_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.ENHANCED_4G_SLICE_URI.equals(sliceUri)) { return FeatureFactory.getFactory(getContext()) .getSlicesFeatureProvider() .getNewEnhanced4gLteSliceHelper(getContext()) .createEnhanced4gLteSlice(sliceUri); - } else if (WifiCallingSliceHelper.WIFI_CALLING_PREFERENCE_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI.equals(sliceUri)) { return FeatureFactory.getFactory(getContext()) .getSlicesFeatureProvider() .getNewWifiCallingSliceHelper(getContext()) .createWifiCallingPreferenceSlice(sliceUri); - } else if (FlashlightSliceBuilder.FLASHLIGHT_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.FLASHLIGHT_SLICE_URI.equals(sliceUri)) { return FlashlightSliceBuilder.getSlice(getContext()); - } else if (EmergencyInfoSlice.EMERGENCY_INFO_CARD_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI.equals(sliceUri)) { return EmergencyInfoSlice.getSlice(getContext()); } @@ -476,16 +471,16 @@ public class SettingsSliceProvider extends SliceProvider { private List getSpecialCasePlatformUris() { return Arrays.asList( - WifiSlice.WIFI_URI, - BluetoothSliceBuilder.BLUETOOTH_URI, - LocationSliceBuilder.LOCATION_URI + CustomSliceRegistry.WIFI_SLICE_URI, + CustomSliceRegistry.BLUETOOTH_URI, + CustomSliceRegistry.LOCATION_SLICE_URI ); } private List getSpecialCaseOemUris() { return Arrays.asList( - ZenModeSliceBuilder.ZEN_MODE_URI, - FlashlightSliceBuilder.FLASHLIGHT_URI + CustomSliceRegistry.ZEN_MODE_SLICE_URI, + CustomSliceRegistry.FLASHLIGHT_SLICE_URI ); } diff --git a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java index 75317788ef3..01708af87d9 100644 --- a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java +++ b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java @@ -62,11 +62,11 @@ public class SliceDeepLinkSpringBoard extends Activity { final CustomSliceable sliceable = customSliceManager.getSliceableFromUri(sliceUri); launchIntent = sliceable.getIntent(); - } else if (ZenModeSliceBuilder.ZEN_MODE_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.ZEN_MODE_SLICE_URI.equals(sliceUri)) { launchIntent = ZenModeSliceBuilder.getIntent(this /* context */); - } else if (BluetoothSliceBuilder.BLUETOOTH_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.BLUETOOTH_URI.equals(sliceUri)) { launchIntent = BluetoothSliceBuilder.getIntent(this /* context */); - } else if (LocationSliceBuilder.LOCATION_URI.equals(sliceUri)) { + } else if (CustomSliceRegistry.LOCATION_SLICE_URI.equals(sliceUri)) { launchIntent = LocationSliceBuilder.getIntent(this /* context */); } else { final SlicesDatabaseAccessor slicesDatabaseAccessor = diff --git a/src/com/android/settings/wifi/WifiSlice.java b/src/com/android/settings/wifi/WifiSlice.java index d06d830af39..0dbbfd53289 100644 --- a/src/com/android/settings/wifi/WifiSlice.java +++ b/src/com/android/settings/wifi/WifiSlice.java @@ -19,9 +19,10 @@ package com.android.settings.wifi; import static android.app.slice.Slice.EXTRA_TOGGLE_STATE; import static android.provider.SettingsSlicesContract.KEY_WIFI; +import static com.android.settings.slices.CustomSliceRegistry.WIFI_SLICE_URI; + import android.annotation.ColorInt; import android.app.PendingIntent; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; @@ -30,7 +31,6 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.net.wifi.WifiSsid; import android.os.Bundle; -import android.provider.SettingsSlicesContract; import android.text.TextUtils; import androidx.annotation.VisibleForTesting; @@ -60,16 +60,6 @@ import java.util.List; */ public class WifiSlice implements CustomSliceable { - /** - * Backing Uri for the Wifi Slice. - */ - public static final Uri WIFI_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSlicesContract.AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) - .appendPath(KEY_WIFI) - .build(); - @VisibleForTesting static final int DEFAULT_EXPANDED_ROW_COUNT = 3; @@ -81,7 +71,7 @@ public class WifiSlice implements CustomSliceable { @Override public Uri getUri() { - return WIFI_URI; + return WIFI_SLICE_URI; } @Override @@ -92,9 +82,6 @@ public class WifiSlice implements CustomSliceable { return filter; } - /** - * Return a Wifi Slice bound to {@link #WIFI_URI}. - */ @Override public Slice getSlice() { final boolean isWifiEnabled = isWifiEnabled(); @@ -109,7 +96,8 @@ public class WifiSlice implements CustomSliceable { final SliceAction toggleSliceAction = new SliceAction(toggleAction, null /* actionTitle */, isWifiEnabled); - final ListBuilder listBuilder = new ListBuilder(mContext, WIFI_URI, ListBuilder.INFINITY) + final ListBuilder listBuilder = new ListBuilder(mContext, WIFI_SLICE_URI, + ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) diff --git a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java index 0629ad34bb2..65012fc340e 100644 --- a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java +++ b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java @@ -18,9 +18,11 @@ package com.android.settings.wifi.calling; import static android.app.slice.Slice.EXTRA_TOGGLE_STATE; +import static com.android.settings.slices.CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI; +import static com.android.settings.slices.CustomSliceRegistry.WIFI_CALLING_URI; + import android.app.PendingIntent; import android.content.ComponentName; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -42,9 +44,7 @@ import com.android.ims.ImsConfig; import com.android.ims.ImsManager; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBroadcastReceiver; -import com.android.settings.slices.SliceBuilderUtils; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; @@ -103,24 +103,6 @@ public class WifiCallingSliceHelper { public static final String ACTION_WIFI_CALLING_SETTINGS_ACTIVITY = "android.settings.WIFI_CALLING_SETTINGS"; - /** - * Full {@link Uri} for the Wifi Calling Slice. - */ - public static final Uri WIFI_CALLING_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_WIFI_CALLING) - .build(); - - /** - * Full {@link Uri} for the Wifi Calling Preference Slice. - */ - public static final Uri WIFI_CALLING_PREFERENCE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(PATH_WIFI_CALLING_PREFERENCE) - .build(); - /** * Timeout for querying wifi calling setting from ims manager. */ @@ -246,7 +228,7 @@ public class WifiCallingSliceHelper { } final boolean isWifiCallingPrefEditable = isCarrierConfigManagerKeyEnabled( - CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL, subId,false); + CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL, subId, false); final boolean isWifiOnlySupported = isCarrierConfigManagerKeyEnabled( CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, subId, true); final ImsManager imsManager = getImsManager(subId); @@ -287,8 +269,8 @@ public class WifiCallingSliceHelper { * Returns actionable wifi calling preference slice. * * @param isWifiOnlySupported adds row for wifi only if this is true - * @param currentWfcPref current Preference {@link ImsConfig} - * @param sliceUri sliceUri + * @param currentWfcPref current Preference {@link ImsConfig} + * @param sliceUri sliceUri * @return Slice for actionable wifi calling preference settings */ private Slice getWifiCallingPreferenceSlice(boolean isWifiOnlySupported, @@ -299,12 +281,12 @@ public class WifiCallingSliceHelper { ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)); listBuilder.setHeader(new ListBuilder.HeaderBuilder() - .setTitle(mContext.getText(R.string.wifi_calling_mode_title)) - .setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref)) - .setPrimaryAction(new SliceAction( - getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY), - icon, - mContext.getText(R.string.wifi_calling_mode_title)))); + .setTitle(mContext.getText(R.string.wifi_calling_mode_title)) + .setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref)) + .setPrimaryAction(new SliceAction( + getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY), + icon, + mContext.getText(R.string.wifi_calling_mode_title)))); if (isWifiOnlySupported) { listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder, @@ -329,9 +311,9 @@ public class WifiCallingSliceHelper { /** * Returns RowBuilder for a new row containing specific wifi calling preference. * - * @param listBuilder ListBuilder that will be the parent for this RowBuilder + * @param listBuilder ListBuilder that will be the parent for this RowBuilder * @param preferenceTitleResId resource Id for the preference row title - * @param action action to be added for the row + * @param action action to be added for the row * @return RowBuilder for the row */ private RowBuilder wifiPreferenceRowBuilder(ListBuilder listBuilder, @@ -414,8 +396,7 @@ public class WifiCallingSliceHelper { } // notify change in slice in any case to get re-queried. This would result in displaying // appropriate message with the updated setting. - final Uri uri = SliceBuilderUtils.getUri(PATH_WIFI_CALLING, false /*isPlatformSlice*/); - mContext.getContentResolver().notifyChange(uri, null); + mContext.getContentResolver().notifyChange(WIFI_CALLING_URI, null); } /** @@ -433,7 +414,7 @@ public class WifiCallingSliceHelper { if (subId > SubscriptionManager.INVALID_SUBSCRIPTION_ID) { final boolean isWifiCallingPrefEditable = isCarrierConfigManagerKeyEnabled( - CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL, subId,false); + CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL, subId, false); final boolean isWifiOnlySupported = isCarrierConfigManagerKeyEnabled( CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, subId, true); @@ -470,15 +451,13 @@ public class WifiCallingSliceHelper { // notify change in slice in any case to get re-queried. This would result in displaying // appropriate message. - final Uri uri = SliceBuilderUtils.getUri(PATH_WIFI_CALLING_PREFERENCE, - false /*isPlatformSlice*/); - mContext.getContentResolver().notifyChange(uri, null); + mContext.getContentResolver().notifyChange(WIFI_CALLING_PREFERENCE_URI, null); } /** * Returns Slice with the title and subtitle provided as arguments with wifi signal Icon. * - * @param title Title of the slice + * @param title Title of the slice * @param subtitle Subtitle of the slice * @param sliceUri slice uri * @return Slice with title and subtitle diff --git a/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java index 6ff0dba990d..3d3a05a9384 100644 --- a/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java @@ -51,7 +51,6 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.testutils.shadow.ShadowPowerManager; import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.instantapps.InstantAppDataProvider; @@ -93,6 +92,8 @@ public class RecentAppsPreferenceControllerTest { private ApplicationsState.AppEntry mAppEntry; @Mock private ApplicationInfo mApplicationInfo; + @Mock + private PowerManager mPowerManager; private Context mContext; private RecentAppsPreferenceController mController; @@ -104,6 +105,7 @@ public class RecentAppsPreferenceControllerTest { doReturn(mUsageStatsManager).when(mContext).getSystemService(Context.USAGE_STATS_SERVICE); doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE); doReturn(mPackageManager).when(mContext).getPackageManager(); + doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class); mController = new RecentAppsPreferenceController(mContext, mAppState, null); when(mScreen.findPreference(anyString())).thenReturn(mCategory); @@ -174,15 +176,15 @@ public class RecentAppsPreferenceControllerTest { // stat1, stat2 are valid apps. stat3 is invalid. when(mAppState.getEntry(stat1.mPackageName, UserHandle.myUserId())) - .thenReturn(mAppEntry); + .thenReturn(mAppEntry); when(mAppState.getEntry(stat2.mPackageName, UserHandle.myUserId())) - .thenReturn(mAppEntry); + .thenReturn(mAppEntry); when(mAppState.getEntry(stat3.mPackageName, UserHandle.myUserId())) - .thenReturn(null); + .thenReturn(null); when(mPackageManager.resolveActivity(any(Intent.class), anyInt())) - .thenReturn(new ResolveInfo()); + .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) - .thenReturn(stats); + .thenReturn(stats); mAppEntry.info = mApplicationInfo; mController.displayPreference(mScreen); @@ -199,7 +201,7 @@ public class RecentAppsPreferenceControllerTest { @Test public void display_powerSaverMode_showNoRecents() { - mContext.getSystemService(PowerManager.class).setPowerSaveMode(true); + when(mPowerManager.isPowerSaveMode()).thenReturn(true); final List stats = new ArrayList<>(); final UsageStats stat1 = new UsageStats(); @@ -251,7 +253,7 @@ public class RecentAppsPreferenceControllerTest { // Only the regular app stat1 should have its intent resolve. when(mPackageManager.resolveActivity(argThat(intentMatcher(stat1.mPackageName)), anyInt())) - .thenReturn(new ResolveInfo()); + .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) .thenReturn(stats); @@ -311,13 +313,13 @@ public class RecentAppsPreferenceControllerTest { // stat1, stat2 are not displayable when(mAppState.getEntry(stat1.mPackageName, UserHandle.myUserId())) - .thenReturn(mock(ApplicationsState.AppEntry.class)); + .thenReturn(mock(ApplicationsState.AppEntry.class)); when(mAppState.getEntry(stat2.mPackageName, UserHandle.myUserId())) - .thenReturn(mock(ApplicationsState.AppEntry.class)); + .thenReturn(mock(ApplicationsState.AppEntry.class)); when(mPackageManager.resolveActivity(any(Intent.class), anyInt())) - .thenReturn(new ResolveInfo()); + .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) - .thenReturn(stats); + .thenReturn(stats); mController.displayPreference(mScreen); @@ -336,11 +338,11 @@ public class RecentAppsPreferenceControllerTest { stats.add(stat1); when(mAppState.getEntry(stat1.mPackageName, UserHandle.myUserId())) - .thenReturn(mAppEntry); + .thenReturn(mAppEntry); when(mPackageManager.resolveActivity(any(Intent.class), anyInt())) - .thenReturn(new ResolveInfo()); + .thenReturn(new ResolveInfo()); when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong())) - .thenReturn(stats); + .thenReturn(stats); mAppEntry.info = mApplicationInfo; mController.displayPreference(mScreen); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java index c09af2b817d..051ef399325 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java @@ -21,6 +21,8 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import android.content.Context; import android.os.PowerManager; @@ -37,21 +39,19 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; -import org.robolectric.annotation.Config; -import org.robolectric.shadows.ShadowPowerManager; import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) -@Config(shadows = ShadowPowerManager.class) public class BatterySaverButtonPreferenceControllerTest { private BatterySaverButtonPreferenceController mController; private Context mContext; private Button mButtonOn; private Button mButtonOff; - private PowerManager mPowerManager; private TwoStateButtonPreference mPreference; + @Mock + private PowerManager mPowerManager; @Mock private PreferenceScreen mPreferenceScreen; @@ -61,10 +61,11 @@ public class BatterySaverButtonPreferenceControllerTest { mContext = spy(RuntimeEnvironment.application); mButtonOn = new Button(mContext); mButtonOff = new Button(mContext); - mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); mPreference = spy(new TwoStateButtonPreference(mContext, null /* AttributeSet */)); ReflectionHelpers.setField(mPreference, "mButtonOn", mButtonOn); ReflectionHelpers.setField(mPreference, "mButtonOff", mButtonOff); + + doReturn(mPowerManager).when(mContext).getSystemService(Context.POWER_SERVICE); doReturn(mPreference).when(mPreferenceScreen).findPreference(anyString()); mController = new BatterySaverButtonPreferenceController(mContext, "test_key"); @@ -73,7 +74,7 @@ public class BatterySaverButtonPreferenceControllerTest { @Test public void updateState_lowPowerOn_preferenceIsChecked() { - mPowerManager.setPowerSaveMode(true); + when(mPowerManager.isPowerSaveMode()).thenReturn(true); mController.updateState(mPreference); @@ -82,7 +83,7 @@ public class BatterySaverButtonPreferenceControllerTest { @Test public void testUpdateState_lowPowerOff_preferenceIsUnchecked() { - mPowerManager.setPowerSaveMode(false); + when(mPowerManager.isPowerSaveMode()).thenReturn(false); mController.updateState(mPreference); @@ -93,13 +94,13 @@ public class BatterySaverButtonPreferenceControllerTest { public void setChecked_on_setPowerSaveMode() { mController.setChecked(true); - assertThat(mPowerManager.isPowerSaveMode()).isTrue(); + verify(mPowerManager).setPowerSaveMode(true); } @Test public void setChecked_off_unsetPowerSaveMode() { mController.setChecked(false); - assertThat(mPowerManager.isPowerSaveMode()).isFalse(); + verify(mPowerManager).setPowerSaveMode(false); } } diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java index e8cb67474bb..4f501970416 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java @@ -27,11 +27,9 @@ import static org.mockito.Mockito.spy; import android.content.Context; import android.net.Uri; -import com.android.settings.homepage.contextualcards.deviceinfo.BatterySlice; -import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.wifi.WifiSlice; import org.junit.Before; import org.junit.Test; @@ -153,7 +151,7 @@ public class ContextualCardLoaderTest { cards.add(new ContextualCard.Builder() .setName("test_wifi") .setCardType(ContextualCard.CardType.SLICE) - .setSliceUri(WifiSlice.WIFI_URI) + .setSliceUri(CustomSliceRegistry.WIFI_SLICE_URI) .build()); cards.add(new ContextualCard.Builder() .setName("test_flashlight") @@ -164,7 +162,7 @@ public class ContextualCardLoaderTest { cards.add(new ContextualCard.Builder() .setName("test_connected") .setCardType(ContextualCard.CardType.SLICE) - .setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI) + .setSliceUri(CustomSliceRegistry.CONNECTED_DEVICE_SLICE_URI) .build()); cards.add(new ContextualCard.Builder() .setName("test_gesture") @@ -175,7 +173,7 @@ public class ContextualCardLoaderTest { cards.add(new ContextualCard.Builder() .setName("test_battery") .setCardType(ContextualCard.CardType.SLICE) - .setSliceUri(BatterySlice.BATTERY_CARD_URI) + .setSliceUri(CustomSliceRegistry.BATTERY_INFO_SLICE_URI) .build()); return cards; } @@ -208,7 +206,7 @@ public class ContextualCardLoaderTest { cards.add(new ContextualCard.Builder() .setName("test_battery") .setCardType(ContextualCard.CardType.SLICE) - .setSliceUri(BatterySlice.BATTERY_CARD_URI) + .setSliceUri(CustomSliceRegistry.BATTERY_INFO_SLICE_URI) .build()); return cards; } diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java index 6b1f8b12da3..4b0b0851a9f 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java @@ -23,15 +23,13 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.app.slice.SliceManager; -import android.content.ContentResolver; import android.content.Context; -import android.net.Uri; import android.os.Bundle; import com.android.settings.intelligence.ContextualCardProto.ContextualCard; import com.android.settings.intelligence.ContextualCardProto.ContextualCardList; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.wifi.WifiSlice; import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider; @@ -48,18 +46,11 @@ public class SettingsContextualCardProviderTest { @Mock private SliceManager mSliceManager; - private ContentResolver mResolver; - private Uri mUri; private SettingsContextualCardProvider mProvider; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mResolver = RuntimeEnvironment.application.getContentResolver(); - mUri = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsContextualCardProvider.CARD_AUTHORITY) - .build(); mProvider = spy(Robolectric.setupContentProvider(SettingsContextualCardProvider.class)); final Context context = spy(RuntimeEnvironment.application); doReturn(mSliceManager).when(context).getSystemService(SliceManager.class); @@ -83,7 +74,7 @@ public class SettingsContextualCardProviderTest { final ContextualCardList cards = mProvider.getContextualCards(); ContextualCard wifiCard = null; for (ContextualCard card : cards.getCardList()) { - if (card.getSliceUri().equals(WifiSlice.WIFI_URI.toString())) { + if (card.getSliceUri().equals(CustomSliceRegistry.WIFI_SLICE_URI.toString())) { wifiCard = card; } } diff --git a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java index d260a9781bc..5269dd7265a 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java @@ -44,6 +44,7 @@ import androidx.slice.widget.SliceLiveData; import com.android.ims.ImsManager; import com.android.settings.R; import com.android.settings.slices.CustomSliceManager; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBroadcastReceiver; import com.android.settings.slices.SlicesFeatureProvider; @@ -107,7 +108,7 @@ public class Enhanced4gLteSliceHelperTest { mEnhanced4gLteSliceHelper.setDefaultVoiceSubId(-1); final Slice slice = mEnhanced4gLteSliceHelper.createEnhanced4gLteSlice( - Enhanced4gLteSliceHelper.SLICE_URI); + CustomSliceRegistry.ENHANCED_4G_SLICE_URI); assertThat(slice).isNull(); } @@ -117,7 +118,7 @@ public class Enhanced4gLteSliceHelperTest { when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(false); final Slice slice = mEnhanced4gLteSliceHelper.createEnhanced4gLteSlice( - Enhanced4gLteSliceHelper.SLICE_URI); + CustomSliceRegistry.ENHANCED_4G_SLICE_URI); assertThat(mEnhanced4gLteSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); assertThat(slice).isNull(); @@ -132,7 +133,7 @@ public class Enhanced4gLteSliceHelperTest { when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null); final Slice slice = mEnhanced4gLteSliceHelper.createEnhanced4gLteSlice( - Enhanced4gLteSliceHelper.SLICE_URI); + CustomSliceRegistry.ENHANCED_4G_SLICE_URI); assertThat(mEnhanced4gLteSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testEnhanced4gLteSettingsToggleSlice(slice); @@ -148,7 +149,7 @@ public class Enhanced4gLteSliceHelperTest { when(mSlicesFeatureProvider.getNewEnhanced4gLteSliceHelper(mContext)) .thenReturn(mEnhanced4gLteSliceHelper); - final Slice slice = mProvider.onBindSlice(Enhanced4gLteSliceHelper.SLICE_URI); + final Slice slice = mProvider.onBindSlice(CustomSliceRegistry.ENHANCED_4G_SLICE_URI); assertThat(mEnhanced4gLteSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testEnhanced4gLteSettingsToggleSlice(slice); diff --git a/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java b/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java index 3e210f5298c..243c19badab 100644 --- a/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java +++ b/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java @@ -21,8 +21,8 @@ import static com.google.common.truth.Truth.assertThat; import android.net.Uri; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.wifi.WifiSlice; import org.junit.Before; import org.junit.Test; @@ -46,7 +46,7 @@ public class InternetConnectivityPanelTest { public void getSlices_containsNecessarySlices() { final List uris = mPanel.getSlices(); - assertThat(uris).containsExactly(WifiSlice.WIFI_URI, - InternetConnectivityPanel.AIRPLANE_URI); + assertThat(uris).containsExactly(CustomSliceRegistry.WIFI_SLICE_URI, + CustomSliceRegistry.AIRPLANE_URI); } } diff --git a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java index 3c2cbdbb036..8e3c1c8d4d5 100644 --- a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java +++ b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java @@ -48,10 +48,6 @@ import androidx.slice.SliceProvider; import androidx.slice.widget.SliceLiveData; import com.android.settings.R; -import com.android.settings.bluetooth.BluetoothSliceBuilder; -import com.android.settings.flashlight.FlashlightSliceBuilder; -import com.android.settings.location.LocationSliceBuilder; -import com.android.settings.notification.ZenModeSliceBuilder; import com.android.settings.testutils.DatabaseTestUtils; import com.android.settings.testutils.FakeToggleController; import com.android.settings.testutils.SettingsRobolectricTestRunner; @@ -113,14 +109,14 @@ public class SettingsSliceProviderTest { private SliceManager mManager; private static final List SPECIAL_CASE_PLATFORM_URIS = Arrays.asList( - WifiSlice.WIFI_URI, - BluetoothSliceBuilder.BLUETOOTH_URI, - LocationSliceBuilder.LOCATION_URI + CustomSliceRegistry.WIFI_SLICE_URI, + CustomSliceRegistry.BLUETOOTH_URI, + CustomSliceRegistry.LOCATION_SLICE_URI ); private static final List SPECIAL_CASE_OEM_URIS = Arrays.asList( - ZenModeSliceBuilder.ZEN_MODE_URI, - FlashlightSliceBuilder.FLASHLIGHT_URI + CustomSliceRegistry.ZEN_MODE_SLICE_URI, + CustomSliceRegistry.FLASHLIGHT_SLICE_URI ); @Before @@ -472,9 +468,9 @@ public class SettingsSliceProviderTest { @Test public void bindSlice_wifiSlice_returnsWifiSlice() { - final Slice wifiSlice = mProvider.onBindSlice(WifiSlice.WIFI_URI); + final Slice wifiSlice = mProvider.onBindSlice(CustomSliceRegistry.WIFI_SLICE_URI); - assertThat(wifiSlice.getUri()).isEqualTo(WifiSlice.WIFI_URI); + assertThat(wifiSlice.getUri()).isEqualTo(CustomSliceRegistry.WIFI_SLICE_URI); } @Test @@ -482,9 +478,10 @@ public class SettingsSliceProviderTest { Settings.Secure.putInt( mContext.getContentResolver(), Settings.Secure.FLASHLIGHT_AVAILABLE, 1); - final Slice flashlightSlice = mProvider.onBindSlice(FlashlightSliceBuilder.FLASHLIGHT_URI); + final Slice flashlightSlice = mProvider.onBindSlice( + CustomSliceRegistry.FLASHLIGHT_SLICE_URI); - assertThat(flashlightSlice.getUri()).isEqualTo(FlashlightSliceBuilder.FLASHLIGHT_URI); + assertThat(flashlightSlice.getUri()).isEqualTo(CustomSliceRegistry.FLASHLIGHT_SLICE_URI); } @Test @@ -526,22 +523,22 @@ public class SettingsSliceProviderTest { @Test public void onSlicePinned_backgroundWorker_started() { - mProvider.onSlicePinned(WifiSlice.WIFI_URI); + mProvider.onSlicePinned(CustomSliceRegistry.WIFI_SLICE_URI); verify(ShadowWifiScanWorker.getWifiTracker()).onStart(); } @Test public void onSlicePinned_backgroundWorker_stopped() { - mProvider.onSlicePinned(WifiSlice.WIFI_URI); - mProvider.onSliceUnpinned(WifiSlice.WIFI_URI); + mProvider.onSlicePinned(CustomSliceRegistry.WIFI_SLICE_URI); + mProvider.onSliceUnpinned(CustomSliceRegistry.WIFI_SLICE_URI); verify(ShadowWifiScanWorker.getWifiTracker()).onStop(); } @Test public void shutdown_backgroundWorker_closed() { - mProvider.onSlicePinned(WifiSlice.WIFI_URI); + mProvider.onSlicePinned(CustomSliceRegistry.WIFI_SLICE_URI); mProvider.shutdown(); verify(ShadowWifiScanWorker.getWifiTracker()).onDestroy(); diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java index ae4c7533bbf..11dd56e6f48 100644 --- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java +++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java @@ -49,6 +49,7 @@ import com.android.ims.ImsConfig; import com.android.ims.ImsManager; import com.android.settings.R; import com.android.settings.slices.CustomSliceManager; +import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceBroadcastReceiver; import com.android.settings.slices.SliceData; @@ -113,7 +114,7 @@ public class WifiCallingSliceHelperTest { mWfcSliceHelper.setDefaultVoiceSubId(-1); final Slice slice = mWfcSliceHelper.createWifiCallingSlice( - WifiCallingSliceHelper.WIFI_CALLING_URI); + CustomSliceRegistry.WIFI_CALLING_URI); assertThat(slice).isNull(); } @@ -123,7 +124,7 @@ public class WifiCallingSliceHelperTest { when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(false); final Slice slice = mWfcSliceHelper.createWifiCallingSlice( - WifiCallingSliceHelper.WIFI_CALLING_URI); + CustomSliceRegistry.WIFI_CALLING_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); assertThat(slice).isNull(); @@ -144,7 +145,7 @@ public class WifiCallingSliceHelperTest { mWfcSliceHelper.setActivationAppIntent(new Intent()); // dummy Intent final Slice slice = mWfcSliceHelper.createWifiCallingSlice( - WifiCallingSliceHelper.WIFI_CALLING_URI); + CustomSliceRegistry.WIFI_CALLING_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testWifiCallingSettingsUnavailableSlice(slice, null, @@ -161,7 +162,7 @@ public class WifiCallingSliceHelperTest { when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null); final Slice slice = mWfcSliceHelper.createWifiCallingSlice( - WifiCallingSliceHelper.WIFI_CALLING_URI); + CustomSliceRegistry.WIFI_CALLING_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testWifiCallingSettingsToggleSlice(slice, null); @@ -177,7 +178,7 @@ public class WifiCallingSliceHelperTest { when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext)) .thenReturn(mWfcSliceHelper); - final Slice slice = mProvider.onBindSlice(WifiCallingSliceHelper.WIFI_CALLING_URI); + final Slice slice = mProvider.onBindSlice(CustomSliceRegistry.WIFI_CALLING_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testWifiCallingSettingsToggleSlice(slice, null); @@ -217,7 +218,7 @@ public class WifiCallingSliceHelperTest { mWfcSliceHelper.setIsWifiCallingPrefEditable(false); final Slice slice = mWfcSliceHelper.createWifiCallingPreferenceSlice( - WifiCallingSliceHelper.WIFI_CALLING_PREFERENCE_URI); + CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); assertThat(slice).isNull(); @@ -232,7 +233,7 @@ public class WifiCallingSliceHelperTest { mWfcSliceHelper.setIsWifiCallingPrefEditable(true); final Slice slice = mWfcSliceHelper.createWifiCallingPreferenceSlice( - WifiCallingSliceHelper.WIFI_CALLING_PREFERENCE_URI); + CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testWifiCallingSettingsUnavailableSlice(slice, null, @@ -251,7 +252,7 @@ public class WifiCallingSliceHelperTest { mWfcSliceHelper.setIsWifiCallingPrefEditable(true); final Slice slice = mWfcSliceHelper.createWifiCallingPreferenceSlice( - WifiCallingSliceHelper.WIFI_CALLING_PREFERENCE_URI); + CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testWifiCallingPreferenceSlice(slice, null, @@ -271,7 +272,7 @@ public class WifiCallingSliceHelperTest { mWfcSliceHelper.setIsWifiCallingPrefEditable(true); final Slice slice = mProvider.onBindSlice( - WifiCallingSliceHelper.WIFI_CALLING_PREFERENCE_URI); + CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI); assertThat(mWfcSliceHelper.getDefaultVoiceSubId()).isEqualTo(1); testWifiCallingPreferenceSlice(slice, null, diff --git a/tests/unit/src/com/android/settings/slices/SliceDeepLinkSpringBoardTest.java b/tests/unit/src/com/android/settings/slices/SliceDeepLinkSpringBoardTest.java index 81f1face0c3..bd8649d6bea 100644 --- a/tests/unit/src/com/android/settings/slices/SliceDeepLinkSpringBoardTest.java +++ b/tests/unit/src/com/android/settings/slices/SliceDeepLinkSpringBoardTest.java @@ -26,11 +26,6 @@ import android.support.test.InstrumentationRegistry; import android.support.test.filters.MediumTest; import android.support.test.runner.AndroidJUnit4; -import com.android.settings.bluetooth.BluetoothSliceBuilder; -import com.android.settings.location.LocationSliceBuilder; -import com.android.settings.notification.ZenModeSliceBuilder; -import com.android.settings.wifi.WifiSlice; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -57,7 +52,8 @@ public class SliceDeepLinkSpringBoardTest { @Test @Presubmit public void launchesDeepLinkIntent_wifiSlice_shouldNotCrash() { - final Intent deepLinkIntent = getSpringboardIntent(WifiSlice.WIFI_URI.toString()); + final Intent deepLinkIntent = getSpringboardIntent( + CustomSliceRegistry.WIFI_SLICE_URI.toString()); mContext.startActivity(deepLinkIntent); } @@ -66,7 +62,7 @@ public class SliceDeepLinkSpringBoardTest { @Presubmit public void launchesDeepLinkIntent_bluetoothSlice_shouldNotCrash() { final Intent deepLinkIntent = getSpringboardIntent( - BluetoothSliceBuilder.BLUETOOTH_URI.toString()); + CustomSliceRegistry.BLUETOOTH_URI.toString()); mContext.startActivity(deepLinkIntent); } @@ -75,7 +71,7 @@ public class SliceDeepLinkSpringBoardTest { @Presubmit public void launchesDeepLinkIntent_dndSlice_shouldNotCrash() { final Intent deepLinkIntent = getSpringboardIntent( - ZenModeSliceBuilder.ZEN_MODE_URI.toString()); + CustomSliceRegistry.ZEN_MODE_SLICE_URI.toString()); mContext.startActivity(deepLinkIntent); } @@ -84,7 +80,7 @@ public class SliceDeepLinkSpringBoardTest { @Presubmit public void launchesDeepLinkIntent_locationSlice_shouldNotCrash() { final Intent deepLinkIntent = getSpringboardIntent( - LocationSliceBuilder.LOCATION_URI.toString()); + CustomSliceRegistry.LOCATION_SLICE_URI.toString()); mContext.startActivity(deepLinkIntent); }