From 9b1ed6b0e644fa4abf0b637ea12209e83a3fd1ff Mon Sep 17 00:00:00 2001 From: paulhu Date: Sun, 11 Oct 2020 22:52:27 +0800 Subject: [PATCH] Replace PendingIntent @hide APIs Connectivity service module is using some PendingIntent @hide APIs but they are not able to call after CS becomes a mainline module. Thus, replace them with similar System APIs. Bug: 170593746 Test: atest FrameworksNetTests Manually test notifications can show normally. Change-Id: I92ab7216f5fd46d449b6d8f80d3441f8966ac890 --- .../core/java/com/android/server/ConnectivityService.java | 8 +++----- .../com/android/server/connectivity/LingerMonitor.java | 8 +++++--- .../core/java/com/android/server/connectivity/Vpn.java | 5 +++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 8a1baf25481b3..7729cf2036681 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3998,13 +3998,11 @@ public class ConnectivityService extends IConnectivityManager.Stub settingsPkgName + ".wifi.WifiNoInternetDialog"); } - PendingIntent pendingIntent = PendingIntent.getActivityAsUser( - mContext, + PendingIntent pendingIntent = PendingIntent.getActivity( + mContext.createContextAsUser(UserHandle.CURRENT, 0 /* flags */), 0 /* requestCode */, intent, - PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE, - null /* options */, - UserHandle.CURRENT); + PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); mNotifier.showNotification(nai.network.netId, type, nai, null, pendingIntent, highPriority); } diff --git a/services/core/java/com/android/server/connectivity/LingerMonitor.java b/services/core/java/com/android/server/connectivity/LingerMonitor.java index 7fdc7a0a524fa..f99f4c65594bc 100644 --- a/services/core/java/com/android/server/connectivity/LingerMonitor.java +++ b/services/core/java/com/android/server/connectivity/LingerMonitor.java @@ -159,9 +159,11 @@ public class LingerMonitor { @VisibleForTesting protected PendingIntent createNotificationIntent() { - return PendingIntent.getActivityAsUser(mContext, 0 /* requestCode */, CELLULAR_SETTINGS, - PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE, - null /* options */, UserHandle.CURRENT); + return PendingIntent.getActivity( + mContext.createContextAsUser(UserHandle.CURRENT, 0 /* flags */), + 0 /* requestCode */, + CELLULAR_SETTINGS, + PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); } // Removes any notification that was put up as a result of switching to nai. diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index 9817abfec4bdb..73b4e272cc7c3 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -1960,8 +1960,9 @@ public class Vpn { */ public PendingIntent pendingIntentGetActivityAsUser( Intent intent, int flags, UserHandle user) { - return PendingIntent.getActivityAsUser(mContext, 0 /*request*/, intent, flags, - null /*options*/, user); + return PendingIntent.getActivity( + mContext.createContextAsUser(user, 0 /* flags */), 0 /* requestCode */, + intent, flags); } /**