ContentCaptureSession
public
abstract
class
ContentCaptureSession
extends Object
implements
AutoCloseable
java.lang.Object | |
↳ | android.view.contentcapture.ContentCaptureSession |
Session used when notifying the Android system about events associated with views.
Summary
Public methods | |
---|---|
final
ContentCaptureSession
|
createContentCaptureSession(ContentCaptureContext context)
Creates a new |
final
void
|
destroy()
Destroys this session, flushing out all pending notifications to the service. |
final
ContentCaptureContext
|
getContentCaptureContext()
Gets the |
final
ContentCaptureSessionId
|
getContentCaptureSessionId()
Gets the id used to identify this session. |
AutofillId
|
newAutofillId(AutofillId hostId, long virtualChildId)
Creates a new |
final
ViewStructure
|
newViewStructure(View view)
Creates a |
final
ViewStructure
|
newVirtualViewStructure(AutofillId parentId, long virtualId)
Creates a |
final
void
|
notifySessionPaused()
Notifies the Content Capture Service that a session has paused. |
final
void
|
notifySessionResumed()
Notifies the Content Capture Service that a session has resumed. |
final
void
|
notifyViewAppeared(ViewStructure node)
Notifies the Content Capture Service that a node has been added to the view structure. |
final
void
|
notifyViewDisappeared(AutofillId id)
Notifies the Content Capture Service that a node has been removed from the view structure. |
final
void
|
notifyViewInsetsChanged(Insets viewInsets)
Notifies the Intelligence Service that the insets of a view have changed. |
final
void
|
notifyViewTextChanged(AutofillId id, CharSequence text)
Notifies the Intelligence Service that the value of a text node has been changed. |
final
void
|
notifyViewsAppeared(List<ViewStructure> appearedNodes)
Notifies the Content Capture Service that a list of nodes has appeared in the view structure. |
final
void
|
notifyViewsDisappeared(AutofillId hostId, long[] virtualIds)
Notifies the Content Capture Service that many nodes has been removed from a virtual view structure. |
final
void
|
setContentCaptureContext(ContentCaptureContext context)
Sets the |
String
|
toString()
Returns a string representation of the object. |
Inherited methods | |
---|---|
Public methods
createContentCaptureSession
public final ContentCaptureSession createContentCaptureSession (ContentCaptureContext context)
Creates a new ContentCaptureSession
.
See View#setContentCaptureSession(ContentCaptureSession)
for more info.
Parameters | |
---|---|
context |
ContentCaptureContext : This value cannot be null . |
Returns | |
---|---|
ContentCaptureSession |
This value cannot be null . |
destroy
public final void destroy ()
Destroys this session, flushing out all pending notifications to the service.
Once destroyed, any new notification will be dropped.
getContentCaptureContext
public final ContentCaptureContext getContentCaptureContext ()
Gets the ContentCaptureContext
associated with the session.
Returns | |
---|---|
ContentCaptureContext |
context set on constructor or by
setContentCaptureContext(android.view.contentcapture.ContentCaptureContext) , or null if never
explicitly set. |
getContentCaptureSessionId
public final ContentCaptureSessionId getContentCaptureSessionId ()
Gets the id used to identify this session.
Returns | |
---|---|
ContentCaptureSessionId |
This value cannot be null . |
newAutofillId
public AutofillId newAutofillId (AutofillId hostId, long virtualChildId)
Creates a new AutofillId
for a virtual child, so it can be used to uniquely identify
the children in the session.
Parameters | |
---|---|
hostId |
AutofillId : id of the non-virtual view hosting the virtual view hierarchy (it can be
obtained by calling ViewStructure#getAutofillId() ).
This value cannot be null . |
virtualChildId |
long : id of the virtual child, relative to the parent. |
Returns | |
---|---|
AutofillId |
if for the virtual child
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the parentId is a virtual child id. |
newViewStructure
public final ViewStructure newViewStructure (View view)
Creates a ViewStructure
for a "standard" view.
This method should be called after a visible view is laid out; the view then must populate
the structure and pass it to notifyViewAppeared(android.view.ViewStructure)
.
Note: views that manage a virtual structure under this view must populate just the
node representing this view and return right away, then asynchronously report (not
necessarily in the UI thread) when the children nodes appear, disappear or have their text
changed by calling ContentCaptureSession#notifyViewAppeared(ViewStructure)
,
ContentCaptureSession#notifyViewDisappeared(AutofillId)
, and
ContentCaptureSession#notifyViewTextChanged(AutofillId, CharSequence)
respectively.
The structure for the a child must be created using
ContentCaptureSession#newVirtualViewStructure(AutofillId, long)
, and the
autofillId
for a child can be obtained either through
childStructure.getAutofillId()
or
ContentCaptureSession#newAutofillId(AutofillId, long)
.
When the virtual view hierarchy represents a web page, you should also:
- Call
ContentCaptureManager#getContentCaptureConditions()
to infer content capture events should be generate for that URL. - Create a new
ContentCaptureSession
child for every HTML element that renders a new URL (like anIFRAME
) and use that session to notify events from that subtree.
Note: the following methods of the structure
will be ignored:
ViewStructure#setChildCount(int)
ViewStructure#addChildCount(int)
ViewStructure#getChildCount()
ViewStructure#newChild(int)
ViewStructure#asyncNewChild(int)
ViewStructure#asyncCommit()
ViewStructure#setWebDomain(String)
ViewStructure#newHtmlInfoBuilder(String)
ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)
ViewStructure#setDataIsSensitive(boolean)
ViewStructure#setAlpha(float)
ViewStructure#setElevation(float)
ViewStructure#setTransformation(android.graphics.Matrix)
Parameters | |
---|---|
view |
View : This value cannot be null . |
Returns | |
---|---|
ViewStructure |
This value cannot be null . |
newVirtualViewStructure
public final ViewStructure newVirtualViewStructure (AutofillId parentId, long virtualId)
Creates a ViewStructure
for a "virtual" view, so it can be passed to
notifyViewAppeared(android.view.ViewStructure)
by the view managing the virtual view hierarchy.
Parameters | |
---|---|
parentId |
AutofillId : id of the virtual view parent (it can be obtained by calling
ViewStructure#getAutofillId() on the parent).
This value cannot be null . |
virtualId |
long : id of the virtual child, relative to the parent. |
Returns | |
---|---|
ViewStructure |
a new ViewStructure that can be used for Content Capture purposes.
This value cannot be null . |
notifySessionPaused
public final void notifySessionPaused ()
Notifies the Content Capture Service that a session has paused.
notifySessionResumed
public final void notifySessionResumed ()
Notifies the Content Capture Service that a session has resumed.
notifyViewAppeared
public final void notifyViewAppeared (ViewStructure node)
Notifies the Content Capture Service that a node has been added to the view structure.
Typically called "manually" by views that handle their own virtual view hierarchy, or
automatically by the Android System for views that return true
on
View#onProvideContentCaptureStructure(ViewStructure, int)
.
Consider use notifyViewsAppeared(List)
which has a better performance when notifying
a list of nodes has appeared.
Parameters | |
---|---|
node |
ViewStructure : node that has been added.
This value cannot be null . |
notifyViewDisappeared
public final void notifyViewDisappeared (AutofillId id)
Notifies the Content Capture Service that a node has been removed from the view structure.
Typically called "manually" by views that handle their own virtual view hierarchy, or automatically by the Android System for standard views.
Consider use notifyViewsDisappeared(AutofillId, long)
which has a better performance when notifying
a list of nodes has disappeared.
Parameters | |
---|---|
id |
AutofillId : id of the node that has been removed.
This value cannot be null . |
notifyViewInsetsChanged
public final void notifyViewInsetsChanged (Insets viewInsets)
Notifies the Intelligence Service that the insets of a view have changed.
Parameters | |
---|---|
viewInsets |
Insets : This value cannot be null . |
notifyViewTextChanged
public final void notifyViewTextChanged (AutofillId id, CharSequence text)
Notifies the Intelligence Service that the value of a text node has been changed.
Parameters | |
---|---|
id |
AutofillId : of the node.
This value cannot be null . |
text |
CharSequence : new text.
This value may be null . |
notifyViewsAppeared
public final void notifyViewsAppeared (List<ViewStructure> appearedNodes)
Notifies the Content Capture Service that a list of nodes has appeared in the view structure.
Typically called manually by views that handle their own virtual view hierarchy.
Parameters | |
---|---|
appearedNodes |
List : nodes that have appeared. Each element represents a view node that has
been added to the view structure. The order of the elements is important, which should be
preserved as the attached order of when the node is attached to the virtual view hierarchy.
This value cannot be null . |
notifyViewsDisappeared
public final void notifyViewsDisappeared (AutofillId hostId, long[] virtualIds)
Notifies the Content Capture Service that many nodes has been removed from a virtual view structure.
Should only be called by views that handle their own virtual view hierarchy.
After UPSIDE_DOWN_CAKE, this method wraps the virtual children with a pair of view tree appearing and view tree appeared events.
Parameters | |
---|---|
hostId |
AutofillId : id of the non-virtual view hosting the virtual view hierarchy (it can be
obtained by calling ViewStructure#getAutofillId() ).
This value cannot be null . |
virtualIds |
long : ids of the virtual children.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the hostId is an autofill id for a virtual view. |
IllegalArgumentException |
if virtualIds is empty |
setContentCaptureContext
public final void setContentCaptureContext (ContentCaptureContext context)
Sets the ContentCaptureContext
associated with the session.
Typically used to change the context associated with the default session from an activity.
Parameters | |
---|---|
context |
ContentCaptureContext : This value may be null . |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
a string representation of the object. |