Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b7571ab authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Remove parameter from uri when get slice"

parents df22ef20 9e787374
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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) {
+17 −0
Original line number Diff line number Diff line
@@ -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
@@ -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);