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

Commit cf0e3692 authored by Ashwini Oruganti's avatar Ashwini Oruganti
Browse files

ConnectivityServiceTest: Mark unaudited PendingIntents with FLAG_MUTABLE_UNAUDITED

These PIs need an explicit mutability flag. This temporay flag is being
used to mark these points in code and should be replaced ASAP.
See go/immutable-pendingintents for more context.

Bug: 160794467
Test: TH
Exempt-From-Owner-Approval: noop change
Change-Id: I963d0d737ecbd8ad07577f2fe93ba178419e7a5e
parent cd909771
Loading
Loading
Loading
Loading
+28 −9
Original line number Diff line number Diff line
@@ -2529,7 +2529,10 @@ public class ConnectivityServiceTest {

    @Test
    public void testNoMutableNetworkRequests() throws Exception {
        PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, new Intent("a"), 0);
        // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
        // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
        PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, new Intent("a"),
                PendingIntent.FLAG_MUTABLE_UNAUDITED);
        NetworkRequest request1 = new NetworkRequest.Builder()
                .addCapability(NET_CAPABILITY_VALIDATED)
                .build();
@@ -3189,17 +3192,21 @@ public class ConnectivityServiceTest {
        assertThrows(SecurityException.class, () ->
                mCm.registerNetworkCallback(r, new NetworkCallback()));

        // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
        // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
        assertThrows(SecurityException.class, () ->
                mCm.registerNetworkCallback(r, PendingIntent.getService(
                        mServiceContext, 0, new Intent(), 0)));
                        mServiceContext, 0, new Intent(), PendingIntent.FLAG_MUTABLE_UNAUDITED)));

        // Requesting a Network with signal strength should get IllegalArgumentException.
        assertThrows(IllegalArgumentException.class, () ->
                mCm.requestNetwork(r, new NetworkCallback()));

        // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
        // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
        assertThrows(IllegalArgumentException.class, () ->
                mCm.requestNetwork(r, PendingIntent.getService(
                        mServiceContext, 0, new Intent(), 0)));
                        mServiceContext, 0, new Intent(), PendingIntent.FLAG_MUTABLE_UNAUDITED)));
    }

    @Test
@@ -4663,12 +4670,16 @@ public class ConnectivityServiceTest {
        }
        j = 0;
        while (j++ < INTENTS / 2) {
            PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, new Intent("a" + j), 0);
            // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
            // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
            PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, new Intent("a" + j), PendingIntent.FLAG_MUTABLE_UNAUDITED);
            mCm.requestNetwork(networkRequest, pi);
            registered.add(pi);
        }
        while (j++ < INTENTS) {
            PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, new Intent("b" + j), 0);
            // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
            // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
            PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, new Intent("b" + j), PendingIntent.FLAG_MUTABLE_UNAUDITED);
            mCm.registerNetworkCallback(networkRequest, pi);
            registered.add(pi);
        }
@@ -4682,11 +4693,15 @@ public class ConnectivityServiceTest {
        );
        assertThrows(TooManyRequestsException.class, () ->
                mCm.requestNetwork(networkRequest,
                        PendingIntent.getBroadcast(mContext, 0, new Intent("c"), 0))
                        // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
                        // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
                        PendingIntent.getBroadcast(mContext, 0, new Intent("c"), PendingIntent.FLAG_MUTABLE_UNAUDITED))
        );
        assertThrows(TooManyRequestsException.class, () ->
                mCm.registerNetworkCallback(networkRequest,
                        PendingIntent.getBroadcast(mContext, 0, new Intent("d"), 0))
                        // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
                        // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
                        PendingIntent.getBroadcast(mContext, 0, new Intent("d"), PendingIntent.FLAG_MUTABLE_UNAUDITED))
        );

        for (Object o : registered) {
@@ -4715,16 +4730,20 @@ public class ConnectivityServiceTest {
        waitForIdle();

        for (int i = 0; i < MAX_REQUESTS; i++) {
            // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
            // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
            PendingIntent pendingIntent =
                    PendingIntent.getBroadcast(mContext, 0, new Intent("e" + i), 0);
                    PendingIntent.getBroadcast(mContext, 0, new Intent("e" + i), PendingIntent.FLAG_MUTABLE_UNAUDITED);
            mCm.requestNetwork(networkRequest, pendingIntent);
            mCm.unregisterNetworkCallback(pendingIntent);
        }
        waitForIdle();

        for (int i = 0; i < MAX_REQUESTS; i++) {
            // TODO(b/173157160) Please replace FLAG_MUTABLE_UNAUDITED below
            // with either FLAG_IMMUTABLE (recommended) or FLAG_MUTABLE.
            PendingIntent pendingIntent =
                    PendingIntent.getBroadcast(mContext, 0, new Intent("f" + i), 0);
                    PendingIntent.getBroadcast(mContext, 0, new Intent("f" + i), PendingIntent.FLAG_MUTABLE_UNAUDITED);
            mCm.registerNetworkCallback(networkRequest, pendingIntent);
            mCm.unregisterNetworkCallback(pendingIntent);
        }