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

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

Merge "Adding null check when unregistering slice relay handler" into qt-dev

parents 095ab6c3 a21570c7
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -59,7 +59,10 @@ public class SliceBroadcastRelayHandler extends SystemUI {
        } else if (SliceBroadcastRelay.ACTION_UNREGISTER.equals(intent.getAction())) {
            Uri uri = intent.getParcelableExtra(SliceBroadcastRelay.EXTRA_URI);
            if (DEBUG) Log.d(TAG, "Unregister " + uri);
            getAndRemoveRelay(uri).unregister(mContext);
            BroadcastRelay relay = getAndRemoveRelay(uri);
            if (relay != null) {
                relay.unregister(mContext);
            }
        }
    }

+16 −0
Original line number Diff line number Diff line
@@ -94,6 +94,22 @@ public class SliceBroadcastRelayHandlerTest extends SysuiTestCase {
        verify(relayHandler.mContext).unregisterReceiver(eq(relay.getValue()));
    }

    @Test
    public void testUnregisterWithoutRegister() {
        Uri testUri = new Uri.Builder()
                .scheme(ContentResolver.SCHEME_CONTENT)
                .authority("something")
                .path("test")
                .build();
        SliceBroadcastRelayHandler relayHandler = new SliceBroadcastRelayHandler();
        relayHandler.mContext = spy(mContext);

        Intent intent = new Intent(SliceBroadcastRelay.ACTION_UNREGISTER);
        intent.putExtra(SliceBroadcastRelay.EXTRA_URI, ContentProvider.maybeAddUserId(testUri, 0));
        relayHandler.handleIntent(intent);
        // No crash
    }

    @Test
    public void testRelay() {
        Receiver.sReceiver = mock(BroadcastReceiver.class);