Merge "Sets AutofillClient on attachBaseContext()" into oc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6d17d9d0cf
@@ -114,6 +114,7 @@ import android.view.WindowManager;
|
||||
import android.view.WindowManagerGlobal;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.autofill.AutofillManager;
|
||||
import android.view.autofill.AutofillManager.AutofillClient;
|
||||
import android.view.autofill.AutofillPopupWindow;
|
||||
import android.view.autofill.IAutofillWindowPresenter;
|
||||
import android.widget.AdapterView;
|
||||
@@ -947,6 +948,18 @@ public class Activity extends ContextThemeWrapper
|
||||
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
|
||||
* should go: calling {@link #setContentView(int)} to inflate the
|
||||
|
||||
@@ -74,6 +74,7 @@ import android.util.Log;
|
||||
import android.util.Slog;
|
||||
import android.view.Display;
|
||||
import android.view.DisplayAdjustments;
|
||||
import android.view.autofill.AutofillManager.AutofillClient;
|
||||
|
||||
import com.android.internal.annotations.GuardedBy;
|
||||
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.
|
||||
private @Nullable String mSplitName = null;
|
||||
|
||||
private AutofillClient mAutofillClient = null;
|
||||
|
||||
private final Object mSync = new Object();
|
||||
|
||||
@GuardedBy("mSync")
|
||||
@@ -2225,6 +2228,18 @@ class ContextImpl extends Context {
|
||||
return mUser.getIdentifier();
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@Override
|
||||
public AutofillClient getAutofillClient() {
|
||||
return mAutofillClient;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@Override
|
||||
public void setAutofillClient(AutofillClient client) {
|
||||
mAutofillClient = client;
|
||||
}
|
||||
|
||||
static ContextImpl createSystemContext(ActivityThread mainThread) {
|
||||
LoadedApk packageInfo = new LoadedApk(mainThread);
|
||||
ContextImpl context = new ContextImpl(null, mainThread, packageInfo, null, null, null, 0,
|
||||
|
||||
@@ -64,6 +64,7 @@ import android.view.DisplayAdjustments;
|
||||
import android.view.View;
|
||||
import android.view.ViewDebug;
|
||||
import android.view.WindowManager;
|
||||
import android.view.autofill.AutofillManager.AutofillClient;
|
||||
import android.view.textclassifier.TextClassificationManager;
|
||||
|
||||
import java.io.File;
|
||||
@@ -4764,6 +4765,19 @@ public abstract class Context {
|
||||
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,
|
||||
* which are non-runtime-overlay-themable and may show inconsistent UI.
|
||||
|
||||
@@ -37,6 +37,7 @@ import android.os.Looper;
|
||||
import android.os.UserHandle;
|
||||
import android.view.Display;
|
||||
import android.view.DisplayAdjustments;
|
||||
import android.view.autofill.AutofillManager.AutofillClient;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
@@ -967,7 +968,24 @@ public class ContextWrapper extends Context {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@Override
|
||||
public int getNextAutofillId() {
|
||||
return mBase.getNextAutofillId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@Override
|
||||
public AutofillClient getAutofillClient() {
|
||||
return mBase.getAutofillClient();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@Override
|
||||
public void setAutofillClient(AutofillClient client) {
|
||||
mBase.setAutofillClient(client);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -937,10 +937,7 @@ public final class AutofillManager {
|
||||
}
|
||||
|
||||
private AutofillClient getClientLocked() {
|
||||
if (mContext instanceof AutofillClient) {
|
||||
return (AutofillClient) mContext;
|
||||
}
|
||||
return null;
|
||||
return mContext.getAutofillClient();
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
|
||||
Reference in New Issue
Block a user