Loading src/com/android/settings/slices/CustomSliceRegistry.java +1 −1 Original line number Diff line number Diff line Loading @@ -322,7 +322,7 @@ public class CustomSliceRegistry { } public static Class<? extends CustomSliceable> getSliceClassByUri(Uri uri) { return sUriToSlice.get(uri); return sUriToSlice.get(removeParameterFromUri(uri)); } public static Uri removeParameterFromUri(Uri uri) { Loading tests/robotests/src/com/android/settings/slices/SpecialCaseSliceManagerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,9 @@ import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class SpecialCaseSliceManagerTest { private final String FAKE_PARAMETER_KEY = "fake_parameter_key"; private final String FAKE_PARAMETER_VALUE = "fake_value"; private Context mContext; @Before Loading @@ -54,6 +57,20 @@ public class SpecialCaseSliceManagerTest { assertThat(sliceable).isInstanceOf(FakeSliceable.class); } @Test public void getSliceableFromUriWithParameter_returnsCorrectObject() { final Uri parameterUri = FakeSliceable.URI .buildUpon() .clearQuery() .appendQueryParameter(FAKE_PARAMETER_KEY, FAKE_PARAMETER_VALUE) .build(); final CustomSliceable sliceable = CustomSliceable.createInstance( mContext, CustomSliceRegistry.getSliceClassByUri(parameterUri)); assertThat(sliceable).isInstanceOf(FakeSliceable.class); } @Test public void isValidUri_validUri_returnsTrue() { final boolean isValidUri = CustomSliceRegistry.isValidUri(FakeSliceable.URI); Loading Loading
src/com/android/settings/slices/CustomSliceRegistry.java +1 −1 Original line number Diff line number Diff line Loading @@ -322,7 +322,7 @@ public class CustomSliceRegistry { } public static Class<? extends CustomSliceable> getSliceClassByUri(Uri uri) { return sUriToSlice.get(uri); return sUriToSlice.get(removeParameterFromUri(uri)); } public static Uri removeParameterFromUri(Uri uri) { Loading
tests/robotests/src/com/android/settings/slices/SpecialCaseSliceManagerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,9 @@ import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class SpecialCaseSliceManagerTest { private final String FAKE_PARAMETER_KEY = "fake_parameter_key"; private final String FAKE_PARAMETER_VALUE = "fake_value"; private Context mContext; @Before Loading @@ -54,6 +57,20 @@ public class SpecialCaseSliceManagerTest { assertThat(sliceable).isInstanceOf(FakeSliceable.class); } @Test public void getSliceableFromUriWithParameter_returnsCorrectObject() { final Uri parameterUri = FakeSliceable.URI .buildUpon() .clearQuery() .appendQueryParameter(FAKE_PARAMETER_KEY, FAKE_PARAMETER_VALUE) .build(); final CustomSliceable sliceable = CustomSliceable.createInstance( mContext, CustomSliceRegistry.getSliceClassByUri(parameterUri)); assertThat(sliceable).isInstanceOf(FakeSliceable.class); } @Test public void isValidUri_validUri_returnsTrue() { final boolean isValidUri = CustomSliceRegistry.isValidUri(FakeSliceable.URI); Loading