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

Commit 2a8cc306 authored by Ioana Alexandru's avatar Ioana Alexandru
Browse files

Remove volumePanelBroadcastFix flag

Bug: 347707024
Test: builds
Flag: EXEMPT removing flagged code
Change-Id: I5ae889dc1b9f4c4effb833f5e39475faa8c7507c
parent 7c65d920
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -73,16 +73,6 @@ flag {
    }
}

flag {
    name: "volume_panel_broadcast_fix"
    namespace: "systemui"
    description: "Make the volume panel's repository listen for the new ACTION_CONSOLIDATED_NOTIFICATION_POLICY_CHANGED broadcast instead of ACTION_NOTIFICATION_POLICY_CHANGED"
    bug: "347707024"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "volume_dialog_audio_sharing_fix"
    namespace: "cross_device_experiences"
+11 −19
Original line number Diff line number Diff line
@@ -93,33 +93,23 @@ class ZenModeRepositoryImpl(
                    IntentFilter().apply {
                        addAction(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED)
                        addAction(NotificationManager.ACTION_NOTIFICATION_POLICY_CHANGED)
                        if (Flags.volumePanelBroadcastFix() && android.app.Flags.modesApi())
                        if (android.app.Flags.modesApi())
                            addAction(
                                NotificationManager.ACTION_CONSOLIDATED_NOTIFICATION_POLICY_CHANGED)
                                NotificationManager.ACTION_CONSOLIDATED_NOTIFICATION_POLICY_CHANGED
                            )
                    },
                    /* broadcastPermission = */ null,
                    /* scheduler = */ if (Flags.volumePanelBroadcastFix()) {
                        backgroundHandler
                    } else {
                        null
                    },
                    /* scheduler = */ backgroundHandler,
                )

                awaitClose { context.unregisterReceiver(receiver) }
            }
            .let {
                if (Flags.volumePanelBroadcastFix()) {
                    // Share the flow to avoid having multiple broadcasts.
                    it.flowOn(backgroundCoroutineContext)
            .flowOn(backgroundCoroutineContext)
            .shareIn(started = SharingStarted.WhileSubscribed(), scope = scope)
                } else {
                    it.shareIn(started = SharingStarted.WhileSubscribed(), scope = scope)
                }
            }
    }

    override val consolidatedNotificationPolicy: StateFlow<NotificationManager.Policy?> by lazy {
        if (Flags.volumePanelBroadcastFix() && android.app.Flags.modesApi())
        if (android.app.Flags.modesApi())
            flowFromBroadcast(NotificationManager.ACTION_CONSOLIDATED_NOTIFICATION_POLICY_CHANGED) {
                // If available, get the value from extras to avoid a potential binder call.
                it?.extras?.getParcelable(EXTRA_NOTIFICATION_POLICY)
@@ -161,11 +151,13 @@ class ZenModeRepositoryImpl(
                    contentResolver.registerContentObserver(
                        Settings.Global.getUriFor(Settings.Global.ZEN_MODE),
                        /* notifyForDescendants= */ false,
                        observer)
                        observer,
                    )
                    contentResolver.registerContentObserver(
                        Settings.Global.getUriFor(Settings.Global.ZEN_MODE_CONFIG_ETAG),
                        /* notifyForDescendants= */ false,
                        observer)
                        observer,
                    )

                    awaitClose { contentResolver.unregisterContentObserver(observer) }
                }
+2 −23
Original line number Diff line number Diff line
@@ -23,12 +23,10 @@ import android.content.Context
import android.content.Intent
import android.database.ContentObserver
import android.os.Parcelable
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.SetFlagsRule
import android.provider.Settings.Global
import androidx.test.filters.SmallTest
import com.android.settingslib.flags.Flags
import com.android.settingslib.notification.modes.TestModeBuilder
import com.android.settingslib.notification.modes.ZenMode
import com.android.settingslib.notification.modes.ZenModesBackend
@@ -93,26 +91,7 @@ class ZenModeRepositoryTest {
            )
    }

    @DisableFlags(Flags.FLAG_VOLUME_PANEL_BROADCAST_FIX)
    @Test
    fun consolidatedPolicyChanges_repositoryEmits_flagsOff() {
        testScope.runTest {
            val values = mutableListOf<NotificationManager.Policy?>()
            `when`(notificationManager.consolidatedNotificationPolicy).thenReturn(testPolicy1)
            underTest.consolidatedNotificationPolicy
                .onEach { values.add(it) }
                .launchIn(backgroundScope)
            runCurrent()

            `when`(notificationManager.consolidatedNotificationPolicy).thenReturn(testPolicy2)
            triggerIntent(NotificationManager.ACTION_NOTIFICATION_POLICY_CHANGED)
            runCurrent()

            assertThat(values).containsExactly(null, testPolicy1, testPolicy2).inOrder()
        }
    }

    @EnableFlags(android.app.Flags.FLAG_MODES_API, Flags.FLAG_VOLUME_PANEL_BROADCAST_FIX)
    @EnableFlags(android.app.Flags.FLAG_MODES_API)
    @Test
    fun consolidatedPolicyChanges_repositoryEmits_flagsOn() {
        testScope.runTest {
@@ -131,7 +110,7 @@ class ZenModeRepositoryTest {
        }
    }

    @EnableFlags(android.app.Flags.FLAG_MODES_API, Flags.FLAG_VOLUME_PANEL_BROADCAST_FIX)
    @EnableFlags(android.app.Flags.FLAG_MODES_API)
    @Test
    fun consolidatedPolicyChanges_repositoryEmitsFromExtras() {
        testScope.runTest {