Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f780d869 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add API to mark sanitized fields and implement it on TextView."

parents ed4cd7a1 33791fd5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -45637,6 +45637,7 @@ package android.view {
    method public abstract void setHint(java.lang.CharSequence);
    method public abstract void setId(int, java.lang.String, java.lang.String, java.lang.String);
    method public abstract void setLongClickable(boolean);
    method public abstract void setSanitized(boolean);
    method public abstract void setSelected(boolean);
    method public abstract void setText(java.lang.CharSequence);
    method public abstract void setText(java.lang.CharSequence, int, int);
@@ -45645,7 +45646,6 @@ package android.view {
    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
  }
  public final class ViewStub extends android.view.View {
+1 −1
Original line number Diff line number Diff line
@@ -49179,6 +49179,7 @@ package android.view {
    method public abstract void setHint(java.lang.CharSequence);
    method public abstract void setId(int, java.lang.String, java.lang.String, java.lang.String);
    method public abstract void setLongClickable(boolean);
    method public abstract void setSanitized(boolean);
    method public abstract void setSelected(boolean);
    method public abstract void setText(java.lang.CharSequence);
    method public abstract void setText(java.lang.CharSequence, int, int);
@@ -49187,7 +49188,6 @@ package android.view {
    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
  }
  public final class ViewStub extends android.view.View {
+1 −1
Original line number Diff line number Diff line
@@ -45999,6 +45999,7 @@ package android.view {
    method public abstract void setHint(java.lang.CharSequence);
    method public abstract void setId(int, java.lang.String, java.lang.String, java.lang.String);
    method public abstract void setLongClickable(boolean);
    method public abstract void setSanitized(boolean);
    method public abstract void setSelected(boolean);
    method public abstract void setText(java.lang.CharSequence);
    method public abstract void setText(java.lang.CharSequence, int, int);
@@ -46007,7 +46008,6 @@ package android.view {
    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
  }
  public final class ViewStub extends android.view.View {
+7 −9
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ public class AssistStructure implements Parcelable {
            mDisplayId = root.getDisplayId();
            mRoot = new ViewNode();

            ViewNodeBuilder builder = new ViewNodeBuilder(assist, mRoot, false, 0);
            ViewNodeBuilder builder = new ViewNodeBuilder(assist, mRoot, false);
            if ((root.getWindowFlags() & WindowManager.LayoutParams.FLAG_SECURE) != 0) {
                if (forAutoFill) {
                    // NOTE: flags are currently not supported, hence 0
@@ -1187,11 +1187,10 @@ public class AssistStructure implements Parcelable {
        final ViewNode mNode;
        final boolean mAsync;

        ViewNodeBuilder(AssistStructure assist, ViewNode node, boolean async, int flags) {
        ViewNodeBuilder(AssistStructure assist, ViewNode node, boolean async) {
            mAssist = assist;
            mNode = node;
            mAsync = async;
            mNode.mSanitized = (flags & AUTO_FILL_FLAG_SANITIZED) != 0;
        }

        @Override
@@ -1429,16 +1428,15 @@ public class AssistStructure implements Parcelable {
            ViewNode node = new ViewNode();
            setAutoFillId(node, forAutoFill, virtualId);
            mNode.mChildren[index] = node;
            return new ViewNodeBuilder(mAssist, node, false, flags);
            return new ViewNodeBuilder(mAssist, node, false);
        }

        private ViewStructure asyncNewChild(int index, boolean forAutoFill, int virtualId,
                int flags) {
        private ViewStructure asyncNewChild(int index, boolean forAutoFill, int virtualId) {
            synchronized (mAssist) {
                ViewNode node = new ViewNode();
                setAutoFillId(node, forAutoFill, virtualId);
                mNode.mChildren[index] = node;
                ViewNodeBuilder builder = new ViewNodeBuilder(mAssist, node, true, flags);
                ViewNodeBuilder builder = new ViewNodeBuilder(mAssist, node, true);
                mAssist.mPendingAsyncChildren.add(builder);
                return builder;
            }
@@ -1457,12 +1455,12 @@ public class AssistStructure implements Parcelable {

        @Override
        public ViewStructure asyncNewChild(int index) {
            return asyncNewChild(index, false, 0, 0);
            return asyncNewChild(index, false, 0);
        }

        @Override
        public ViewStructure asyncNewChild(int index, int virtualId, int flags) {
            return asyncNewChild(index, true, virtualId, flags);
            return asyncNewChild(index, true, virtualId);
        }

        @Override
+13 −16
Original line number Diff line number Diff line
@@ -30,16 +30,6 @@ import android.view.autofill.AutoFillValue;
 */
public abstract class ViewStructure {

    /**
     * Flag used when adding virtual views for auto-fill, it indicates the contents of the view
     * (such as * {@link android.app.assist.AssistStructure.ViewNode#getText()} and
     * {@link android.app.assist.AssistStructure.ViewNode#getAutoFillValue()})
     * can be passed to the {@link
     * android.service.autofill.AutoFillService#onFillRequest(android.app.assist.AssistStructure,
     * Bundle, android.os.CancellationSignal, android.service.autofill.FillCallback)} call.
     */
    public static final int AUTO_FILL_FLAG_SANITIZED = 0x1;

    /**
     * Set the identifier for this view.
     *
@@ -278,7 +268,7 @@ public abstract class ViewStructure {
     *
     * @param index child index
     * @param virtualId id identifying the virtual child inside the custom view.
     * @param flags currently {@code 0} or {@link #AUTO_FILL_FLAG_SANITIZED}.
     * @param flags currently {@code 0}.
     */
    // TODO(b/33197203, b/33802548): add CTS/unit test
    public abstract ViewStructure newChild(int index, int virtualId, int flags);
@@ -299,7 +289,7 @@ public abstract class ViewStructure {
     *
     * @param index child index
     * @param virtualId id identifying the virtual child inside the custom view.
     * @param flags currently {@code 0} or {@link #AUTO_FILL_FLAG_SANITIZED}.
     * @param flags currently {@code 0}.
     */
    // TODO(b/33197203, b/33802548): add CTS/unit test
    public abstract ViewStructure asyncNewChild(int index, int virtualId, int flags);
@@ -317,12 +307,19 @@ public abstract class ViewStructure {
    public abstract void setAutoFillValue(AutoFillValue value);

    /**
     * @hide
     * Marks this node as sanitized so its content are sent on {@link
     * android.service.autofill.AutoFillService#onFillRequest(android.app.assist.AssistStructure,
     * Bundle, android.os.CancellationSignal, android.service.autofill.FillCallback)}.
     *
     * <p>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 sanitized; a good rule of thumb is to mark as sanitized nodes whose value were statically
     * set from resources.
     *
     * TODO(b/33197203, b/33269702): temporary set it as not sanitized until
     * AssistStructure automaticaly sets sanitization based on text coming from resources
     * <p>Should only be set when the node is used for AutoFill purposes - it will be ignored
     * when used for Assist.
     */
    public abstract void setSanitized(boolean sensitive);
    public abstract void setSanitized(boolean sanitized);

    /**
     * Call when done populating a {@link ViewStructure} returned by
Loading