Merge "Merge "Quick fix the getMobileNetworkOperator() in CellIdentity." am: 298d2a46dc am: 3ba72e7130 am: 9afe3b1252"
diff --git a/core/java/android/app/assist/AssistStructure.java b/core/java/android/app/assist/AssistStructure.java
index da5569d..7b549cd5 100644
--- a/core/java/android/app/assist/AssistStructure.java
+++ b/core/java/android/app/assist/AssistStructure.java
@@ -2139,6 +2139,16 @@
         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 99b92b9..e3db1b1 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 @@
                 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.