diff --git a/api/current.txt b/api/current.txt index 5ecef52dee272..b00628d1566fb 100644 --- a/api/current.txt +++ b/api/current.txt @@ -6568,6 +6568,7 @@ package android.app.assist { method public int getTextStyle(); method public int getTop(); method public android.graphics.Matrix getTransformation(); + method public java.lang.String getUrl(); method public int getVisibility(); method public int getWidth(); method public boolean isAccessibilityFocused(); @@ -45657,6 +45658,7 @@ package android.view { method public abstract void setTextLines(int[], int[]); method public abstract void setTextStyle(float, int, int, int); method public abstract void setTransformation(android.graphics.Matrix); + method public abstract void setUrl(java.lang.String); method public abstract void setVisibility(int); field public static final int AUTO_FILL_FLAG_SANITIZED = 1; // 0x1 } diff --git a/api/system-current.txt b/api/system-current.txt index e89c25cb48d14..2a3327ee16cc2 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6805,6 +6805,7 @@ package android.app.assist { method public int getTextStyle(); method public int getTop(); method public android.graphics.Matrix getTransformation(); + method public java.lang.String getUrl(); method public int getVisibility(); method public int getWidth(); method public boolean isAccessibilityFocused(); @@ -49095,6 +49096,7 @@ package android.view { method public abstract void setTextLines(int[], int[]); method public abstract void setTextStyle(float, int, int, int); method public abstract void setTransformation(android.graphics.Matrix); + method public abstract void setUrl(java.lang.String); method public abstract void setVisibility(int); field public static final int AUTO_FILL_FLAG_SANITIZED = 1; // 0x1 } diff --git a/api/test-current.txt b/api/test-current.txt index b38e2b2069f5f..5bf2f6bf6daca 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -6591,6 +6591,7 @@ package android.app.assist { method public int getTextStyle(); method public int getTop(); method public android.graphics.Matrix getTransformation(); + method public java.lang.String getUrl(); method public int getVisibility(); method public int getWidth(); method public boolean isAccessibilityFocused(); @@ -45969,6 +45970,7 @@ package android.view { method public abstract void setTextLines(int[], int[]); method public abstract void setTextStyle(float, int, int, int); method public abstract void setTransformation(android.graphics.Matrix); + method public abstract void setUrl(java.lang.String); method public abstract void setVisibility(int); field public static final int AUTO_FILL_FLAG_SANITIZED = 1; // 0x1 } diff --git a/core/java/android/app/assist/AssistStructure.java b/core/java/android/app/assist/AssistStructure.java index 6591fc9671f51..8d385db263df0 100644 --- a/core/java/android/app/assist/AssistStructure.java +++ b/core/java/android/app/assist/AssistStructure.java @@ -17,13 +17,13 @@ import android.os.SystemClock; import android.text.TextUtils; import android.util.Log; import android.view.View; -import android.view.ViewStructure; import android.view.ViewRootImpl; +import android.view.ViewStructure; import android.view.WindowManager; import android.view.WindowManagerGlobal; +import android.view.autofill.AutoFillId; import android.view.autofill.AutoFillType; import android.view.autofill.AutoFillValue; -import android.view.autofill.AutoFillId; import java.util.ArrayList; @@ -579,6 +579,7 @@ public class AssistStructure implements Parcelable { static final int FLAGS_HAS_EXTRAS = 0x00400000; static final int FLAGS_HAS_ID = 0x00200000; static final int FLAGS_HAS_CHILDREN = 0x00100000; + static final int FLAGS_HAS_URL = 0x00080000; static final int FLAGS_ALL_CONTROL = 0xfff00000; int mFlags; @@ -587,6 +588,7 @@ public class AssistStructure implements Parcelable { CharSequence mContentDescription; ViewNodeText mText; + String mUrl; Bundle mExtras; ViewNode[] mChildren; @@ -651,6 +653,9 @@ public class AssistStructure implements Parcelable { if ((flags&FLAGS_HAS_TEXT) != 0) { mText = new ViewNodeText(in, (flags&FLAGS_HAS_COMPLEX_TEXT) == 0); } + if ((flags&FLAGS_HAS_URL) != 0) { + mUrl = in.readString(); + } if ((flags&FLAGS_HAS_EXTRAS) != 0) { mExtras = in.readBundle(); } @@ -704,6 +709,9 @@ public class AssistStructure implements Parcelable { flags |= FLAGS_HAS_COMPLEX_TEXT; } } + if (mUrl != null) { + flags |= FLAGS_HAS_URL; + } if (mExtras != null) { flags |= FLAGS_HAS_EXTRAS; } @@ -760,6 +768,9 @@ public class AssistStructure implements Parcelable { if ((flags&FLAGS_HAS_TEXT) != 0) { mText.writeToParcel(out, (flags&FLAGS_HAS_COMPLEX_TEXT) == 0, writeSensitive); } + if ((flags&FLAGS_HAS_URL) != 0) { + out.writeString(mUrl); + } if ((flags&FLAGS_HAS_EXTRAS) != 0) { out.writeBundle(mExtras); } @@ -1039,6 +1050,20 @@ public class AssistStructure implements Parcelable { return mContentDescription; } + /** + * Returns the URL represented by this node. + * + *
Typically used in 2 categories of nodes: + * + *
Typically used in the following situations: + * + *