Enum IntentSource

java.lang.Object
java.lang.Enum<IntentSource>
com.codename1.intents.IntentSource
All Implemented Interfaces:
Comparable<IntentSource>

public enum IntentSource extends Enum<IntentSource>

Where an intent invocation came from.

Handlers should rarely branch on this -- an intent that behaves differently depending on who asked is a bug waiting to happen -- but it is useful for analytics, for tailoring the spoken line, and for deciding how much detail a snippet should carry.

  • Enum Constant Details

    • VOICE

      public static final IntentSource VOICE

      A voice assistant, where the platform says so.

      iOS does not: an App Intent's perform() is not told whether Siri, the Shortcuts app or a home-screen App Shortcut ran it, so all three arrive as UNKNOWN rather than one of them claiming to be Siri. Do not write a branch that expects this on a device; the simulator can still produce it, which is how the path is exercised.

    • SPOTLIGHT

      public static final IntentSource SPOTLIGHT
      The user tapped an item this app published through Intents.index(List).
    • SHORTCUT

      public static final IntentSource SHORTCUT
      A shortcut the user placed or the system suggested: the Shortcuts app, an iOS App Shortcut, or an Android launcher shortcut.
    • WIDGET

      public static final IntentSource WIDGET
      A button on a home-screen widget or live activity bound to this intent.
    • IN_APP

      public static final IntentSource IN_APP
      An in-app call to Intents.invoke(String, Map), including the simulator's Intents window.
    • MODEL

      public static final IntentSource MODEL
      A language model calling the intent as a tool, through the projection Intents.asTools() exposes.
    • UNKNOWN

      public static final IntentSource UNKNOWN

      The platform did not say, or the source is one this version does not model.

      This is the ordinary case for an iOS App Intent, which is invoked by Siri, the Shortcuts app or an App Shortcut without disclosing which -- so it is not a rare fallback and carries no implication that the app is on screen. Take it as exactly what it says: the source is unknown. Anything that needs to be certain should be true for every source.

  • Method Details

    • values

      public static IntentSource[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static IntentSource valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null