diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/BatteryInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/BatteryInfoSlice.java deleted file mode 100644 index 6c7f930a5e2..00000000000 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/BatteryInfoSlice.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * 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.homepage.contextualcards.deviceinfo; - -import android.app.PendingIntent; -import android.app.settings.SettingsEnums; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.net.Uri; -import android.os.PowerManager; - -import androidx.annotation.VisibleForTesting; -import androidx.core.graphics.drawable.IconCompat; -import androidx.slice.Slice; -import androidx.slice.builders.ListBuilder; -import androidx.slice.builders.SliceAction; - -import com.android.settings.R; -import com.android.settings.SubSettings; -import com.android.settings.Utils; -import com.android.settings.fuelgauge.BatteryInfo; -import com.android.settings.fuelgauge.PowerUsageSummary; -import com.android.settings.slices.CustomSliceRegistry; -import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SliceBuilderUtils; - -/** - * Utility class to build a Battery Slice, and handle all associated actions. - */ -public class BatteryInfoSlice implements CustomSliceable { - private static final String TAG = "BatteryInfoSlice"; - - private final Context mContext; - - private BatteryInfo mBatteryInfo; - private boolean mIsBatteryInfoLoading; - - public BatteryInfoSlice(Context context) { - mContext = context; - } - - @Override - public Slice getSlice() { - if (mBatteryInfo == null) { - mIsBatteryInfoLoading = true; - loadBatteryInfo(); - } - final IconCompat icon = IconCompat.createWithResource(mContext, - R.drawable.ic_settings_battery); - final CharSequence title = mContext.getText(R.string.power_usage_summary_title); - final SliceAction primarySliceAction = SliceAction.createDeeplink(getPrimaryAction(), icon, - ListBuilder.ICON_IMAGE, title); - final Slice slice = new ListBuilder(mContext, CustomSliceRegistry.BATTERY_INFO_SLICE_URI, - ListBuilder.INFINITY) - .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) - .setHeader(new ListBuilder.HeaderBuilder().setTitle(title)) - .addRow(new ListBuilder.RowBuilder() - .setTitle(getBatteryPercentString(), mIsBatteryInfoLoading) - .setSubtitle(getSummary(), mIsBatteryInfoLoading) - .setPrimaryAction(primarySliceAction)) - .build(); - mBatteryInfo = null; - mIsBatteryInfoLoading = false; - return slice; - } - - @Override - public Uri getUri() { - return CustomSliceRegistry.BATTERY_INFO_SLICE_URI; - } - - @Override - public void onNotifyChange(Intent intent) { - - } - - @Override - public Intent getIntent() { - final String screenTitle = mContext.getText(R.string.power_usage_summary_title).toString(); - return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - PowerUsageSummary.class.getName(), "" /* key */, screenTitle, - SettingsEnums.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(CustomSliceRegistry.BATTERY_INFO_SLICE_URI); - } - - @Override - public IntentFilter getIntentFilter() { - final IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED); - intentFilter.addAction(Intent.ACTION_POWER_CONNECTED); - intentFilter.addAction(Intent.ACTION_POWER_DISCONNECTED); - intentFilter.addAction(Intent.ACTION_BATTERY_LEVEL_CHANGED); - return intentFilter; - } - - @VisibleForTesting - void loadBatteryInfo() { - BatteryInfo.getBatteryInfo(mContext, info -> { - mBatteryInfo = info; - mContext.getContentResolver().notifyChange(getUri(), null); - }, true); - } - - @VisibleForTesting - CharSequence getBatteryPercentString() { - return mBatteryInfo == null ? null : mBatteryInfo.batteryPercentString; - } - - @VisibleForTesting - CharSequence getSummary() { - if (mBatteryInfo == null) { - return null; - } - return mBatteryInfo.remainingLabel == null ? mBatteryInfo.statusLabel - : mBatteryInfo.remainingLabel; - } - - private PendingIntent getPrimaryAction() { - final Intent intent = getIntent(); - return PendingIntent.getActivity(mContext, 0 /* requestCode */, - intent, 0 /* flags */); - } -} \ No newline at end of file diff --git a/src/com/android/settings/slices/CustomSliceManager.java b/src/com/android/settings/slices/CustomSliceManager.java index c9e473a9c20..91f55ae9832 100644 --- a/src/com/android/settings/slices/CustomSliceManager.java +++ b/src/com/android/settings/slices/CustomSliceManager.java @@ -18,25 +18,6 @@ package com.android.settings.slices; import android.content.Context; import android.net.Uri; -import android.util.ArrayMap; - -import androidx.annotation.VisibleForTesting; - -import com.android.settings.flashlight.FlashlightSlice; -import com.android.settings.homepage.contextualcards.deviceinfo.BatteryInfoSlice; -import com.android.settings.homepage.contextualcards.deviceinfo.DataUsageSlice; -import com.android.settings.homepage.contextualcards.deviceinfo.DeviceInfoSlice; -import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; -import com.android.settings.homepage.contextualcards.deviceinfo.StorageSlice; -import com.android.settings.homepage.contextualcards.slices.BatteryFixSlice; -import com.android.settings.homepage.contextualcards.slices.BluetoothDevicesSlice; -import com.android.settings.homepage.contextualcards.slices.LowStorageSlice; -import com.android.settings.homepage.contextualcards.slices.NotificationChannelSlice; -import com.android.settings.location.LocationSlice; -import com.android.settings.media.MediaOutputSlice; -import com.android.settings.network.telephony.MobileDataSlice; -import com.android.settings.wifi.slice.ContextualWifiSlice; -import com.android.settings.wifi.slice.WifiSlice; import java.util.Map; import java.util.WeakHashMap; @@ -47,17 +28,12 @@ import java.util.WeakHashMap; */ public class CustomSliceManager { - @VisibleForTesting - final Map> mUriMap; - private final Context mContext; private final Map mSliceableCache; public CustomSliceManager(Context context) { mContext = context.getApplicationContext(); - mUriMap = new ArrayMap<>(); mSliceableCache = new WeakHashMap<>(); - addSlices(); } /** @@ -67,12 +43,12 @@ public class CustomSliceManager { * the only thing that should be needed to create the object. */ public CustomSliceable getSliceableFromUri(Uri uri) { - final Uri newUri = removeParameterFromUri(uri); + final Uri newUri = CustomSliceRegistry.removeParameterFromUri(uri); if (mSliceableCache.containsKey(newUri)) { return mSliceableCache.get(newUri); } - final Class clazz = mUriMap.get(newUri); + final Class clazz = CustomSliceRegistry.getSliceClassByUri(newUri); if (clazz == null) { throw new IllegalArgumentException("No Slice found for uri: " + uri); } @@ -82,9 +58,6 @@ public class CustomSliceManager { return sliceable; } - private Uri removeParameterFromUri(Uri uri) { - return uri != null ? uri.buildUpon().clearQuery().build() : null; - } /** * Return a {@link CustomSliceable} associated to the Action. @@ -95,39 +68,4 @@ public class CustomSliceManager { public CustomSliceable getSliceableFromIntentAction(String action) { return getSliceableFromUri(Uri.parse(action)); } - - /** - * Returns {@code true} if {@param uri} is a valid Slice Uri handled by - * {@link CustomSliceManager}. - */ - public boolean isValidUri(Uri uri) { - return mUriMap.containsKey(removeParameterFromUri(uri)); - } - - /** - * Returns {@code true} if {@param action} is a valid intent action handled by - * {@link CustomSliceManager}. - */ - public boolean isValidAction(String action) { - return isValidUri(Uri.parse(action)); - } - - private void addSlices() { - mUriMap.put(CustomSliceRegistry.BATTERY_FIX_SLICE_URI, BatteryFixSlice.class); - mUriMap.put(CustomSliceRegistry.BATTERY_INFO_SLICE_URI, BatteryInfoSlice.class); - mUriMap.put(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI, BluetoothDevicesSlice.class); - mUriMap.put(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI, ContextualWifiSlice.class); - mUriMap.put(CustomSliceRegistry.DATA_USAGE_SLICE_URI, DataUsageSlice.class); - mUriMap.put(CustomSliceRegistry.DEVICE_INFO_SLICE_URI, DeviceInfoSlice.class); - mUriMap.put(CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI, EmergencyInfoSlice.class); - mUriMap.put(CustomSliceRegistry.FLASHLIGHT_SLICE_URI, FlashlightSlice.class); - mUriMap.put(CustomSliceRegistry.LOCATION_SLICE_URI, LocationSlice.class); - mUriMap.put(CustomSliceRegistry.LOW_STORAGE_SLICE_URI, LowStorageSlice.class); - mUriMap.put(CustomSliceRegistry.MOBILE_DATA_SLICE_URI, MobileDataSlice.class); - mUriMap.put(CustomSliceRegistry.NOTIFICATION_CHANNEL_SLICE_URI, - NotificationChannelSlice.class); - mUriMap.put(CustomSliceRegistry.STORAGE_SLICE_URI, StorageSlice.class); - mUriMap.put(CustomSliceRegistry.WIFI_SLICE_URI, WifiSlice.class); - mUriMap.put(CustomSliceRegistry.MEDIA_OUTPUT_SLICE_URI, MediaOutputSlice.class); - } } diff --git a/src/com/android/settings/slices/CustomSliceRegistry.java b/src/com/android/settings/slices/CustomSliceRegistry.java index 3a1db69c00a..12e7b48ffb2 100644 --- a/src/com/android/settings/slices/CustomSliceRegistry.java +++ b/src/com/android/settings/slices/CustomSliceRegistry.java @@ -24,11 +24,30 @@ import static com.android.settings.notification.ZenModePreferenceController.ZEN_ import android.content.ContentResolver; import android.net.Uri; import android.provider.SettingsSlicesContract; +import android.util.ArrayMap; +import androidx.annotation.VisibleForTesting; + +import com.android.settings.flashlight.FlashlightSlice; import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController; +import com.android.settings.homepage.contextualcards.deviceinfo.DataUsageSlice; +import com.android.settings.homepage.contextualcards.deviceinfo.DeviceInfoSlice; +import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; +import com.android.settings.homepage.contextualcards.deviceinfo.StorageSlice; +import com.android.settings.homepage.contextualcards.slices.BatteryFixSlice; +import com.android.settings.homepage.contextualcards.slices.BluetoothDevicesSlice; +import com.android.settings.homepage.contextualcards.slices.LowStorageSlice; +import com.android.settings.homepage.contextualcards.slices.NotificationChannelSlice; +import com.android.settings.location.LocationSlice; +import com.android.settings.media.MediaOutputSlice; +import com.android.settings.network.telephony.MobileDataSlice; import com.android.settings.wifi.calling.WifiCallingSliceHelper; +import com.android.settings.wifi.slice.ContextualWifiSlice; +import com.android.settings.wifi.slice.WifiSlice; import com.android.settingslib.media.MediaOutputSliceConstants; +import java.util.Map; + /** * A registry of custom slice Uris. */ @@ -53,15 +72,7 @@ public class CustomSliceRegistry { .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. */ @@ -287,4 +298,51 @@ public class CustomSliceRegistry { .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) .appendPath(MediaOutputSliceConstants.KEY_MEDIA_OUTPUT) .build(); + + @VisibleForTesting + static final Map> sUriToSlice; + + static { + sUriToSlice = new ArrayMap<>(); + + sUriToSlice.put(BATTERY_FIX_SLICE_URI, BatteryFixSlice.class); + sUriToSlice.put(BLUETOOTH_DEVICES_SLICE_URI, BluetoothDevicesSlice.class); + sUriToSlice.put(CONTEXTUAL_WIFI_SLICE_URI, ContextualWifiSlice.class); + sUriToSlice.put(DATA_USAGE_SLICE_URI, DataUsageSlice.class); + sUriToSlice.put(DEVICE_INFO_SLICE_URI, DeviceInfoSlice.class); + sUriToSlice.put(EMERGENCY_INFO_SLICE_URI, EmergencyInfoSlice.class); + sUriToSlice.put(FLASHLIGHT_SLICE_URI, FlashlightSlice.class); + sUriToSlice.put(LOCATION_SLICE_URI, LocationSlice.class); + sUriToSlice.put(LOW_STORAGE_SLICE_URI, LowStorageSlice.class); + sUriToSlice.put(MOBILE_DATA_SLICE_URI, MobileDataSlice.class); + sUriToSlice.put(NOTIFICATION_CHANNEL_SLICE_URI, NotificationChannelSlice.class); + sUriToSlice.put(STORAGE_SLICE_URI, StorageSlice.class); + sUriToSlice.put(WIFI_SLICE_URI, WifiSlice.class); + sUriToSlice.put(MEDIA_OUTPUT_SLICE_URI, MediaOutputSlice.class); + } + + public static Class getSliceClassByUri(Uri uri) { + return sUriToSlice.get(uri); + } + + public static Uri removeParameterFromUri(Uri uri) { + return uri != null ? uri.buildUpon().clearQuery().build() : null; + } + + /** + * Returns {@code true} if {@param uri} is a valid Slice Uri handled by + * {@link CustomSliceManager}. + */ + public static boolean isValidUri(Uri uri) { + return sUriToSlice.containsKey(removeParameterFromUri(uri)); + } + + /** + * Returns {@code true} if {@param action} is a valid intent action handled by + * {@link CustomSliceManager}. + */ + public static boolean isValidAction(String action) { + return isValidUri(Uri.parse(action)); + } + } diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java index 397b2fc631c..d019368fd62 100644 --- a/src/com/android/settings/slices/SettingsSliceProvider.java +++ b/src/com/android/settings/slices/SettingsSliceProvider.java @@ -147,7 +147,7 @@ public class SettingsSliceProvider extends SliceProvider { @Override public void onSlicePinned(Uri sliceUri) { - if (mCustomSliceManager.isValidUri(sliceUri)) { + if (CustomSliceRegistry.isValidUri(sliceUri)) { final CustomSliceable sliceable = mCustomSliceManager.getSliceableFromUri(sliceUri); final IntentFilter filter = sliceable.getIntentFilter(); if (filter != null) { @@ -194,7 +194,7 @@ public class SettingsSliceProvider extends SliceProvider { // Before adding a slice to {@link CustomSliceManager}, please get approval // from the Settings team. - if (mCustomSliceManager.isValidUri(sliceUri)) { + if (CustomSliceRegistry.isValidUri(sliceUri)) { final CustomSliceable sliceable = mCustomSliceManager.getSliceableFromUri( sliceUri); return sliceable.getSlice(); diff --git a/src/com/android/settings/slices/SliceBroadcastReceiver.java b/src/com/android/settings/slices/SliceBroadcastReceiver.java index b2ea5830fe2..8b6fc9801be 100644 --- a/src/com/android/settings/slices/SliceBroadcastReceiver.java +++ b/src/com/android/settings/slices/SliceBroadcastReceiver.java @@ -63,7 +63,7 @@ public class SliceBroadcastReceiver extends BroadcastReceiver { final CustomSliceManager mCustomSliceManager = FeatureFactory.getFactory( context).getSlicesFeatureProvider().getCustomSliceManager(context); - if (mCustomSliceManager.isValidAction(action)) { + if (CustomSliceRegistry.isValidAction(action)) { final CustomSliceable sliceable = mCustomSliceManager.getSliceableFromIntentAction(action); sliceable.onNotifyChange(intent); diff --git a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java index f4afa16d7af..d2179d20ebc 100644 --- a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java +++ b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java @@ -47,7 +47,7 @@ public class SliceDeepLinkSpringBoard extends Activity { // TODO (b/80263568) Avoid duplicating this list of Slice Uris. final CustomSliceManager customSliceManager = FeatureFactory.getFactory(this) .getSlicesFeatureProvider().getCustomSliceManager(this); - if (customSliceManager.isValidUri(sliceUri)) { + if (CustomSliceRegistry.isValidUri(sliceUri)) { final CustomSliceable sliceable = customSliceManager.getSliceableFromUri(sliceUri); launchIntent = sliceable.getIntent(); 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 e66774eca74..40e69391b4d 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java @@ -229,11 +229,6 @@ public class ContextualCardLoaderTest { .setSliceUri(Uri.parse( "content://com.android.settings.test.slices/action/gesture_pick_up")) .build()); - cards.add(new ContextualCard.Builder() - .setName("test_battery") - .setCardType(ContextualCard.CardType.SLICE) - .setSliceUri(CustomSliceRegistry.BATTERY_INFO_SLICE_URI) - .build()); return cards; } @@ -262,11 +257,6 @@ public class ContextualCardLoaderTest { .setSliceUri(Uri.parse( "content://com.android.settings.test.slices/action/gesture_pick_up")) .build()); - cards.add(new ContextualCard.Builder() - .setName("test_battery") - .setCardType(ContextualCard.CardType.SLICE) - .setSliceUri(CustomSliceRegistry.BATTERY_INFO_SLICE_URI) - .build()); return cards; } } diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java index eb9a4614c80..8087716c9e1 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java @@ -460,7 +460,7 @@ public class ContextualCardManagerTest { cards.add(new ContextualCard.Builder() .setName("test_battery") .setCardType(ContextualCard.CardType.SLICE) - .setSliceUri(CustomSliceRegistry.BATTERY_INFO_SLICE_URI) + .setSliceUri(CustomSliceRegistry.BATTERY_FIX_SLICE_URI) .setViewType(VIEW_TYPE_FULL_WIDTH) .build()); return cards; diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/BatteryInfoSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/BatteryInfoSliceTest.java deleted file mode 100644 index ff276d64d54..00000000000 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/BatteryInfoSliceTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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.homepage.contextualcards.deviceinfo; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; - -import android.content.Context; - -import androidx.core.graphics.drawable.IconCompat; -import androidx.slice.Slice; -import androidx.slice.SliceMetadata; -import androidx.slice.SliceProvider; -import androidx.slice.core.SliceAction; -import androidx.slice.widget.SliceLiveData; - -import com.android.settings.R; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -@RunWith(RobolectricTestRunner.class) -public class BatteryInfoSliceTest { - - private Context mContext; - private BatteryInfoSlice mBatteryInfoSlice; - - @Before - public void setUp() { - mContext = RuntimeEnvironment.application; - - // Set-up specs for SliceMetadata. - SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS); - - mBatteryInfoSlice = spy(new BatteryInfoSlice(mContext)); - } - - @Test - public void getSlice_shouldBeCorrectSliceContent() { - doNothing().when(mBatteryInfoSlice).loadBatteryInfo(); - doReturn("10%").when(mBatteryInfoSlice).getBatteryPercentString(); - doReturn("test").when(mBatteryInfoSlice).getSummary(); - - final Slice slice = mBatteryInfoSlice.getSlice(); - - final SliceMetadata metadata = SliceMetadata.from(mContext, slice); - assertThat(metadata.getTitle()).isEqualTo( - mContext.getString(R.string.power_usage_summary_title)); - - final SliceAction primaryAction = metadata.getPrimaryAction(); - final IconCompat expectedIcon = IconCompat.createWithResource(mContext, - R.drawable.ic_settings_battery); - assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedIcon.toString()); - } -} diff --git a/tests/robotests/src/com/android/settings/slices/SpecialCaseSliceManagerTest.java b/tests/robotests/src/com/android/settings/slices/SpecialCaseSliceManagerTest.java index 82726dff70d..53922844a0c 100644 --- a/tests/robotests/src/com/android/settings/slices/SpecialCaseSliceManagerTest.java +++ b/tests/robotests/src/com/android/settings/slices/SpecialCaseSliceManagerTest.java @@ -47,8 +47,8 @@ public class SpecialCaseSliceManagerTest { public void setUp() { mContext = RuntimeEnvironment.application; mCustomSliceManager = spy(new CustomSliceManager(mContext)); - mCustomSliceManager.mUriMap.clear(); - mCustomSliceManager.mUriMap.put(FakeSliceable.URI, FakeSliceable.class); + CustomSliceRegistry.sUriToSlice.clear(); + CustomSliceRegistry.sUriToSlice.put(FakeSliceable.URI, FakeSliceable.class); } @Test @@ -69,14 +69,14 @@ public class SpecialCaseSliceManagerTest { @Test public void isValidUri_validUri_returnsTrue() { - final boolean isValidUri = mCustomSliceManager.isValidUri(FakeSliceable.URI); + final boolean isValidUri = CustomSliceRegistry.isValidUri(FakeSliceable.URI); assertThat(isValidUri).isTrue(); } @Test public void isValidUri_invalidUri_returnsFalse() { - final boolean isValidUri = mCustomSliceManager.isValidUri(null); + final boolean isValidUri = CustomSliceRegistry.isValidUri(null); assertThat(isValidUri).isFalse(); } @@ -84,14 +84,14 @@ public class SpecialCaseSliceManagerTest { @Test public void isValidAction_validActions_returnsTrue() { final boolean isValidAction = - mCustomSliceManager.isValidAction(FakeSliceable.URI.toString()); + CustomSliceRegistry.isValidAction(FakeSliceable.URI.toString()); assertThat(isValidAction).isTrue(); } @Test public void isValidAction_invalidAction_returnsFalse() { - final boolean isValidAction = mCustomSliceManager.isValidAction("action"); + final boolean isValidAction = CustomSliceRegistry.isValidAction("action"); assertThat(isValidAction).isFalse(); }