[FillDialog] : Fix case to log no focus with Fill Dialog

Currently, response expires when closing activity. However, we would
want to maintain the reason that was set previously in such a case.

BUG: 234185326
BUG: 248539712
Test: Manually tested with Sample Apk with Fill Dialog and then closing activity.
Change-Id: Ia9b94775608f6c1255bf0f3cbbf5f71eb583683e
This commit is contained in:
Simranjit Kohli
2022-09-23 07:52:56 -07:00
parent 09169accb2
commit 30a73e7e3b
2 changed files with 9 additions and 1 deletions

View File

@@ -118,6 +118,14 @@ public final class PresentationStatsEventLogger {
});
}
public void maybeSetNoPresentationEventReasonIfNoReasonExists(@NotShownReason int reason) {
mEventInternal.ifPresent(event -> {
if (event.mCountShown == 0 && event.mNoPresentationReason == NOT_SHOWN_REASON_UNKNOWN) {
event.mNoPresentationReason = reason;
}
});
}
public void maybeSetAvailableCount(@Nullable List<Dataset> datasetList,
AutofillId currentViewId) {
mEventInternal.ifPresent(event -> {

View File

@@ -2922,7 +2922,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
if (sDebug) {
Slog.d(TAG, "Set the response has expired.");
}
mPresentationStatsEventLogger.maybeSetNoPresentationEventReason(
mPresentationStatsEventLogger.maybeSetNoPresentationEventReasonIfNoReasonExists(
NOT_SHOWN_REASON_VIEW_CHANGED);
mPresentationStatsEventLogger.logAndEndEvent();
return;