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

Commit 9f63d674 authored by András Kurucz's avatar András Kurucz
Browse files

Remove the SysUI flag ALLOW_DISMISS_ONGOING

Remove SystemUiSystemPropertiesFlags.ALLOW_DISMISS_ONGOING and cleanup
the old code path, that it disabled.

Test: atest SystemUITests NotificationManagerServiceTest
Fixes: 291760826
Change-Id: I417585c42b13fb637e2f1af34666585f0652ee77
parent c707afc7
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -66,10 +66,6 @@ public class SystemUiSystemPropertiesFlags {
        public static final Flag SHOW_STICKY_HUN_FOR_DENIED_FSI =
                releasedFlag("persist.sysui.notification.show_sticky_hun_for_denied_fsi");

        /** Gating the ability for users to dismiss ongoing event notifications */
        public static final Flag ALLOW_DISMISS_ONGOING =
                releasedFlag("persist.sysui.notification.ongoing_dismissal");

        /** Gating the redaction of OTP notifications on the lockscreen */
        public static final Flag OTP_REDACTION =
                devFlag("persist.sysui.notification.otp_redaction");
+1 −7
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.systemui.statusbar.notification

import com.android.internal.config.sysui.SystemUiSystemPropertiesFlags.FlagResolver
import com.android.internal.config.sysui.SystemUiSystemPropertiesFlags.NotificationFlags
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import javax.inject.Inject
@@ -25,12 +23,8 @@ import javax.inject.Inject
class NotifPipelineFlags
@Inject
constructor(
    private val featureFlags: FeatureFlags,
    private val sysPropFlags: FlagResolver,
    private val featureFlags: FeatureFlags
) {
    fun isDevLoggingEnabled(): Boolean =
        featureFlags.isEnabled(Flags.NOTIFICATION_PIPELINE_DEVELOPER_LOGGING)

    fun allowDismissOngoing(): Boolean =
        sysPropFlags.isEnabled(NotificationFlags.ALLOW_DISMISS_ONGOING)
}
+0 −22
Original line number Diff line number Diff line
@@ -791,28 +791,6 @@ public final class NotificationEntry extends ListEntry {
        return !mSbn.isOngoing() || !isLocked;
    }

    /**
     * @return Can the underlying notification be individually dismissed?
     * @see #canViewBeDismissed()
     */
    // TODO: This logic doesn't belong on NotificationEntry. It should be moved to a controller
    // that can be added as a dependency to any class that needs to answer this question.
    public boolean legacyIsDismissableRecursive() {
        if  (mSbn.isOngoing()) {
            return false;
        }
        List<NotificationEntry> children = getAttachedNotifChildren();
        if (children != null && children.size() > 0) {
            for (int i = 0; i < children.size(); i++) {
                NotificationEntry child =  children.get(i);
                if (child.getSbn().isOngoing()) {
                    return false;
                }
            }
        }
        return true;
    }

    public boolean canViewBeDismissed() {
        if (row == null) return true;
        return row.canViewBeDismissed();
+2 −9
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import androidx.annotation.VisibleForTesting
import com.android.systemui.Dumpable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dump.DumpManager
import com.android.systemui.statusbar.notification.NotifPipelineFlags
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.util.asIndenting
import com.android.systemui.util.withIncreasedIndent
@@ -28,9 +27,7 @@ import java.io.PrintWriter
import javax.inject.Inject

@SysUISingleton
class NotificationDismissibilityProviderImpl
@Inject
constructor(private val notifPipelineFlags: NotifPipelineFlags, dumpManager: DumpManager) :
class NotificationDismissibilityProviderImpl @Inject constructor(dumpManager: DumpManager) :
    NotificationDismissibilityProvider, Dumpable {

    init {
@@ -43,11 +40,7 @@ constructor(private val notifPipelineFlags: NotifPipelineFlags, dumpManager: Dum
        private set

    override fun isDismissable(entry: NotificationEntry): Boolean {
        return if (notifPipelineFlags.allowDismissOngoing()) {
            entry.key !in nonDismissableEntryKeys
        } else {
            entry.legacyIsDismissableRecursive()
        }
        return entry.key !in nonDismissableEntryKeys
    }

    @Synchronized
+3 −7
Original line number Diff line number Diff line
@@ -621,13 +621,9 @@ public class BubblesManager {
    }

    private boolean isDismissableFromBubbles(NotificationEntry e) {
        if (mNotifPipelineFlags.allowDismissOngoing()) {
        // Bubbles are only accessible from the unlocked state,
        // so we can calculate this from the Notification flags only.
        return e.isDismissableForState(/*isLocked=*/ false);
        } else {
            return e.legacyIsDismissableRecursive();
        }
    }

    private boolean shouldBubbleUp(NotificationEntry e) {
Loading