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

Commit 5523f9a2 authored by Felipe Leme's avatar Felipe Leme Committed by Android (Google) Code Review
Browse files

Merge "Improved AutoFill Save workflow."

parents 82233e92 0200d9ea
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -6509,6 +6509,7 @@ package android.app.assist {
    method public float getAlpha();
    method public android.view.autofill.AutoFillId getAutoFillId();
    method public android.view.autofill.AutoFillType getAutoFillType();
    method public android.view.autofill.AutoFillValue getAutoFillValue();
    method public android.app.assist.AssistStructure.ViewNode getChildAt(int);
    method public int getChildCount();
    method public java.lang.String getClassName();
@@ -35877,7 +35878,7 @@ package android.service.autofill {
  public final class SaveCallback {
    method public void onFailure(java.lang.CharSequence);
    method public void onSuccess(android.view.autofill.AutoFillId[]);
    method public void onSuccess();
  }
}
@@ -44577,8 +44578,6 @@ package android.view {
    field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
    field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
    field public static final android.util.Property<android.view.View, java.lang.Float> ALPHA;
    field public static final int AUTO_FILL_FLAG_TYPE_FILL = 268435456; // 0x10000000
    field public static final int AUTO_FILL_FLAG_TYPE_SAVE = 536870912; // 0x20000000
    field public static final int DRAG_FLAG_GLOBAL = 256; // 0x100
    field public static final int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION = 64; // 0x40
    field public static final int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION = 128; // 0x80
@@ -45214,7 +45213,7 @@ package android.view {
    method public abstract int addChildCount(int);
    method public abstract void asyncCommit();
    method public abstract android.view.ViewStructure asyncNewChild(int);
    method public abstract android.view.ViewStructure asyncNewChild(int, int);
    method public abstract android.view.ViewStructure asyncNewChild(int, int, int);
    method public abstract int getChildCount();
    method public abstract android.os.Bundle getExtras();
    method public abstract java.lang.CharSequence getHint();
@@ -45223,11 +45222,12 @@ package android.view {
    method public abstract int getTextSelectionStart();
    method public abstract boolean hasExtras();
    method public abstract android.view.ViewStructure newChild(int);
    method public abstract android.view.ViewStructure newChild(int, int);
    method public abstract android.view.ViewStructure newChild(int, int, int);
    method public abstract void setAccessibilityFocused(boolean);
    method public abstract void setActivated(boolean);
    method public abstract void setAlpha(float);
    method public abstract void setAutoFillType(android.view.autofill.AutoFillType);
    method public abstract void setAutoFillValue(android.view.autofill.AutoFillValue);
    method public abstract void setCheckable(boolean);
    method public abstract void setChecked(boolean);
    method public abstract void setChildCount(int);
@@ -45250,6 +45250,7 @@ package android.view {
    method public abstract void setTextStyle(float, int, int, int);
    method public abstract void setTransformation(android.graphics.Matrix);
    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 {
@@ -46472,6 +46473,7 @@ package android.view.autofill {
  }
  public final class AutoFillManager {
    method public void onValueChanged(android.view.View, android.view.autofill.AutoFillValue);
    method public void updateAutoFillInput(android.view.View, int);
    method public void updateAutoFillInput(android.view.View, int, android.graphics.Rect, int);
    field public static final int FLAG_UPDATE_UI_HIDE = 2; // 0x2
+7 −5
Original line number Diff line number Diff line
@@ -6742,6 +6742,7 @@ package android.app.assist {
    method public float getAlpha();
    method public android.view.autofill.AutoFillId getAutoFillId();
    method public android.view.autofill.AutoFillType getAutoFillType();
    method public android.view.autofill.AutoFillValue getAutoFillValue();
    method public android.app.assist.AssistStructure.ViewNode getChildAt(int);
    method public int getChildCount();
    method public java.lang.String getClassName();
@@ -38908,7 +38909,7 @@ package android.service.autofill {
  public final class SaveCallback {
    method public void onFailure(java.lang.CharSequence);
    method public void onSuccess(android.view.autofill.AutoFillId[]);
    method public void onSuccess();
  }
}
@@ -47983,8 +47984,6 @@ package android.view {
    field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
    field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
    field public static final android.util.Property<android.view.View, java.lang.Float> ALPHA;
    field public static final int AUTO_FILL_FLAG_TYPE_FILL = 268435456; // 0x10000000
    field public static final int AUTO_FILL_FLAG_TYPE_SAVE = 536870912; // 0x20000000
    field public static final int DRAG_FLAG_GLOBAL = 256; // 0x100
    field public static final int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION = 64; // 0x40
    field public static final int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION = 128; // 0x80
@@ -48620,7 +48619,7 @@ package android.view {
    method public abstract int addChildCount(int);
    method public abstract void asyncCommit();
    method public abstract android.view.ViewStructure asyncNewChild(int);
    method public abstract android.view.ViewStructure asyncNewChild(int, int);
    method public abstract android.view.ViewStructure asyncNewChild(int, int, int);
    method public abstract int getChildCount();
    method public abstract android.os.Bundle getExtras();
    method public abstract java.lang.CharSequence getHint();
@@ -48629,11 +48628,12 @@ package android.view {
    method public abstract int getTextSelectionStart();
    method public abstract boolean hasExtras();
    method public abstract android.view.ViewStructure newChild(int);
    method public abstract android.view.ViewStructure newChild(int, int);
    method public abstract android.view.ViewStructure newChild(int, int, int);
    method public abstract void setAccessibilityFocused(boolean);
    method public abstract void setActivated(boolean);
    method public abstract void setAlpha(float);
    method public abstract void setAutoFillType(android.view.autofill.AutoFillType);
    method public abstract void setAutoFillValue(android.view.autofill.AutoFillValue);
    method public abstract void setCheckable(boolean);
    method public abstract void setChecked(boolean);
    method public abstract void setChildCount(int);
@@ -48656,6 +48656,7 @@ package android.view {
    method public abstract void setTextStyle(float, int, int, int);
    method public abstract void setTransformation(android.graphics.Matrix);
    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 {
@@ -49881,6 +49882,7 @@ package android.view.autofill {
  }
  public final class AutoFillManager {
    method public void onValueChanged(android.view.View, android.view.autofill.AutoFillValue);
    method public void updateAutoFillInput(android.view.View, int);
    method public void updateAutoFillInput(android.view.View, int, android.graphics.Rect, int);
    field public static final int FLAG_UPDATE_UI_HIDE = 2; // 0x2
+7 −5
Original line number Diff line number Diff line
@@ -6532,6 +6532,7 @@ package android.app.assist {
    method public float getAlpha();
    method public android.view.autofill.AutoFillId getAutoFillId();
    method public android.view.autofill.AutoFillType getAutoFillType();
    method public android.view.autofill.AutoFillValue getAutoFillValue();
    method public android.app.assist.AssistStructure.ViewNode getChildAt(int);
    method public int getChildCount();
    method public java.lang.String getClassName();
@@ -36012,7 +36013,7 @@ package android.service.autofill {
  public final class SaveCallback {
    method public void onFailure(java.lang.CharSequence);
    method public void onSuccess(android.view.autofill.AutoFillId[]);
    method public void onSuccess();
  }
}
@@ -44884,8 +44885,6 @@ package android.view {
    field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
    field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
    field public static final android.util.Property<android.view.View, java.lang.Float> ALPHA;
    field public static final int AUTO_FILL_FLAG_TYPE_FILL = 268435456; // 0x10000000
    field public static final int AUTO_FILL_FLAG_TYPE_SAVE = 536870912; // 0x20000000
    field public static final int DRAG_FLAG_GLOBAL = 256; // 0x100
    field public static final int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION = 64; // 0x40
    field public static final int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION = 128; // 0x80
@@ -45525,7 +45524,7 @@ package android.view {
    method public abstract int addChildCount(int);
    method public abstract void asyncCommit();
    method public abstract android.view.ViewStructure asyncNewChild(int);
    method public abstract android.view.ViewStructure asyncNewChild(int, int);
    method public abstract android.view.ViewStructure asyncNewChild(int, int, int);
    method public abstract int getChildCount();
    method public abstract android.os.Bundle getExtras();
    method public abstract java.lang.CharSequence getHint();
@@ -45534,11 +45533,12 @@ package android.view {
    method public abstract int getTextSelectionStart();
    method public abstract boolean hasExtras();
    method public abstract android.view.ViewStructure newChild(int);
    method public abstract android.view.ViewStructure newChild(int, int);
    method public abstract android.view.ViewStructure newChild(int, int, int);
    method public abstract void setAccessibilityFocused(boolean);
    method public abstract void setActivated(boolean);
    method public abstract void setAlpha(float);
    method public abstract void setAutoFillType(android.view.autofill.AutoFillType);
    method public abstract void setAutoFillValue(android.view.autofill.AutoFillValue);
    method public abstract void setCheckable(boolean);
    method public abstract void setChecked(boolean);
    method public abstract void setChildCount(int);
@@ -45561,6 +45561,7 @@ package android.view {
    method public abstract void setTextStyle(float, int, int, int);
    method public abstract void setTransformation(android.graphics.Matrix);
    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 {
@@ -46785,6 +46786,7 @@ package android.view.autofill {
  }
  public final class AutoFillManager {
    method public void onValueChanged(android.view.View, android.view.autofill.AutoFillValue);
    method public void updateAutoFillInput(android.view.View, int);
    method public void updateAutoFillInput(android.view.View, int, android.graphics.Rect, int);
    field public static final int FLAG_UPDATE_UI_HIDE = 2; // 0x2
+0 −3
Original line number Diff line number Diff line
@@ -505,9 +505,6 @@ public class ActivityManager {
    /** @hide requestType for assist context: generate full AssistStructure for auto-fill. */
    public static final int ASSIST_CONTEXT_AUTO_FILL = 2;

    /** @hide requestType for assist context: generate full AssistStructure for auto-fill save. */
    public static final int ASSIST_CONTEXT_AUTO_FILL_SAVE = 3;

    /** @hide Flag for registerUidObserver: report changes in process state. */
    public static final int UID_OBSERVER_PROCSTATE = 1<<0;

+4 −11
Original line number Diff line number Diff line
@@ -91,7 +91,6 @@ import android.security.NetworkSecurityPolicy;
import android.security.net.config.NetworkSecurityConfigProvider;
import android.service.autofill.AutoFillService;
import android.service.autofill.IAutoFillAppCallback;
import android.service.voice.VoiceInteractionSession;
import android.util.AndroidRuntimeException;
import android.util.ArrayMap;
import android.util.DisplayMetrics;
@@ -641,7 +640,6 @@ public final class ActivityThread {
        IBinder requestToken;
        int requestType;
        int sessionId;
        int flags;
    }

    static final class ActivityConfigChangeData {
@@ -1249,13 +1247,12 @@ public final class ActivityThread {

        @Override
        public void requestAssistContextExtras(IBinder activityToken, IBinder requestToken,
                int requestType, int sessionId, int flags) {
                int requestType, int sessionId) {
            RequestAssistContextExtras cmd = new RequestAssistContextExtras();
            cmd.activityToken = activityToken;
            cmd.requestToken = requestToken;
            cmd.requestType = requestType;
            cmd.sessionId = sessionId;
            cmd.flags = flags;
            sendMessage(H.REQUEST_ASSIST_CONTEXT_EXTRAS, cmd);
        }

@@ -2905,9 +2902,7 @@ public final class ActivityThread {
        // - it does not need an AssistContent
        // - it does not call onProvideAssistData()
        // - it needs an IAutoFillCallback
        // - it sets the flags so views can provide autofill-specific data (such as passwords)
        boolean forAutoFill = cmd.requestType == ActivityManager.ASSIST_CONTEXT_AUTO_FILL
                || cmd.requestType == ActivityManager.ASSIST_CONTEXT_AUTO_FILL_SAVE;
        boolean forAutoFill = cmd.requestType == ActivityManager.ASSIST_CONTEXT_AUTO_FILL;

        // TODO(b/33197203): decide if lastSessionId logic applies to auto-fill sessions
        if (mLastSessionId != cmd.sessionId) {
@@ -2934,11 +2929,8 @@ public final class ActivityThread {
                referrer = r.activity.onProvideReferrer();
            }
            if (cmd.requestType == ActivityManager.ASSIST_CONTEXT_FULL || forAutoFill) {
                structure = new AssistStructure(r.activity, cmd.flags);
                structure = new AssistStructure(r.activity, forAutoFill);
                Intent activityIntent = r.activity.getIntent();
                if (forAutoFill) {
                    data.putInt(VoiceInteractionSession.KEY_FLAGS, cmd.flags);
                }
                boolean addAutoFillCallback = false;
                // TODO(b/33197203): re-evaluate conditions below for auto-fill. In particular,
                // FLAG_SECURE might be allowed on AUTO_FILL but not on AUTO_FILL_SAVE)
@@ -2979,6 +2971,7 @@ public final class ActivityThread {
        if (structure == null) {
            structure = new AssistStructure();
        }

        // TODO(b/33197203): decide if lastSessionId logic applies to auto-fill sessions
        mLastAssistStructures.add(new WeakReference<>(structure));
        IActivityManager mgr = ActivityManager.getService();
Loading