From 861ad6f20d3a060aa4337138b256b8f56881a07e Mon Sep 17 00:00:00 2001 From: Nate Jiang Date: Tue, 21 Jul 2020 17:19:53 -0700 Subject: Update IMSI protection notification flow Bug: 161932419 Test: atest com.android.server.wifi Merged-In: I8be7c1b9e66162fdd244946b47367290116a7747 Change-Id: I8be7c1b9e66162fdd244946b47367290116a7747 --- .../android/server/wifi/WifiCarrierInfoManager.java | 18 ++++++++++++++---- service/res/values/strings.xml | 6 +++--- 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'service') diff --git a/service/java/com/android/server/wifi/WifiCarrierInfoManager.java b/service/java/com/android/server/wifi/WifiCarrierInfoManager.java index d483047d2..79441dae5 100644 --- a/service/java/com/android/server/wifi/WifiCarrierInfoManager.java +++ b/service/java/com/android/server/wifi/WifiCarrierInfoManager.java @@ -96,6 +96,10 @@ public class WifiCarrierInfoManager { @VisibleForTesting public static final String NOTIFICATION_USER_DISMISSED_INTENT_ACTION = "com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED"; + /** Intent when user clicked on the notification. */ + @VisibleForTesting + public static final String NOTIFICATION_USER_CLICKED_INTENT_ACTION = + "com.android.server.wifi.action.CarrierNetwork.USER_CLICKED"; @VisibleForTesting public static final String EXTRA_CARRIER_NAME = "com.android.server.wifi.extra.CarrierNetwork.CARRIER_NAME"; @@ -223,14 +227,16 @@ public class WifiCarrierInfoManager { switch (intent.getAction()) { case NOTIFICATION_USER_ALLOWED_CARRIER_INTENT_ACTION: - Log.i(TAG, "User clicked to allow carrier"); - sendImsiPrivacyConfirmationDialog(carrierName, carrierId); - // Collapse the notification bar - mContext.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)); + handleUserAllowCarrierExemptionAction(carrierName, carrierId); break; case NOTIFICATION_USER_DISALLOWED_CARRIER_INTENT_ACTION: handleUserDisallowCarrierExemptionAction(carrierName, carrierId); break; + case NOTIFICATION_USER_CLICKED_INTENT_ACTION: + sendImsiPrivacyConfirmationDialog(carrierName, carrierId); + // Collapse the notification bar + mContext.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)); + break; case NOTIFICATION_USER_DISMISSED_INTENT_ACTION: handleUserDismissAction(); return; // no need to cancel a dismissed notification, return. @@ -297,6 +303,7 @@ public class WifiCarrierInfoManager { mIntentFilter.addAction(NOTIFICATION_USER_DISMISSED_INTENT_ACTION); mIntentFilter.addAction(NOTIFICATION_USER_ALLOWED_CARRIER_INTENT_ACTION); mIntentFilter.addAction(NOTIFICATION_USER_DISALLOWED_CARRIER_INTENT_ACTION); + mIntentFilter.addAction(NOTIFICATION_USER_CLICKED_INTENT_ACTION); mContext.registerReceiver(mBroadcastReceiver, mIntentFilter, null, handler); configStore.registerStoreData(wifiInjector.makeImsiProtectionExemptionStoreData( @@ -1448,6 +1455,9 @@ public class WifiCarrierInfoManager { .setStyle(new Notification.BigTextStyle() .bigText(mResources.getString( R.string.wifi_suggestion_imsi_privacy_content))) + .setContentIntent(getPrivateBroadcast(NOTIFICATION_USER_CLICKED_INTENT_ACTION, + Pair.create(EXTRA_CARRIER_NAME, carrierName), + Pair.create(EXTRA_CARRIER_ID, carrierId))) .setDeleteIntent(getPrivateBroadcast(NOTIFICATION_USER_DISMISSED_INTENT_ACTION, Pair.create(EXTRA_CARRIER_NAME, carrierName), Pair.create(EXTRA_CARRIER_ID, carrierId))) diff --git a/service/res/values/strings.xml b/service/res/values/strings.xml index 441ecca15..ae3f1977b 100644 --- a/service/res/values/strings.xml +++ b/service/res/values/strings.xml @@ -49,11 +49,11 @@ No thanks - %s wants to auto\u2011connect + Connect to %s Wi\u2011Fi? - These networks receive a unique ID that can be used to track device location + These networks receive a SIM ID that can be used to track device location - Connect anyway + Connect Don\u0027t connect -- cgit v1.2.3