summaryrefslogtreecommitdiff
path: root/PermissionController/src/com/android/permissioncontroller/permission/service
diff options
context:
space:
mode:
authorNate Myren <ntmyren@google.com>2023-04-17 12:05:54 -0700
committerNate Myren <ntmyren@google.com>2023-04-24 13:38:41 -0700
commit31f59231a7b86e1f7a0c276b73f32d8cfe348efd (patch)
treef03dd2b0f29bdce6a7ea44a66d31d1ccf727bc0d /PermissionController/src/com/android/permissioncontroller/permission/service
parentfbf57d89135a9eb394794ddf81eed7b80a518f50 (diff)
downloadPermission-31f59231a7b86e1f7a0c276b73f32d8cfe348efd.tar.gz
Update text and icon of privacy source notifications
This brings the privacy source UX in line with the new spec. Also updatest the Safety Label Change notification to match Fixes: 275734262 Fixes: 279214752 Test: atest NotificationListenerCheckTest, LocationAccessCheckTest Change-Id: I60508d2401025bdda076a145d439b10105baa3d3
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission/service')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/LocationAccessCheck.java26
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt27
2 files changed, 20 insertions, 33 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/LocationAccessCheck.java b/PermissionController/src/com/android/permissioncontroller/permission/service/LocationAccessCheck.java
index 6af03ebfe..e21be6a05 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/LocationAccessCheck.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/LocationAccessCheck.java
@@ -94,6 +94,7 @@ import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
import android.location.LocationManager;
import android.net.Uri;
import android.os.AsyncTask;
@@ -109,7 +110,6 @@ import android.safetycenter.SafetySourceData;
import android.safetycenter.SafetySourceIssue;
import android.safetycenter.SafetySourceIssue.Action;
import android.service.notification.StatusBarNotification;
-import android.text.Html;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
@@ -672,20 +672,16 @@ public class LocationAccessCheck {
R.string.background_location_access_reminder_notification_content);
CharSequence appLabel = appName;
- int smallIconResId;
- int colorResId = android.R.color.system_notification_accent_color;
+ Icon smallIcon;
+ int color = mContext.getColor(android.R.color.system_notification_accent_color);
if (safetyCenterBgLocationReminderEnabled) {
- if (KotlinUtils.INSTANCE.shouldShowSafetyProtectionResources(mContext)) {
- appLabel = Html.fromHtml(
- mContext.getString(android.R.string.safety_protection_display_text), 0);
- smallIconResId = android.R.drawable.ic_safety_protection;
- colorResId = R.color.safety_center_info;
- } else {
- appLabel = mContext.getString(R.string.safety_center_notification_app_label);
- smallIconResId = R.drawable.ic_settings_notification;
- }
+ KotlinUtils.NotificationResources notifRes =
+ KotlinUtils.INSTANCE.getSafetyCenterNotificationResources(mContext);
+ appLabel = notifRes.getAppLabel();
+ smallIcon = notifRes.getSmallIcon();
+ color = notifRes.getColor();
} else {
- smallIconResId = R.drawable.ic_pin_drop;
+ smallIcon = Icon.createWithResource(mContext, R.drawable.ic_pin_drop);
}
Notification.Builder b = (new Notification.Builder(mContext,
@@ -694,8 +690,8 @@ public class LocationAccessCheck {
.setContentTitle(notificationTitle)
.setContentText(notificationContent)
.setStyle(new Notification.BigTextStyle().bigText(notificationContent))
- .setSmallIcon(smallIconResId)
- .setColor(mContext.getColor(colorResId))
+ .setSmallIcon(smallIcon)
+ .setColor(color)
.setDeleteIntent(createNotificationDismissIntent(pkgName, sessionId, uid))
.setContentIntent(createNotificationClickIntent(pkgName, user, sessionId, uid))
.setAutoCancel(true);
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt
index 56d6b8efa..8ada0e23c 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt
@@ -41,6 +41,7 @@ import android.provider.DeviceConfig
import android.util.Log
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
+import androidx.core.graphics.drawable.IconCompat
import com.android.permission.safetylabel.DataCategoryConstants.CATEGORY_LOCATION
import com.android.permission.safetylabel.SafetyLabel as AppMetadataSafetyLabel
import com.android.permissioncontroller.Constants.EXTRA_SESSION_ID
@@ -64,7 +65,6 @@ import com.android.permissioncontroller.permission.model.livedatatypes.AppPermGr
import com.android.permissioncontroller.permission.model.livedatatypes.AppPermGroupUiInfo.PermGrantState.PERMS_ALLOWED_FOREGROUND_ONLY
import com.android.permissioncontroller.permission.model.v34.AppDataSharingUpdate
import com.android.permissioncontroller.permission.utils.KotlinUtils
-import com.android.permissioncontroller.permission.utils.Utils
import com.android.permissioncontroller.permission.utils.Utils.getSystemServiceSafe
import com.android.permissioncontroller.safetylabel.AppsSafetyLabelHistory
import com.android.permissioncontroller.safetylabel.AppsSafetyLabelHistory.AppInfo
@@ -525,11 +525,15 @@ class SafetyLabelChangesJobService : JobService() {
val notificationManager = getSystemServiceSafe(context, NotificationManager::class.java)
createNotificationChannel(context, notificationManager)
+ val (appLabel, smallIcon, color) = KotlinUtils.getSafetyCenterNotificationResources(this)
+ val smallIconCompat = IconCompat.createFromIcon(smallIcon)
+ ?: IconCompat.createWithResource(this, R.drawable.ic_info)
val title = context.getString(R.string.safety_label_changes_notification_title)
val text = context.getString(R.string.safety_label_changes_notification_desc)
var notificationBuilder =
NotificationCompat.Builder(context, PERMISSION_REMINDER_CHANNEL_ID)
- .setSmallIcon(R.drawable.ic_info)
+ .setColor(color)
+ .setSmallIcon(smallIconCompat)
.setContentTitle(title)
.setContentText(text)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
@@ -544,22 +548,9 @@ class SafetyLabelChangesJobService : JobService() {
numberOfAppUpdates
)
)
-
- val settingsAppLabel =
- Utils.getSettingsLabelForNotifications(applicationContext.packageManager)
- if (settingsAppLabel != null) {
- notificationBuilder =
- notificationBuilder
- .setSmallIcon(R.drawable.ic_settings_24dp)
- .addExtras(
- Bundle().apply {
- putString(
- Notification.EXTRA_SUBSTITUTE_APP_NAME,
- settingsAppLabel.toString()
- )
- }
- )
- }
+ notificationBuilder.addExtras(
+ Bundle().apply { putString(Notification.EXTRA_SUBSTITUTE_APP_NAME, appLabel) }
+ )
notificationManager.notify(
SAFETY_LABEL_CHANGES_NOTIFICATION_ID,