From 47804de69b7ca8820e0e84daf399a3ec0e53b284 Mon Sep 17 00:00:00 2001 From: paulhu Date: Mon, 23 Nov 2020 10:42:00 +0800 Subject: [PATCH] Add a mutability flag to the PendingIntent From S, it's required to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE when creating a PendingIntent. Thus, add a mutability flag to the PendingIntent in ConnectivityServiceTest that doesn't specify it before. Bug: 173157160 Test: atest FrameworksNetTests Change-Id: I755c53b90d709dfbac576dc076722476c3edee35 --- .../server/ConnectivityServiceTest.java | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index c917e66ea4..b6d5f1875b 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -18,6 +18,7 @@ package com.android.server; import static android.Manifest.permission.CHANGE_NETWORK_STATE; import static android.Manifest.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS; +import static android.app.PendingIntent.FLAG_IMMUTABLE; import static android.content.Intent.ACTION_USER_ADDED; import static android.content.Intent.ACTION_USER_REMOVED; import static android.content.pm.PackageInfo.REQUESTED_PERMISSION_GRANTED; @@ -2515,7 +2516,8 @@ public class ConnectivityServiceTest { @Test public void testNoMutableNetworkRequests() throws Exception { - PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, new Intent("a"), 0); + final PendingIntent pendingIntent = PendingIntent.getBroadcast( + mContext, 0 /* requestCode */, new Intent("a"), FLAG_IMMUTABLE); NetworkRequest request1 = new NetworkRequest.Builder() .addCapability(NET_CAPABILITY_VALIDATED) .build(); @@ -3177,7 +3179,7 @@ public class ConnectivityServiceTest { assertThrows(SecurityException.class, () -> mCm.registerNetworkCallback(r, PendingIntent.getService( - mServiceContext, 0, new Intent(), 0))); + mServiceContext, 0 /* requestCode */, new Intent(), FLAG_IMMUTABLE))); // Requesting a Network with signal strength should get IllegalArgumentException. assertThrows(IllegalArgumentException.class, () -> @@ -3185,7 +3187,7 @@ public class ConnectivityServiceTest { assertThrows(IllegalArgumentException.class, () -> mCm.requestNetwork(r, PendingIntent.getService( - mServiceContext, 0, new Intent(), 0))); + mServiceContext, 0 /* requestCode */, new Intent(), FLAG_IMMUTABLE))); } @Test @@ -4649,12 +4651,14 @@ public class ConnectivityServiceTest { } j = 0; while (j++ < INTENTS / 2) { - PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, new Intent("a" + j), 0); + final PendingIntent pi = PendingIntent.getBroadcast(mContext, 0 /* requestCode */, + new Intent("a" + j), FLAG_IMMUTABLE); mCm.requestNetwork(networkRequest, pi); registered.add(pi); } while (j++ < INTENTS) { - PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, new Intent("b" + j), 0); + final PendingIntent pi = PendingIntent.getBroadcast(mContext, 0 /* requestCode */, + new Intent("b" + j), FLAG_IMMUTABLE); mCm.registerNetworkCallback(networkRequest, pi); registered.add(pi); } @@ -4668,11 +4672,13 @@ public class ConnectivityServiceTest { ); assertThrows(TooManyRequestsException.class, () -> mCm.requestNetwork(networkRequest, - PendingIntent.getBroadcast(mContext, 0, new Intent("c"), 0)) + PendingIntent.getBroadcast(mContext, 0 /* requestCode */, + new Intent("c"), FLAG_IMMUTABLE)) ); assertThrows(TooManyRequestsException.class, () -> mCm.registerNetworkCallback(networkRequest, - PendingIntent.getBroadcast(mContext, 0, new Intent("d"), 0)) + PendingIntent.getBroadcast(mContext, 0 /* requestCode */, + new Intent("d"), FLAG_IMMUTABLE)) ); for (Object o : registered) { @@ -4701,16 +4707,16 @@ public class ConnectivityServiceTest { waitForIdle(); for (int i = 0; i < MAX_REQUESTS; i++) { - PendingIntent pendingIntent = - PendingIntent.getBroadcast(mContext, 0, new Intent("e" + i), 0); + final PendingIntent pendingIntent = PendingIntent.getBroadcast( + mContext, 0 /* requestCode */, new Intent("e" + i), FLAG_IMMUTABLE); mCm.requestNetwork(networkRequest, pendingIntent); mCm.unregisterNetworkCallback(pendingIntent); } waitForIdle(); for (int i = 0; i < MAX_REQUESTS; i++) { - PendingIntent pendingIntent = - PendingIntent.getBroadcast(mContext, 0, new Intent("f" + i), 0); + final PendingIntent pendingIntent = PendingIntent.getBroadcast( + mContext, 0 /* requestCode */, new Intent("f" + i), FLAG_IMMUTABLE); mCm.registerNetworkCallback(networkRequest, pendingIntent); mCm.unregisterNetworkCallback(pendingIntent); }