public interface

OutgoingEngagementRequest

implements EngagementRequest
com.glia.androidsdk.OutgoingEngagementRequest

Class Overview

Provides ability to view state and cancel Engagement Request initiated by Visitor side.

Engagement Request automatically times out if it is not accepted or declined by the Operator within specified time frame.

If the request was successfully accepted then a respective ENGAGEMENT event is triggered with an instance of Engagement.

You can subscribe to on(EngagementRequestEvent, Consumer) with the OUTCOME event to get notified of Engagement request result.

Summary

Public Methods
abstract void cancel()
Cancels Visitor's Engagement Request.
abstract void cancel(Consumer<GliaException> callback)
Cancels Visitor's Engagement Request.
abstract String getId()
Returns Engagement Request unique ID
abstract Optional<EngagementRequest.Outcome> getOutcome()
Return Engagement request Optional EngagementRequest.Outcome which is one of EngagementRequest.Outcome values.
abstract void off(EngagementRequestEvent<? super Void> event, Runnable listener)
Removes event listeners from the Engagement Request.
abstract <T> void off(EngagementRequestEvent<T> event, Consumer<T> listener)
Removes event listeners from the Engagement Request.
abstract <T> void on(EngagementRequestEvent<T> event, Consumer<T> listener)
Registers event listeners for Engagement Request.
abstract void on(EngagementRequestEvent<? super Void> event, Runnable listener)
Registers event listeners for Engagement Request.
[Expand]
Inherited Methods
From interface com.glia.androidsdk.EngagementRequest

Public Methods

public abstract void cancel ()

Cancels Visitor's Engagement Request.

Has the same behavior as cancel(Consumer) but doesn't notify of request result or errors.

public abstract void cancel (Consumer<GliaException> callback)

Cancels Visitor's Engagement Request.

Behaves the same as if cancelEngagementRequest(String, Consumer) was called with this Engagement request ID value.

Parameters
callback Called with null if request succeeds or with GliaException if failed. Exception may have one of following causes:
NETWORK_TIMEOUT - when request times out due to connection issues
INTERNAL_ERROR - when internal error occurs

public abstract String getId ()

Returns Engagement Request unique ID

public abstract Optional<EngagementRequest.Outcome> getOutcome ()

Return Engagement request Optional EngagementRequest.Outcome which is one of EngagementRequest.Outcome values. If outcome is still undefined then it will return empty()

public abstract void off (EngagementRequestEvent<? super Void> event, Runnable listener)

Removes event listeners from the Engagement Request.

If an event listener is removed while the Engagement Request is processing an event, it is not triggered with the current event.

Calling off with arguments which do not identify any currently registered listener has no effect.

Parameters
event One of EngagementRequest.Events
listener Event listener to remove

public abstract void off (EngagementRequestEvent<T> event, Consumer<T> listener)

Removes event listeners from the Engagement Request.

If an event listener is removed while the Engagement Request is processing an event, it is not triggered with the current event.

Calling off with arguments which do not identify any currently registered listener has no effect.

Parameters
event One of EngagementRequest.Events
listener Event listener to remove

public abstract void on (EngagementRequestEvent<T> event, Consumer<T> listener)

Registers event listeners for Engagement Request.

If a listener is added while the Engagement Request is processing an event, it is not triggered with the current event.

If multiple identical listeners are registered on the same event type the duplicate instances are discarded. They do not cause the listener to be called twice and do not need to be removed with the off(EngagementRequest.EngagementRequestEvent, Runnable) method.

Parameters
event One of EngagementRequest.Events
listener Event listener to register

public abstract void on (EngagementRequestEvent<? super Void> event, Runnable listener)

Registers event listeners for Engagement Request.

If a listener is added while the Engagement Request is processing an event, it is not triggered with the current event.

If multiple identical listeners are registered on the same event type the duplicate instances are discarded. They do not cause the listener to be called twice and do not need to be removed with the off(EngagementRequest.EngagementRequestEvent, Runnable) method.

Compared to on(EngagementRequestEvent, Consumer) this method does not require the listener to consumer the payload. This is useful when payload is of type Void.

Parameters
event One of EngagementRequest.Events
listener Event listener to register