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

This commit is contained in:
TreeHugger Robot
2017-10-04 22:17:11 +00:00
committed by Android (Google) Code Review
5 changed files with 61 additions and 4 deletions

View File

@@ -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

View File

@@ -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,

View File

@@ -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.

View File

@@ -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);
}
}

View File

@@ -937,10 +937,7 @@ public final class AutofillManager {
}
private AutofillClient getClientLocked() {
if (mContext instanceof AutofillClient) {
return (AutofillClient) mContext;
}
return null;
return mContext.getAutofillClient();
}
/** @hide */