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

Commit f0c2178c authored by Sunny Goyal's avatar Sunny Goyal Committed by android-build-merger
Browse files

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

am: 29fe1106

Change-Id: Ic406c2e0b8e07e1812713e1b4e5b7b5a7b7ac17f
parents 848ed58b 29fe1106
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);