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

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

Merge "Sets AutofillClient on attachBaseContext()" into oc-mr1-dev

parents dbe28151 bb567ae6
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -114,6 +114,7 @@ import android.view.WindowManager;
import android.view.WindowManagerGlobal;
import android.view.WindowManagerGlobal;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityEvent;
import android.view.autofill.AutofillManager;
import android.view.autofill.AutofillManager;
import android.view.autofill.AutofillManager.AutofillClient;
import android.view.autofill.AutofillPopupWindow;
import android.view.autofill.AutofillPopupWindow;
import android.view.autofill.IAutofillWindowPresenter;
import android.view.autofill.IAutofillWindowPresenter;
import android.widget.AdapterView;
import android.widget.AdapterView;
@@ -947,6 +948,18 @@ public class Activity extends ContextThemeWrapper
        return mAutofillManager;
        return mAutofillManager;
    }
    }


    @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(newBase);
        newBase.setAutofillClient(this);
    }

    /** @hide */
    @Override
    public final AutofillClient getAutofillClient() {
        return this;
    }

    /**
    /**
     * Called when the activity is starting.  This is where most initialization
     * Called when the activity is starting.  This is where most initialization
     * should go: calling {@link #setContentView(int)} to inflate the
     * should go: calling {@link #setContentView(int)} to inflate the
+15 −0
Original line number Original line Diff line number Diff line
@@ -74,6 +74,7 @@ import android.util.Log;
import android.util.Slog;
import android.util.Slog;
import android.view.Display;
import android.view.Display;
import android.view.DisplayAdjustments;
import android.view.DisplayAdjustments;
import android.view.autofill.AutofillManager.AutofillClient;


import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.Preconditions;
import com.android.internal.util.Preconditions;
@@ -185,6 +186,8 @@ class ContextImpl extends Context {
    // The name of the split this Context is representing. May be null.
    // The name of the split this Context is representing. May be null.
    private @Nullable String mSplitName = null;
    private @Nullable String mSplitName = null;


    private AutofillClient mAutofillClient = null;

    private final Object mSync = new Object();
    private final Object mSync = new Object();


    @GuardedBy("mSync")
    @GuardedBy("mSync")
@@ -2225,6 +2228,18 @@ class ContextImpl extends Context {
        return mUser.getIdentifier();
        return mUser.getIdentifier();
    }
    }


    /** @hide */
    @Override
    public AutofillClient getAutofillClient() {
        return mAutofillClient;
    }

    /** @hide */
    @Override
    public void setAutofillClient(AutofillClient client) {
        mAutofillClient = client;
    }

    static ContextImpl createSystemContext(ActivityThread mainThread) {
    static ContextImpl createSystemContext(ActivityThread mainThread) {
        LoadedApk packageInfo = new LoadedApk(mainThread);
        LoadedApk packageInfo = new LoadedApk(mainThread);
        ContextImpl context = new ContextImpl(null, mainThread, packageInfo, null, null, null, 0,
        ContextImpl context = new ContextImpl(null, mainThread, packageInfo, null, null, null, 0,
+14 −0
Original line number Original line Diff line number Diff line
@@ -64,6 +64,7 @@ import android.view.DisplayAdjustments;
import android.view.View;
import android.view.View;
import android.view.ViewDebug;
import android.view.ViewDebug;
import android.view.WindowManager;
import android.view.WindowManager;
import android.view.autofill.AutofillManager.AutofillClient;
import android.view.textclassifier.TextClassificationManager;
import android.view.textclassifier.TextClassificationManager;


import java.io.File;
import java.io.File;
@@ -4764,6 +4765,19 @@ public abstract class Context {
        throw new RuntimeException("Not implemented. Must override in a subclass.");
        throw new RuntimeException("Not implemented. Must override in a subclass.");
    }
    }


    /**
     * @hide
     */
    public AutofillClient getAutofillClient() {
        return null;
    }

    /**
     * @hide
     */
    public void setAutofillClient(AutofillClient client) {
    }

    /**
    /**
     * Throws an exception if the Context is using system resources,
     * Throws an exception if the Context is using system resources,
     * which are non-runtime-overlay-themable and may show inconsistent UI.
     * which are non-runtime-overlay-themable and may show inconsistent UI.
+18 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ import android.os.Looper;
import android.os.UserHandle;
import android.os.UserHandle;
import android.view.Display;
import android.view.Display;
import android.view.DisplayAdjustments;
import android.view.DisplayAdjustments;
import android.view.autofill.AutofillManager.AutofillClient;


import java.io.File;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileInputStream;
@@ -967,7 +968,24 @@ public class ContextWrapper extends Context {
    /**
    /**
     * @hide
     * @hide
     */
     */
    @Override
    public int getNextAutofillId() {
    public int getNextAutofillId() {
        return mBase.getNextAutofillId();
        return mBase.getNextAutofillId();
    }
    }

    /**
     * @hide
     */
    @Override
    public AutofillClient getAutofillClient() {
        return mBase.getAutofillClient();
    }

    /**
     * @hide
     */
    @Override
    public void setAutofillClient(AutofillClient client) {
        mBase.setAutofillClient(client);
    }
}
}
+1 −4
Original line number Original line Diff line number Diff line
@@ -937,10 +937,7 @@ public final class AutofillManager {
    }
    }


    private AutofillClient getClientLocked() {
    private AutofillClient getClientLocked() {
        if (mContext instanceof AutofillClient) {
        return mContext.getAutofillClient();
            return (AutofillClient) mContext;
        }
        return null;
    }
    }


    /** @hide */
    /** @hide */