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

Commit cbb9e63a authored by Ivan Tkachenko's avatar Ivan Tkachenko
Browse files

Update the notes app bubble icon

* Use shortcut widget icon for notes app in bubbles

Test: atest NoteTaskControllerTest
Bug: 275067820
Change-Id: I3b61735c61716bac6fcb650f3cf576c6e6211a06
parent 8a0f1b45
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.content.pm.ShortcutManager
import android.graphics.drawable.Icon
import android.os.Build
import android.os.UserHandle
import android.os.UserManager
@@ -187,9 +188,10 @@ constructor(
            logDebug { "onShowNoteTask - start: $info on user#${user.identifier}" }
            when (info.launchMode) {
                is NoteTaskLaunchMode.AppBubble -> {
                    // TODO: provide app bubble icon
                    val intent = createNoteTaskIntent(info)
                    bubbles.showOrHideAppBubble(intent, user, null /* icon */)
                    val icon =
                        Icon.createWithResource(context, R.drawable.ic_note_task_shortcut_widget)
                    bubbles.showOrHideAppBubble(intent, user, icon)
                    // App bubble logging happens on `onBubbleExpandChanged`.
                    logDebug { "onShowNoteTask - opened as app bubble: $info" }
                }
+9 −3
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED
import android.content.pm.ShortcutInfo
import android.content.pm.ShortcutManager
import android.content.pm.UserInfo
import android.graphics.drawable.Icon
import android.os.UserHandle
import android.os.UserManager
import androidx.test.ext.truth.content.IntentSubject.assertThat
@@ -64,7 +65,6 @@ import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Mock
import org.mockito.Mockito.doNothing
import org.mockito.Mockito.isNull
import org.mockito.Mockito.never
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
@@ -326,7 +326,8 @@ internal class NoteTaskControllerTest : SysuiTestCase() {
                entryPoint = expectedInfo.entryPoint!!,
            )

        verifyZeroInteractions(context)
        // Context package name used to create bubble icon from drawable resource id
        verify(context).packageName
        verifyNoteTaskOpenInBubbleInUser(userTracker.userHandle)
        verifyZeroInteractions(eventLogger)
    }
@@ -603,14 +604,19 @@ internal class NoteTaskControllerTest : SysuiTestCase() {

    private fun verifyNoteTaskOpenInBubbleInUser(userHandle: UserHandle) {
        val intentCaptor = argumentCaptor<Intent>()
        val iconCaptor = argumentCaptor<Icon>()
        verify(bubbles)
            .showOrHideAppBubble(capture(intentCaptor), eq(userHandle), /* icon = */ isNull())
            .showOrHideAppBubble(capture(intentCaptor), eq(userHandle), capture(iconCaptor))
        intentCaptor.value.let { intent ->
            assertThat(intent.action).isEqualTo(Intent.ACTION_CREATE_NOTE)
            assertThat(intent.`package`).isEqualTo(NOTE_TASK_PACKAGE_NAME)
            assertThat(intent.flags).isEqualTo(FLAG_ACTIVITY_NEW_TASK)
            assertThat(intent.getBooleanExtra(Intent.EXTRA_USE_STYLUS_MODE, false)).isTrue()
        }
        iconCaptor.value.let { icon ->
            assertThat(icon).isNotNull()
            assertThat(icon.resId).isEqualTo(R.drawable.ic_note_task_shortcut_widget)
        }
    }

    // region updateNoteTaskAsUser