diff options
| -rw-r--r-- | core/java/android/app/assist/AssistStructure.java | 10 | ||||
| -rw-r--r-- | services/autofill/java/com/android/server/autofill/Session.java | 5 |
2 files changed, 15 insertions, 0 deletions
diff --git a/core/java/android/app/assist/AssistStructure.java b/core/java/android/app/assist/AssistStructure.java index da5569d27c73..7b549cd59666 100644 --- a/core/java/android/app/assist/AssistStructure.java +++ b/core/java/android/app/assist/AssistStructure.java @@ -2139,6 +2139,16 @@ public class AssistStructure implements Parcelable { return mActivityComponent; } + /** + * Called by Autofill server when app forged a different value. + * + * @hide + */ + public void setActivityComponent(ComponentName componentName) { + ensureData(); + mActivityComponent = componentName; + } + /** @hide */ public int getFlags() { return mFlags; diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java index 99b92b9c9cd4..e3db1b17aa89 100644 --- a/services/autofill/java/com/android/server/autofill/Session.java +++ b/services/autofill/java/com/android/server/autofill/Session.java @@ -236,6 +236,11 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState structure.ensureData(); // Sanitize structure before it's sent to service. + if (!mComponentName.equals(structure.getActivityComponent())) { + Slog.w(TAG, "Activity " + mComponentName + " forged different component on " + + "AssistStructure: " + structure.getActivityComponent()); + structure.setActivityComponent(mComponentName); + } structure.sanitizeForParceling(true); // Flags used to start the session. |