ViewStructure
public
abstract
class
ViewStructure
extends Object
java.lang.Object | |
↳ | android.view.ViewStructure |
ViewStructure
is a container for storing additional
per-view data generated by View.onProvideStructure
and View.onProvideAutofillStructure
.
To learn more about using Autofill in your app, read the Autofill Framework guides.
Summary
Nested classes | |
---|---|
class |
ViewStructure.HtmlInfo
Simplified representation of the HTML properties of a node that represents an HTML element. |
Public constructors | |
---|---|
ViewStructure()
|
Public methods | |
---|---|
abstract
int
|
addChildCount(int num)
Add to this view's child count. |
abstract
void
|
asyncCommit()
Call when done populating a |
abstract
ViewStructure
|
asyncNewChild(int index)
Like |
void
|
clearCredentialManagerRequest()
Clears the credential request previously set through
|
abstract
AutofillId
|
getAutofillId()
Gets the |
abstract
int
|
getChildCount()
Return the child count as set by |
abstract
Bundle
|
getExtras()
Get extra data associated with this view structure; the returned Bundle is mutable, allowing you to view and modify its contents. |
abstract
CharSequence
|
getHint()
Retrieve the last hint set by |
OutcomeReceiver<GetCredentialResponse, GetCredentialException>
|
getPendingCredentialCallback()
Gets the |
GetCredentialRequest
|
getPendingCredentialRequest()
Gets the |
abstract
CharSequence
|
getText()
Retrieve the last |
abstract
int
|
getTextSelectionEnd()
Retrieve the last selection end set by |
abstract
int
|
getTextSelectionStart()
Retrieve the last selection start set by |
abstract
boolean
|
hasExtras()
Returns true if |
abstract
ViewStructure
|
newChild(int index)
Create a new child |
abstract
ViewStructure.HtmlInfo.Builder
|
newHtmlInfoBuilder(String tagName)
Creates a new |
abstract
void
|
setAccessibilityFocused(boolean state)
Set the accessibility focused state of this view, as per
|
abstract
void
|
setActivated(boolean state)
Set the activated state of this view, as per |
abstract
void
|
setAlpha(float alpha)
Set an alpha transformation that is applied to this view, as per
|
abstract
void
|
setAutofillHints(String[] hint)
Sets the a hints that helps the autofill service to select the appropriate data to fill the view. |
abstract
void
|
setAutofillId(AutofillId id)
Sets the |
abstract
void
|
setAutofillId(AutofillId parentId, int virtualId)
Sets the |
abstract
void
|
setAutofillOptions(CharSequence[] options)
Sets the options that can be used to autofill this node. |
abstract
void
|
setAutofillType(int type)
Sets the |
abstract
void
|
setAutofillValue(AutofillValue value)
Sets the |
abstract
void
|
setCheckable(boolean state)
Set the checkable state of this view, such as whether it implements the
|
abstract
void
|
setChecked(boolean state)
Set the checked state of this view, such as
|
abstract
void
|
setChildCount(int num)
Set the number of children of this view, which defines the range of indices you can
use with |
abstract
void
|
setClassName(String className)
Set the class name of the view, as per
|
abstract
void
|
setClickable(boolean state)
Set the clickable state of this view, as per |
abstract
void
|
setContentDescription(CharSequence contentDescription)
Set the content description of the view, as per
|
abstract
void
|
setContextClickable(boolean state)
Set the context clickable state of this view, as per
|
abstract
void
|
setDataIsSensitive(boolean sensitive)
Sets whether the data on this node is sensitive; if it is, then its content (text, autofill
value, etc..) is striped before calls to |
abstract
void
|
setDimens(int left, int top, int scrollX, int scrollY, int width, int height)
Set the basic dimensions of this view. |
abstract
void
|
setElevation(float elevation)
Set the visual elevation (shadow) of the view, as per
|
abstract
void
|
setEnabled(boolean state)
Set the enabled state of this view, as per |
abstract
void
|
setFocusable(boolean state)
Set the focusable state of this view, as per |
abstract
void
|
setFocused(boolean state)
Set the focused state of this view, as per |
abstract
void
|
setHint(CharSequence hint)
Set optional hint text associated with this view; this is for example the text that is shown by an EditText when it is empty to indicate to the user the kind of text to input. |
void
|
setHintIdEntry(String entryName)
Sets the identifier used to set the hint associated with this view. |
abstract
void
|
setHtmlInfo(ViewStructure.HtmlInfo htmlInfo)
Sets the HTML properties of this node when it represents an HTML element. |
abstract
void
|
setId(int id, String packageName, String typeName, String entryName)
Set the identifier for this view. |
void
|
setImportantForAutofill(int mode)
Sets the |
abstract
void
|
setInputType(int inputType)
Sets the |
abstract
void
|
setLocaleList(LocaleList localeList)
Sets the the list of locales associated with this node. |
abstract
void
|
setLongClickable(boolean state)
Set the long clickable state of this view, as per
|
void
|
setMaxTextEms(int maxEms)
Sets the maximum width in ems of the text associated with this view, when supported. |
void
|
setMaxTextLength(int maxLength)
Sets the maximum length of the text associated with this view, when supported. |
void
|
setMinTextEms(int minEms)
Sets the minimum width in ems of the text associated with this view, when supported. |
abstract
void
|
setOpaque(boolean opaque)
Set the opaque state of this view, as per |
void
|
setPendingCredentialRequest(GetCredentialRequest request, OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback)
Sets a credential request to be fired to |
void
|
setReceiveContentMimeTypes(String[] mimeTypes)
Sets the MIME types accepted by this view. |
abstract
void
|
setSelected(boolean state)
Set the selected state of this view, as per |
abstract
void
|
setText(CharSequence text)
Set the text that is associated with this view. |
abstract
void
|
setText(CharSequence text, int selectionStart, int selectionEnd)
Like |
void
|
setTextIdEntry(String entryName)
Sets the identifier used to set the text associated with this view. |
abstract
void
|
setTextLines(int[] charOffsets, int[] baselines)
Set line information for test that was previously supplied through
|
abstract
void
|
setTextStyle(float size, int fgColor, int bgColor, int style)
Explicitly set default global style information for text that was previously set with
|
abstract
void
|
setTransformation(Matrix matrix)
Set the transformation matrix associated with this view, as per
|
abstract
void
|
setVisibility(int visibility)
Set the visibility state of this view, as per
|
abstract
void
|
setWebDomain(String domain)
Sets the Web domain represented by this node. |
Inherited methods | |
---|---|
Public constructors
ViewStructure
public ViewStructure ()
Public methods
addChildCount
public abstract int addChildCount (int num)
Add to this view's child count. This increases the current child count by
num children beyond what was last set by setChildCount(int)
or addChildCount(int)
. The index at which the new
child starts in the child
array is returned.
Parameters | |
---|---|
num |
int : The number of new children to add. |
Returns | |
---|---|
int |
Returns the index in the child array at which the new children start. |
asyncCommit
public abstract void asyncCommit ()
Call when done populating a ViewStructure
returned by
asyncNewChild(int)
.
asyncNewChild
public abstract ViewStructure asyncNewChild (int index)
Like newChild(int)
, but allows the caller to asynchronously populate the returned
child. It can transfer the returned ViewStructure
to another thread for it
to build its content (and children etc). Once done, some thread must call
asyncCommit()
to tell the containing ViewStructure
that the async
population is done.
NOTE: you must pre-allocate space for the child first, by calling either
addChildCount(int)
or setChildCount(int)
.
Parameters | |
---|---|
index |
int |
Returns | |
---|---|
ViewStructure |
Returns an fresh ViewStructure ready to be filled in. |
clearCredentialManagerRequest
public void clearCredentialManagerRequest ()
Clears the credential request previously set through
ViewStructure#setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver)
getAutofillId
public abstract AutofillId getAutofillId ()
Gets the AutofillId
associated with this node.
Returns | |
---|---|
AutofillId |
This value may be null . |
getChildCount
public abstract int getChildCount ()
Return the child count as set by setChildCount(int)
.
Returns | |
---|---|
int |
getExtras
public abstract Bundle getExtras ()
Get extra data associated with this view structure; the returned Bundle is mutable, allowing you to view and modify its contents. Keys placed in the Bundle should use an appropriate namespace prefix (such as com.google.MY_KEY) to avoid conflicts.
Returns | |
---|---|
Bundle |
getHint
public abstract CharSequence getHint ()
Retrieve the last hint set by setHint(CharSequence)
.
Returns | |
---|---|
CharSequence |
getPendingCredentialCallback
public OutcomeReceiver<GetCredentialResponse, GetCredentialException> getPendingCredentialCallback ()
Gets the callback
associated with this node.
If null, no callback or request is associated with this node, and hence no
CredentialManager
request will be fired when this
node is focused.
For details on how a request and callback can be set, see
ViewStructure#setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver)
Returns | |
---|---|
OutcomeReceiver<GetCredentialResponse, GetCredentialException> |
getPendingCredentialRequest
public GetCredentialRequest getPendingCredentialRequest ()
Gets the GetCredentialRequest
associated with this node.
If null, no request is associated with this node, and hence no
CredentialManager
request will be fired when this
node is focused.
For details on how a request and callback can be set, see
ViewStructure#setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver)
Returns | |
---|---|
GetCredentialRequest |
getText
public abstract CharSequence getText ()
Retrieve the last setText(java.lang.CharSequence)
.
Returns | |
---|---|
CharSequence |
getTextSelectionEnd
public abstract int getTextSelectionEnd ()
Retrieve the last selection end set by setText(java.lang.CharSequence, int, int)
.
Returns | |
---|---|
int |
getTextSelectionStart
public abstract int getTextSelectionStart ()
Retrieve the last selection start set by setText(java.lang.CharSequence, int, int)
.
Returns | |
---|---|
int |
hasExtras
public abstract boolean hasExtras ()
Returns true if getExtras()
has been used to create extra content.
Returns | |
---|---|
boolean |
newChild
public abstract ViewStructure newChild (int index)
Create a new child ViewStructure
in this view, putting into the list of
children at index.
NOTE: you must pre-allocate space for the child first, by calling either
addChildCount(int)
or setChildCount(int)
.
Parameters | |
---|---|
index |
int |
Returns | |
---|---|
ViewStructure |
Returns an fresh ViewStructure ready to be filled in. |
newHtmlInfoBuilder
public abstract ViewStructure.HtmlInfo.Builder newHtmlInfoBuilder (String tagName)
Creates a new HtmlInfo.Builder
for the given HTML tag.
Parameters | |
---|---|
tagName |
String : name of the HTML tag.
This value cannot be null . |
Returns | |
---|---|
ViewStructure.HtmlInfo.Builder |
a new builder. |
setAccessibilityFocused
public abstract void setAccessibilityFocused (boolean state)
Set the accessibility focused state of this view, as per
View.isAccessibilityFocused()
.
Parameters | |
---|---|
state |
boolean |
setActivated
public abstract void setActivated (boolean state)
Set the activated state of this view, as per View.isActivated()
.
Parameters | |
---|---|
state |
boolean |
setAlpha
public abstract void setAlpha (float alpha)
Set an alpha transformation that is applied to this view, as per
View.getAlpha()
. Value ranges from 0
(completely transparent) to 1 (completely opaque); the default is 1, which means
no transformation.
Parameters | |
---|---|
alpha |
float |
setAutofillHints
public abstract void setAutofillHints (String[] hint)
Sets the a hints that helps the autofill service to select the appropriate data to fill the view.
Parameters | |
---|---|
hint |
String : This value may be null . |
setAutofillId
public abstract void setAutofillId (AutofillId id)
Sets the AutofillId
associated with this node.
Parameters | |
---|---|
id |
AutofillId : This value cannot be null . |
setAutofillId
public abstract void setAutofillId (AutofillId parentId, int virtualId)
Sets the AutofillId
for this virtual node.
Parameters | |
---|---|
parentId |
AutofillId : id of the parent node.
This value cannot be null . |
virtualId |
int : an opaque ID to the Android System; it's the same id used on
View#autofill(android.util.SparseArray) . |
setAutofillOptions
public abstract void setAutofillOptions (CharSequence[] options)
Sets the options that can be used to autofill this node.
Typically used by nodes whose View#getAutofillType()
is a list to indicate the
meaning of each possible value in the list.
Parameters | |
---|---|
options |
CharSequence |
setAutofillType
public abstract void setAutofillType (int type)
Sets the View#getAutofillType()
that can be used to autofill this node.
Parameters | |
---|---|
type |
int : Value is View.AUTOFILL_TYPE_NONE , View.AUTOFILL_TYPE_TEXT , View.AUTOFILL_TYPE_TOGGLE , View.AUTOFILL_TYPE_LIST , or View.AUTOFILL_TYPE_DATE |
setAutofillValue
public abstract void setAutofillValue (AutofillValue value)
Sets the AutofillValue
representing the current value of this node.
Parameters | |
---|---|
value |
AutofillValue |
setCheckable
public abstract void setCheckable (boolean state)
Set the checkable state of this view, such as whether it implements the
Checkable
interface.
Parameters | |
---|---|
state |
boolean |
setChecked
public abstract void setChecked (boolean state)
Set the checked state of this view, such as
Checkable.isChecked()
.
Parameters | |
---|---|
state |
boolean |
setChildCount
public abstract void setChildCount (int num)
Set the number of children of this view, which defines the range of indices you can
use with newChild(int)
and asyncNewChild(int)
. Calling this method again
resets all of the child state of the view, removing any children that had previously
been added.
Parameters | |
---|---|
num |
int |
setClassName
public abstract void setClassName (String className)
Set the class name of the view, as per
View.getAccessibilityClassName()
.
Parameters | |
---|---|
className |
String |
setClickable
public abstract void setClickable (boolean state)
Set the clickable state of this view, as per View.isClickable()
.
Parameters | |
---|---|
state |
boolean |
setContentDescription
public abstract void setContentDescription (CharSequence contentDescription)
Set the content description of the view, as per
View.getContentDescription()
.
Parameters | |
---|---|
contentDescription |
CharSequence |
setContextClickable
public abstract void setContextClickable (boolean state)
Set the context clickable state of this view, as per
View.isContextClickable()
.
Parameters | |
---|---|
state |
boolean |
setDataIsSensitive
public abstract void setDataIsSensitive (boolean sensitive)
Sets whether the data on this node is sensitive; if it is, then its content (text, autofill
value, etc..) is striped before calls to AutofillService.onFillRequest(android.service.autofill.FillRequest, android.os.CancellationSignal, android.service.autofill.FillCallback)
.
By default, all nodes are assumed to be sensitive, and only nodes that does not have PII (Personally Identifiable Information - sensitive data such as email addresses, credit card numbers, passwords, etc...) should be marked as non-sensitive; a good rule of thumb is to mark as non-sensitive nodes whose value were statically set from resources.
Notice that the content of even sensitive nodes are sent to the service (through the
AutofillService.onSaveRequest(android.service.autofill.SaveRequest, android.service.autofill.SaveCallback)
call) when the user consented to save
thedata, so it is important to set the content of sensitive nodes as well, but mark them as
sensitive.
Should only be set when the node is used for autofill purposes - it will be ignored when used for Assist.
Parameters | |
---|---|
sensitive |
boolean |
setDimens
public abstract void setDimens (int left, int top, int scrollX, int scrollY, int width, int height)
Set the basic dimensions of this view.
Parameters | |
---|---|
left |
int : The view's left position, in pixels relative to its parent's left edge. |
top |
int : The view's top position, in pixels relative to its parent's top edge. |
scrollX |
int : How much the view's x coordinate space has been scrolled, in pixels. |
scrollY |
int : How much the view's y coordinate space has been scrolled, in pixels. |
width |
int : The view's visible width, in pixels. This is the width visible on screen,
not the total data width of a scrollable view. |
height |
int : The view's visible height, in pixels. This is the height visible on
screen, not the total data height of a scrollable view. |
setElevation
public abstract void setElevation (float elevation)
Set the visual elevation (shadow) of the view, as per
View.getZ()
. Note this is not related
to the physical Z-ordering of this view relative to its other siblings (that is how
they overlap when drawing), it is only the visual representation for shadowing.
Parameters | |
---|---|
elevation |
float |
setEnabled
public abstract void setEnabled (boolean state)
Set the enabled state of this view, as per View.isEnabled()
.
Parameters | |
---|---|
state |
boolean |
setFocusable
public abstract void setFocusable (boolean state)
Set the focusable state of this view, as per View.isFocusable()
.
Parameters | |
---|---|
state |
boolean |
setFocused
public abstract void setFocused (boolean state)
Set the focused state of this view, as per View.isFocused()
.
Parameters | |
---|---|
state |
boolean |
setHint
public abstract void setHint (CharSequence hint)
Set optional hint text associated with this view; this is for example the text that is shown by an EditText when it is empty to indicate to the user the kind of text to input.
Parameters | |
---|---|
hint |
CharSequence |
setHintIdEntry
public void setHintIdEntry (String entryName)
Sets the identifier used to set the hint associated with this view.
Used as metadata for fingerprinting view nodes/structures.
Should only be set when the node is used for autofill purposes - it will be ignored when used for Assist.
Parameters | |
---|---|
entryName |
String : This value cannot be null . |
setHtmlInfo
public abstract void setHtmlInfo (ViewStructure.HtmlInfo htmlInfo)
Sets the HTML properties of this node when it represents an HTML element.
Should only be set when the node is used for autofill purposes - it will be ignored when used for assist.
Parameters | |
---|---|
htmlInfo |
ViewStructure.HtmlInfo : HTML properties.
This value cannot be null . |
setId
public abstract void setId (int id, String packageName, String typeName, String entryName)
Set the identifier for this view.
Parameters | |
---|---|
id |
int : The view's identifier, as per View.getId() . |
packageName |
String : The package name of the view's identifier, or null if there is none. |
typeName |
String : The type name of the view's identifier, or null if there is none. |
entryName |
String : The entry name of the view's identifier, or null if there is none. |
setImportantForAutofill
public void setImportantForAutofill (int mode)
Sets the importantForAutofill mode
of the
view associated with this node.
setInputType
public abstract void setInputType (int inputType)
Sets the InputType
bits of this node.
Parameters | |
---|---|
inputType |
int : inputType bits as defined by InputType . |
setLocaleList
public abstract void setLocaleList (LocaleList localeList)
Sets the the list of locales associated with this node.
Parameters | |
---|---|
localeList |
LocaleList |
setLongClickable
public abstract void setLongClickable (boolean state)
Set the long clickable state of this view, as per
View.isLongClickable()
.
Parameters | |
---|---|
state |
boolean |
setMaxTextEms
public void setMaxTextEms (int maxEms)
Sets the maximum width in ems of the text associated with this view, when supported.
Should only be set when the node is used for autofill purposes - it will be ignored when used for Assist.
Parameters | |
---|---|
maxEms |
int |
setMaxTextLength
public void setMaxTextLength (int maxLength)
Sets the maximum length of the text associated with this view, when supported.
Should only be set when the node is used for autofill purposes - it will be ignored when used for Assist.
Parameters | |
---|---|
maxLength |
int |
setMinTextEms
public void setMinTextEms (int minEms)
Sets the minimum width in ems of the text associated with this view, when supported.
Should only be set when the node is used for autofill purposes - it will be ignored when used for Assist.
Parameters | |
---|---|
minEms |
int |
setOpaque
public abstract void setOpaque (boolean opaque)
Set the opaque state of this view, as per View.isOpaque()
.
Parameters | |
---|---|
opaque |
boolean |
setPendingCredentialRequest
public void setPendingCredentialRequest (GetCredentialRequest request, OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback)
Sets a credential request to be fired to CredentialManager
when this node is focused
Parameters | |
---|---|
request |
GetCredentialRequest : the request to be fired
This value cannot be null . |
callback |
OutcomeReceiver : the callback where the response or exception, is returned
This value cannot be null . |
setReceiveContentMimeTypes
public void setReceiveContentMimeTypes (String[] mimeTypes)
Sets the MIME types accepted by this view. See View#getReceiveContentMimeTypes()
.
Should only be set when the node is used for Autofill or Content Capture purposes - it will be ignored when used for Assist.
Parameters | |
---|---|
mimeTypes |
String : This value may be null . |
setSelected
public abstract void setSelected (boolean state)
Set the selected state of this view, as per View.isSelected()
.
Parameters | |
---|---|
state |
boolean |
setText
public abstract void setText (CharSequence text)
Set the text that is associated with this view. There is no selection associated with the text. The text may have style spans to supply additional display and semantic information.
Parameters | |
---|---|
text |
CharSequence |
setText
public abstract void setText (CharSequence text, int selectionStart, int selectionEnd)
Like setText(java.lang.CharSequence)
but with an active selection
extending from selectionStart through selectionEnd.
Parameters | |
---|---|
text |
CharSequence |
selectionStart |
int |
selectionEnd |
int |
setTextIdEntry
public void setTextIdEntry (String entryName)
Sets the identifier used to set the text associated with this view.
Should only be set when the node is used for autofill purposes - it will be ignored when used for Assist.
Parameters | |
---|---|
entryName |
String : This value cannot be null . |
setTextLines
public abstract void setTextLines (int[] charOffsets, int[] baselines)
Set line information for test that was previously supplied through
setText(java.lang.CharSequence)
. This provides the line breaking of the text as it
is shown on screen. This function takes ownership of the provided arrays; you should
not make further modification to them.
Parameters | |
---|---|
charOffsets |
int : The offset in to setText(CharSequence) where a line starts. |
baselines |
int : The baseline where the line is drawn on screen. |
setTextStyle
public abstract void setTextStyle (float size, int fgColor, int bgColor, int style)
Explicitly set default global style information for text that was previously set with
setText(CharSequence)
.
Parameters | |
---|---|
size |
float : The size, in pixels, of the text. |
fgColor |
int : The foreground color, packed as 0xAARRGGBB. |
bgColor |
int : The background color, packed as 0xAARRGGBB. |
style |
int : Style flags, as defined by AssistStructure.ViewNode . |
setTransformation
public abstract void setTransformation (Matrix matrix)
Set the transformation matrix associated with this view, as per
View.getMatrix()
, or null if there is none.
Parameters | |
---|---|
matrix |
Matrix |
setVisibility
public abstract void setVisibility (int visibility)
Set the visibility state of this view, as per
View.getVisibility()
.
Parameters | |
---|---|
visibility |
int |
setWebDomain
public abstract void setWebDomain (String domain)
Sets the Web domain represented by this node.
Typically used when the view is a container for an HTML document.
Parameters | |
---|---|
domain |
String : RFC 2396-compliant URI representing the domain.
This value may be null . |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-06-18 UTC.