diff options
| author | 2023-01-19 19:55:19 +0000 | |
|---|---|---|
| committer | 2023-01-19 19:55:19 +0000 | |
| commit | ef056c366d19629522d0c45630ea32a245b64f8a (patch) | |
| tree | 7d569b2e2431f72152c56697f551f85aa648fa70 | |
| parent | 286074d5cfc5af254b0febe3dd565c1d278587a8 (diff) | |
| parent | 66e556491198b285c051b27bb0f71770fe666eb4 (diff) | |
Merge "Add Flags.DISABLE_FSI" into tm-qpr-dev
4 files changed, 20 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 606c45273a5e..563ded0e583d 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -64,6 +64,10 @@ object Flags { // TODO(b/259130119): Tracking Bug val FSI_ON_DND_UPDATE = unreleasedFlag(259130119, "fsi_on_dnd_update", teamfood = true) + // TODO(b/265804648): Tracking Bug + @JvmField + val DISABLE_FSI = unreleasedFlag(265804648, "disable_fsi") + // TODO(b/254512538): Tracking Bug val INSTANT_VOICE_REPLY = unreleasedFlag(111, "instant_voice_reply", teamfood = true) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt index 05a9a427870e..635ed7c16140 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt @@ -25,6 +25,10 @@ class NotifPipelineFlags @Inject constructor( val context: Context, val featureFlags: FeatureFlags ) { + init { + featureFlags.addListener(Flags.DISABLE_FSI) { event -> event.requestNoRestart() } + } + fun isDevLoggingEnabled(): Boolean = featureFlags.isEnabled(Flags.NOTIFICATION_PIPELINE_DEVELOPER_LOGGING) @@ -35,6 +39,8 @@ class NotifPipelineFlags @Inject constructor( fun fsiOnDNDUpdate(): Boolean = featureFlags.isEnabled(Flags.FSI_ON_DND_UPDATE) + fun disableFsi(): Boolean = featureFlags.isEnabled(Flags.DISABLE_FSI) + val shouldFilterUnseenNotifsOnKeyguard: Boolean by lazy { featureFlags.isEnabled(Flags.FILTER_UNSEEN_NOTIFS_ON_KEYGUARD) } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java index 7136cad22c16..bc881ce36341 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java @@ -31,6 +31,10 @@ public interface NotificationInterruptStateProvider { */ enum FullScreenIntentDecision { /** + * Full screen intents are disabled. + */ + NO_FSI_DISABLED(false), + /** * No full screen intent included, so there is nothing to show. */ NO_FULL_SCREEN_INTENT(false), diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java index d9dacfd0e27c..77d3d88936cd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java @@ -236,6 +236,9 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter @Override public FullScreenIntentDecision getFullScreenIntentDecision(NotificationEntry entry) { + if (mFlags.disableFsi()) { + return FullScreenIntentDecision.NO_FSI_DISABLED; + } if (entry.getSbn().getNotification().fullScreenIntent == null) { return FullScreenIntentDecision.NO_FULL_SCREEN_INTENT; } @@ -325,6 +328,9 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter final int uid = entry.getSbn().getUid(); final String packageName = entry.getSbn().getPackageName(); switch (decision) { + case NO_FSI_DISABLED: + mLogger.logNoFullscreen(entry, "Disabled"); + return; case NO_FULL_SCREEN_INTENT: return; case NO_FSI_SUPPRESSED_BY_DND: |