summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/values/strings.xml3
-rw-r--r--packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt16
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt13
3 files changed, 26 insertions, 6 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 74ae954a539c..19deefbc4198 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -3086,4 +3086,7 @@
<!-- Content description for when assistant attention is active [CHAR LIMIT=NONE] -->
<string name="assistant_attention_content_description">Assistant attention on</string>
+
+ <!--- Content of toast triggered when the notes app entry point is triggered without setting a default notes app. [CHAR LIMIT=NONE] -->
+ <string name="set_default_notes_app_toast_content">Set default notes app in Settings</string>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt b/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt
index 9513801f0985..5f4e7cac4452 100644
--- a/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt
+++ b/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt
@@ -34,7 +34,9 @@ import android.os.Build
import android.os.UserHandle
import android.os.UserManager
import android.util.Log
+import android.widget.Toast
import androidx.annotation.VisibleForTesting
+import com.android.systemui.R
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.devicepolicy.areKeyguardShortcutsDisabled
import com.android.systemui.notetask.NoteTaskRoleManagerExt.createNoteShortcutInfoAsUser
@@ -170,7 +172,13 @@ constructor(
return
}
- val info = resolver.resolveInfo(entryPoint, isKeyguardLocked) ?: return
+ val info = resolver.resolveInfo(entryPoint, isKeyguardLocked)
+
+ if (info == null) {
+ logDebug { "Default notes app isn't set" }
+ showNoDefaultNotesAppToast()
+ return
+ }
infoReference.set(info)
@@ -207,6 +215,12 @@ constructor(
logDebug { "onShowNoteTask - completed: $info" }
}
+ @VisibleForTesting
+ fun showNoDefaultNotesAppToast() {
+ Toast.makeText(context, R.string.set_default_notes_app_toast_content, Toast.LENGTH_SHORT)
+ .show()
+ }
+
/**
* Set `android:enabled` property in the `AndroidManifest` associated with the Shortcut
* component to [value].
diff --git a/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt
index 5e7394aee98c..22a5b21f71ce 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt
@@ -63,8 +63,10 @@ import org.junit.Test
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
import org.mockito.Mockito.verifyZeroInteractions
import org.mockito.MockitoAnnotations
@@ -109,6 +111,7 @@ internal class NoteTaskControllerTest : SysuiTestCase() {
.thenReturn(listOf(NOTE_TASK_PACKAGE_NAME))
whenever(activityManager.getRunningTasks(anyInt())).thenReturn(emptyList())
whenever(userManager.isManagedProfile(workUserInfo.id)).thenReturn(true)
+ whenever(context.resources).thenReturn(getContext().resources)
}
private fun createNoteTaskController(
@@ -339,14 +342,14 @@ internal class NoteTaskControllerTest : SysuiTestCase() {
}
@Test
- fun showNoteTask_intentResolverReturnsNull_shouldDoNothing() {
+ fun showNoteTask_intentResolverReturnsNull_shouldShowToast() {
whenever(resolver.resolveInfo(any(), any())).thenReturn(null)
+ val noteTaskController = spy(createNoteTaskController())
+ doNothing().whenever(noteTaskController).showNoDefaultNotesAppToast()
- createNoteTaskController()
- .showNoteTask(
- entryPoint = NoteTaskEntryPoint.TAIL_BUTTON,
- )
+ noteTaskController.showNoteTask(entryPoint = NoteTaskEntryPoint.TAIL_BUTTON)
+ verify(noteTaskController).showNoDefaultNotesAppToast()
verifyZeroInteractions(context, bubbles, eventLogger)
}