Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ef056c36 authored by Lyn Han's avatar Lyn Han Committed by Android (Google) Code Review
Browse files

Merge "Add Flags.DISABLE_FSI" into tm-qpr-dev

parents 286074d5 66e55649
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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)

+6 −0
Original line number Diff line number Diff line
@@ -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)
    }
+4 −0
Original line number Diff line number Diff line
@@ -30,6 +30,10 @@ public interface NotificationInterruptStateProvider {
     * the full screen intent should or shouldn't launch.
     */
    enum FullScreenIntentDecision {
        /**
         * Full screen intents are disabled.
         */
        NO_FSI_DISABLED(false),
        /**
         * No full screen intent included, so there is nothing to show.
         */
+6 −0
Original line number Diff line number Diff line
@@ -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: