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

Commit 6278f30a authored by Julia Reynolds's avatar Julia Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Migrate AmbientState to EntryAdapter" into main

parents 9d606163 17444d41
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -16,16 +16,22 @@

package com.android.systemui.statusbar.notification.stack

import android.app.Notification
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.FlagsParameterization
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.DisableSceneContainer
import com.android.systemui.flags.andSceneContainer
import com.android.systemui.res.R
import com.android.systemui.shade.transition.LargeScreenShadeInterpolator
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository
import com.android.systemui.statusbar.notification.headsup.AvalancheController
import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.whenever
@@ -33,6 +39,7 @@ import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyString
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters

@@ -389,6 +396,36 @@ class AmbientStateTest(flags: FlagsParameterization) : SysuiTestCase() {
        assertThat(sut.isClosing).isFalse()
    }
    // endregion

    // region isPulsing
    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    fun isPulsing_key() {
        whenever(headsupRepository.isHeadsUpEntry(anyString())).thenReturn(true);
        sut.isPulsing = true
        assertThat(sut.isPulsing("key")).isTrue()

        whenever(headsupRepository.isHeadsUpEntry(anyString())).thenReturn(false);
        sut.isPulsing = true
        assertThat(sut.isPulsing("key")).isFalse()
    }

    @Test
    @DisableFlags(NotificationBundleUi.FLAG_NAME)
    fun isPulsing_entry() {
        val notification: Notification =
            Notification.Builder(mContext, "").setSmallIcon(R.drawable.ic_person).build()
        val entry = NotificationEntryBuilder().setNotification(notification).build()

        sut.isPulsing = true
        entry.setIsHeadsUpEntry(true)
        assertThat(sut.isPulsing(entry)).isTrue()

        sut.isPulsing = true
        entry.setIsHeadsUpEntry(false)
        assertThat(sut.isPulsing(entry)).isFalse()
    }
    // endregion
}

// region Arrange helper methods.
+10 −4
Original line number Diff line number Diff line
@@ -696,10 +696,13 @@ public class AmbientState implements Dumpable {
        return mPulsing;
    }

    public boolean isPulsing(String entryKey) {
        boolean isHeadsUp = mHeadsUpRepository.isHeadsUpEntry(entryKey);
        return mPulsing && isHeadsUp;
    }

    public boolean isPulsing(NotificationEntry entry) {
        boolean isHeadsUp = NotificationBundleUi.isEnabled()
                ? mHeadsUpRepository.isHeadsUpEntry(entry.getKey())
                : entry.isHeadsUpEntry();
        boolean isHeadsUp = entry.isHeadsUpEntry();
        return mPulsing && isHeadsUp;
    }

@@ -750,7 +753,10 @@ public class AmbientState implements Dumpable {
     * @return whether a row is dozing and not pulsing right now
     */
    public boolean isDozingAndNotPulsing(ExpandableNotificationRow row) {
        return isDozing() && !isPulsing(row.getEntry());
        boolean isPulsing = NotificationBundleUi.isEnabled()
                ? isPulsing(row.getKey())
                : isPulsing(row.getEntryLegacy());
        return isDozing() && !isPulsing;
    }

    /**