diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java index 777534e72d736..13358daf05a15 100644 --- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java +++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java @@ -47,6 +47,21 @@ public final class SystemUiDeviceConfigFlags { */ public static final String NAS_MAX_SUGGESTIONS = "nas_max_suggestions"; + /** + * Whether the Notification Assistant can change ranking. + */ + public static final String ENABLE_NAS_RANKING = "enable_nas_ranking"; + + /** + * Whether the Notification Assistant can prioritize notification. + */ + public static final String ENABLE_NAS_PRIORITIZER = "enable_nas_prioritizer"; + + /** + * Whether to enable feedback UI for Notification Assistant + */ + public static final String ENABLE_NAS_FEEDBACK = "enable_nas_feedback"; + // Flags related to screenshot intelligence /** diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index f48bc78d8d981..d3d998acd39cc 100755 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -2274,10 +2274,24 @@ public class NotificationManagerService extends SystemService { if (!DeviceConfig.NAMESPACE_SYSTEMUI.equals(properties.getNamespace())) { return; } - if (properties.getKeyset() - .contains(SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE)) { - mAssistants.allowAdjustmentType(Adjustment.KEY_IMPORTANCE); - mAssistants.resetDefaultAssistantsIfNecessary(); + for (String name : properties.getKeyset()) { + if (SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE.equals(name)) { + mAssistants.resetDefaultAssistantsIfNecessary(); + } else if (SystemUiDeviceConfigFlags.ENABLE_NAS_PRIORITIZER.equals(name)) { + String value = properties.getString(name, null); + if ("true".equals(value)) { + mAssistants.allowAdjustmentType(Adjustment.KEY_IMPORTANCE); + } else if ("false".equals(value)) { + mAssistants.disallowAdjustmentType(Adjustment.KEY_IMPORTANCE); + } + } else if (SystemUiDeviceConfigFlags.ENABLE_NAS_RANKING.equals(name)) { + String value = properties.getString(name, null); + if ("true".equals(value)) { + mAssistants.allowAdjustmentType(Adjustment.KEY_RANKING_SCORE); + } else if ("false".equals(value)) { + mAssistants.disallowAdjustmentType(Adjustment.KEY_RANKING_SCORE); + } + } } }; DeviceConfig.addOnPropertiesChangedListener(