Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/android/app/assist/AssistStructure#nestedclasses) \| [Inherited Constants](https://developer.android.com/reference/android/app/assist/AssistStructure#inhconstants) \| [Fields](https://developer.android.com/reference/android/app/assist/AssistStructure#lfields) \| [Ctors](https://developer.android.com/reference/android/app/assist/AssistStructure#pubctors) \| [Methods](https://developer.android.com/reference/android/app/assist/AssistStructure#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/app/assist/AssistStructure#inhmethods)

# AssistStructure

*** ** * ** ***


`
public


class
AssistStructure
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/android/os/Parcelable


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.app.assist.AssistStructure |

<br />

*** ** * ** ***

<br />

This API automatically creates assist data from the platform's
implementation of assist and autofill.

The structure is used for assist purposes when created by
`https://developer.android.com/reference/android/app/Activity#onProvideAssistData(android.os.Bundle)`, `https://developer.android.com/reference/android/view/View#onProvideStructure(android.view.ViewStructure)`,
or `https://developer.android.com/reference/android/view/View#onProvideVirtualStructure(android.view.ViewStructure)`.

The structure is also used for autofill purposes when created by
`https://developer.android.com/reference/android/view/View#onProvideAutofillStructure(android.view.ViewStructure,%20int)`,
or `https://developer.android.com/reference/android/view/View#onProvideAutofillVirtualStructure(android.view.ViewStructure,%20int)`.

For performance reasons, some properties of the assist data might only be available for
assist or autofill purposes. In those cases, a property's availability will be documented
in its javadoc.

To learn about using Autofill in your app, read the
[Autofill Framework](https://developer.android.com/guide/topics/text/autofill) guides.

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/app/assist/AssistStructure.ViewNode` Describes a single view in the assist data. |
| ` class` | `https://developer.android.com/reference/android/app/assist/AssistStructure.WindowNode` Describes a window in the assist data. |

| ### Inherited constants |
|---|
| From interface `https://developer.android.com/reference/android/os/Parcelable` |---|---| | `int` | `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor. | | `int` | `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/app/assist/AssistStructure>` | `https://developer.android.com/reference/android/app/assist/AssistStructure#CREATOR` |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/app/assist/AssistStructure#AssistStructure()() ` |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` long` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#getAcquisitionEndTime()() ` Returns the time when the activity finished generating assist data to build the AssistStructure. |
| ` long` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#getAcquisitionStartTime()() ` Returns the time when the activity started generating assist data to build the AssistStructure. |
| ` https://developer.android.com/reference/android/content/ComponentName` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#getActivityComponent()() ` Return the activity this AssistStructure came from. |
| ` https://developer.android.com/reference/android/app/assist/AssistStructure.WindowNode` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#getWindowNodeAt(int)(int index) ` Return one of the windows in the assist data. |
| ` int` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#getWindowNodeCount()() ` Return the number of window contents that have been collected in this assist data. |
| ` boolean` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#isHomeActivity()() ` Returns whether the activity associated with this AssistStructure was the home activity (Launcher) at the time the assist data was acquired. |
| ` void` | ` https://developer.android.com/reference/android/app/assist/AssistStructure#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel out, int flags) ` Flatten this object in to a Parcel. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||
| From interface ` https://developer.android.com/reference/android/os/Parcelable ` |---|---| | ` abstract int` | ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | | ` abstract void` | ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. | ||

## Fields

### CREATOR

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<AssistStructure> CREATOR
```

<br />

<br />

## Public constructors

### AssistStructure

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AssistStructure ()
```

<br />

<br />

## Public methods

### describeContents

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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 `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`,
the return value of this method must include the
`https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### getAcquisitionEndTime

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getAcquisitionEndTime ()
```

Returns the time when the activity finished generating assist data to build the
AssistStructure. The time is as specified by `https://developer.android.com/reference/android/os/SystemClock#uptimeMillis()`.

<br />

| Returns ||
|---|---|
| `long` | Returns the acquisition end time of the assist data, in milliseconds. <br /> |

**See also:**

- `https://developer.android.com/reference/android/app/assist/AssistStructure#getAcquisitionStartTime()`

### getAcquisitionStartTime

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getAcquisitionStartTime ()
```

Returns the time when the activity started generating assist data to build the
AssistStructure. The time is as specified by `https://developer.android.com/reference/android/os/SystemClock#uptimeMillis()`.

<br />

| Returns ||
|---|---|
| `long` | Returns the acquisition start time of the assist data, in milliseconds. <br /> |

**See also:**

- `https://developer.android.com/reference/android/app/assist/AssistStructure#getAcquisitionEndTime()`

### getActivityComponent

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public ComponentName getActivityComponent ()
```

Return the activity this AssistStructure came from.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/content/ComponentName` | <br /> |

### getWindowNodeAt

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AssistStructure.WindowNode getWindowNodeAt (int index)
```

Return one of the windows in the assist data.

<br />

| Parameters ||
|---|---|
| `index` | `int`: Which window to retrieve, may be 0 to `https://developer.android.com/reference/android/app/assist/AssistStructure#getWindowNodeCount()`-1. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/app/assist/AssistStructure.WindowNode` | <br /> |

### getWindowNodeCount

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getWindowNodeCount ()
```

Return the number of window contents that have been collected in this assist data.

<br />

| Returns ||
|---|---|
| `int` | <br /> |

### isHomeActivity

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isHomeActivity ()
```

Returns whether the activity associated with this AssistStructure was the home activity
(Launcher) at the time the assist data was acquired.

<br />

| Returns ||
|---|---|
| `boolean` | Whether the activity was the home activity. <br /> |

**See also:**

- `https://developer.android.com/reference/android/content/Intent#CATEGORY_HOME`

### writeToParcel

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel out, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `out` | `Parcel`: The Parcel in which the object should be written. This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |