Package zendesk.core

Interface ActionHandler



  • public interface ActionHandler
    Defines a handler for an inter-SDK action, such as one SDK starting another one, without either SDK having a dependency on the other. An example of this would be a hypothetical Help Center SDK starting the "create ticket" screen of the Support SDK. In order to properly separate SDKs from each other, handlers will work on "action Strings". Similar to Android's Intent system, multiple SDKs can be capable of handling the same action String. For example, a "contact us" action can be handled by Support, Chat, Voice, Message, etc. In the event that more than one ActionHandler has been registered for the same actionString, the getPriority() method can be used to determine which one to call handle on.
    • Method Detail

      • canHandle

        boolean canHandle(java.lang.String actionName)
        Determines whether or not the ActionHandler object can handle the given action String.
        Parameters:
        actionName - the action String to check against.
        Returns:
        true if the action String can be handled, false if it can't.
      • handle

        void handle(java.util.Map<java.lang.String,java.lang.Object> data,
                    Context context)
        Invokes an action on the given action String. This is expected to be the starting of an Activity, hence the Context parameter. This method can be called before init for a given SDK is performed so you need to check if any SDK's called here are initialised before any action takes place.
        Parameters:
        data - an optional map of key-value pairs for the ActionHandler to use in handling the action.
        context - the Context to use in invoking the action, such as starting an Activity.
      • getPriority

        int getPriority()
        Returns the priority of the ActionHandler. The higher the number, the higher the priority.
        Returns:
        the priority of the ActionHandler.
      • getActionDescription

        ActionDescription getActionDescription()
        Returns:
        a description for this action.