From 43857fad9b06f316d2f7f0db2875aac1aff3e5fc Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Wed, 18 Apr 2018 14:25:00 -0700 Subject: Fixed autofill forged package check to only compare the package name. Otherwise, it will log false negatives when app launches a new activity in the same autofill session. Example: 04-18 19:34:32.392 5423 7199 W AutofillSession: Activity ComponentInfo{com.netgear.WiFiAnalytics/com.netgear.WiFiAnalytics.WiFiAnalyticsWifiRoomSignal} forged different component on AssistStructure: ComponentInfo{com.netgear.WiFiAnalytics/com.netgear.WiFiAnalytics.WiFiAnalyticsWifiAnalyzerTab} Fixes: 78235438 Bug: 69981710 Test: manual verification, cannot be CTS tested. Test: CtsAutoFillServiceTestCases Change-Id: I0408cd159c2be22841a1f6c36a4a2c17e59a6219 --- services/autofill/java/com/android/server/autofill/Session.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java index 06707daafde7..1d62eb7b7641 100644 --- a/services/autofill/java/com/android/server/autofill/Session.java +++ b/services/autofill/java/com/android/server/autofill/Session.java @@ -271,7 +271,8 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState // Sanitize structure before it's sent to service. final ComponentName componentNameFromApp = structure.getActivityComponent(); - if (!mComponentName.equals(componentNameFromApp)) { + if (componentNameFromApp == null || !mComponentName.getPackageName() + .equals(componentNameFromApp.getPackageName())) { Slog.w(TAG, "Activity " + mComponentName + " forged different component on " + "AssistStructure: " + componentNameFromApp); structure.setActivityComponent(mComponentName); -- cgit v1.2.3-59-g8ed1b