Merge "DO NOT MERGE - fix AFM.getComponentNameFromContext()" into oc-mr1-dev

This commit is contained in:
TreeHugger Robot
2018-01-23 21:39:09 +00:00
committed by Android (Google) Code Review
2 changed files with 23 additions and 10 deletions

View File

@@ -5871,6 +5871,16 @@ public class Activity extends ContextThemeWrapper
return mComponent;
}
/**
* Temporary method on O-MR1 only.
*
* @hide
*/
@Override
public ComponentName getComponentNameForAutofill() {
return mComponent;
}
/**
* Retrieve a {@link SharedPreferences} object for accessing preferences
* that are private to this activity. This simply calls the underlying

View File

@@ -24,7 +24,6 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemService;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -387,6 +386,13 @@ public final class AutofillManager {
* Runs the specified action on the UI thread.
*/
void runOnUiThread(Runnable action);
/**
* Gets the complete component name of this client.
*
* <p>Temporary method on O-MR1 only.
*/
ComponentName getComponentNameForAutofill();
}
/**
@@ -943,11 +949,8 @@ public final class AutofillManager {
return mContext.getAutofillClient();
}
private ComponentName getComponentNameFromContext() {
if (mContext instanceof Activity) {
return ((Activity) mContext).getComponentName();
}
return null;
private ComponentName getComponentNameFromContext(AutofillClient client) {
return client == null ? null : client.getComponentNameForAutofill();
}
/** @hide */
@@ -1000,7 +1003,8 @@ public final class AutofillManager {
return;
}
try {
final ComponentName componentName = getComponentNameFromContext();
final AutofillClient client = getClientLocked();
final ComponentName componentName = getComponentNameFromContext(client);
if (componentName == null) {
Log.w(TAG, "startSessionLocked(): context is not activity: " + mContext);
return;
@@ -1011,7 +1015,6 @@ public final class AutofillManager {
if (mSessionId != NO_SESSION) {
mState = STATE_ACTIVE;
}
final AutofillClient client = getClientLocked();
if (client != null) {
client.autofillCallbackResetableStateAvailable();
}
@@ -1065,7 +1068,8 @@ public final class AutofillManager {
try {
if (restartIfNecessary) {
final ComponentName componentName = getComponentNameFromContext();
final AutofillClient client = getClientLocked();
final ComponentName componentName = getComponentNameFromContext(client);
if (componentName == null) {
Log.w(TAG, "startSessionLocked(): context is not activity: " + mContext);
return;
@@ -1077,7 +1081,6 @@ public final class AutofillManager {
if (sDebug) Log.d(TAG, "Session restarted: " + mSessionId + "=>" + newId);
mSessionId = newId;
mState = (mSessionId == NO_SESSION) ? STATE_UNKNOWN : STATE_ACTIVE;
final AutofillClient client = getClientLocked();
if (client != null) {
client.autofillCallbackResetableStateAvailable();
}