VisualizerViewAction


public final class VisualizerViewAction
extends Object implements Parcelable

java.lang.Object
   ↳ android.service.personalcontext.embedded.VisualizerViewAction


Class representing interactive actions attached to a view in a visualization generated in InsightVisualizerSession.createRemoteViewsForHints.

Visualizers wanting to add interactivity to the RemoteViews they produced must use this class. Multiple actions can be run on a single interaction using the Builder. Actions can be attached to the UI with attach(Context, RemoteViews, int, VisualizerViewAction, VisualizerViewAction) or by directly attaching the intent generated from createIntent(VisualizerViewAction, VisualizerViewAction) to a view using RemoteViews.setOnClickResponse.

Summary

Nested classes

class VisualizerViewAction.Builder

Builder for creating VisualizerViewAction instances. 

Inherited constants

Fields

public static final Creator<VisualizerViewAction> CREATOR

Public methods

static void attach(Context context, RemoteViews remoteViews, int viewId, VisualizerViewAction onClickAction, VisualizerViewAction onLongClickAction)

Attaches the specified short-click and/or long-click actions to the target view inside a RemoteViews hierarchy.

static Intent createIntent(VisualizerViewAction onClickAction, VisualizerViewAction onLongClickAction)

Converts the specified actions into an Intent intended for use with RemoteViews.setOnClickPendingIntent(int,PendingIntent).

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

ContextInsight getAttributionInsight()

Returns the ContextInsight configured to report an attribution event when triggered, or null if this action does not perform attribution.

ContextInsight getEgressInsight()

Returns the ContextInsight configured to be egressed to the client app when triggered, or null if this action does not perform egress.

FeedbackRequest getFeedbackRequest()

Returns the FeedbackRequest configured to be provided to the feedback activity when triggered, or null if this action does not perform feedback.

boolean shouldCloseSessionOnTriggered()

Returns whether triggering this action will end the visualization session, causing the visualization to stop displaying.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

Added in version 37.2
public static final Creator<VisualizerViewAction> CREATOR

Public methods

attach

Added in version 37.2
public static void attach (Context context, 
                RemoteViews remoteViews, 
                int viewId, 
                VisualizerViewAction onClickAction, 
                VisualizerViewAction onLongClickAction)

Attaches the specified short-click and/or long-click actions to the target view inside a RemoteViews hierarchy.

Parameters
context Context: The Context used to create the underlying PendingIntent.
This value cannot be null.

remoteViews RemoteViews: The RemoteViews hierarchy containing the target view.
This value cannot be null.

viewId int: The resource ID of the view that should trigger these actions when clicked.

onClickAction VisualizerViewAction: The action to execute when the target view is clicked, or null if none.

onLongClickAction VisualizerViewAction: The action to execute when the target view is long-pressed, or null if none.

Throws
IllegalArgumentException if both onClickAction and onLongClickAction are null.

createIntent

Added in version 37.2
public static Intent createIntent (VisualizerViewAction onClickAction, 
                VisualizerViewAction onLongClickAction)

Converts the specified actions into an Intent intended for use with RemoteViews.setOnClickPendingIntent(int,PendingIntent).

Parameters
onClickAction VisualizerViewAction: The action to execute when the target view is clicked, or null if none.

onLongClickAction VisualizerViewAction: The action to execute when the target view is long-pressed, or null if none.

Returns
Intent An Intent containing the actions parceled as extras.
This value cannot be null.

Throws
IllegalArgumentException if both onClickAction and onLongClickAction are null.

describeContents

Added in version 37.2
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.
Value is either 0 or

getAttributionInsight

Added in version 37.2
public ContextInsight getAttributionInsight ()

Returns the ContextInsight configured to report an attribution event when triggered, or null if this action does not perform attribution.

Returns
ContextInsight

getEgressInsight

Added in version 37.2
public ContextInsight getEgressInsight ()

Returns the ContextInsight configured to be egressed to the client app when triggered, or null if this action does not perform egress.

Returns
ContextInsight

getFeedbackRequest

Added in version 37.2
public FeedbackRequest getFeedbackRequest ()

Returns the FeedbackRequest configured to be provided to the feedback activity when triggered, or null if this action does not perform feedback.

When the feedback activity is launched, this FeedbackRequest is delivered as a Parcelable extra under ERROR(/android.service.personalcontext.PersonalContextManager#EXTRA_FEEDBACK_REQUEST).

Returns
FeedbackRequest

shouldCloseSessionOnTriggered

Added in version 37.2
public boolean shouldCloseSessionOnTriggered ()

Returns whether triggering this action will end the visualization session, causing the visualization to stop displaying.

The visualizer session will receive the InsightVisualizerSession.close(int) callback when this action is triggered.

Returns
boolean

writeToParcel

Added in version 37.2
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE.
Value is either 0 or a combination of the following: