Loading services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +3 −2 Original line number Diff line number Diff line Loading @@ -805,12 +805,13 @@ final class AutofillManagerServiceImpl * Updates the last fill response when a dataset was selected. */ void logDatasetSelected(@Nullable String selectedDataset, int sessionId, @Nullable Bundle clientState) { @Nullable Bundle clientState, int presentationType) { synchronized (mLock) { if (isValidEventLocked("logDatasetSelected()", sessionId)) { mEventHistory.addEvent( new Event(Event.TYPE_DATASET_SELECTED, selectedDataset, clientState, null, null, null, null, null, null, null, null)); null, null, null, null, null, null, null, NO_SAVE_UI_REASON_NONE, presentationType)); } } } Loading services/autofill/java/com/android/server/autofill/Session.java +8 −6 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.service.autofill.AutofillService.EXTRA_FILL_RESPONSE; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_DIALOG; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_INLINE; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_MENU; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_UNKNOWN; import static android.service.autofill.FillRequest.FLAG_MANUAL_REQUEST; import static android.service.autofill.FillRequest.FLAG_PASSWORD_INPUT_TYPE; import static android.service.autofill.FillRequest.FLAG_SUPPORTS_FILL_DIALOG; Loading Loading @@ -1406,7 +1407,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState // AutoFillUiCallback @Override public void fill(int requestId, int datasetIndex, Dataset dataset) { public void fill(int requestId, int datasetIndex, Dataset dataset, int uiType) { synchronized (mLock) { if (mDestroyed) { Slog.w(TAG, "Call to Session#fill() rejected - session: " Loading @@ -1416,7 +1417,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } mHandler.sendMessage(obtainMessage( Session::autoFill, this, requestId, datasetIndex, dataset, true)); this, requestId, datasetIndex, dataset, true, uiType)); } // AutoFillUiCallback Loading Loading @@ -1657,7 +1658,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState if (!isAuthResultDatasetEphemeral(oldDataset, data)) { authenticatedResponse.getDatasets().set(datasetIdx, dataset); } autoFill(requestId, datasetIdx, dataset, false); autoFill(requestId, datasetIdx, dataset, false, UI_TYPE_UNKNOWN); } else { Slog.w(TAG, "invalid index (" + datasetIdx + ") for authentication id " + authenticationId); Loading Loading @@ -3376,7 +3377,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState new InlineFillUi.InlineSuggestionUiCallback() { @Override public void autofill(@NonNull Dataset dataset, int datasetIndex) { fill(response.getRequestId(), datasetIndex, dataset); fill(response.getRequestId(), datasetIndex, dataset, UI_TYPE_INLINE); } @Override Loading Loading @@ -3895,7 +3896,8 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState return viewState; } void autoFill(int requestId, int datasetIndex, Dataset dataset, boolean generateEvent) { void autoFill(int requestId, int datasetIndex, Dataset dataset, boolean generateEvent, int uiType) { if (sDebug) { Slog.d(TAG, "autoFill(): requestId=" + requestId + "; datasetIdx=" + datasetIndex + "; dataset=" + dataset); Loading @@ -3909,7 +3911,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState // Autofill it directly... if (dataset.getAuthentication() == null) { if (generateEvent) { mService.logDatasetSelected(dataset.getId(), id, mClientState); mService.logDatasetSelected(dataset.getId(), id, mClientState, uiType); } if (mCurrentViewId != null) { mInlineSessionController.hideInlineSuggestionsUiLocked(mCurrentViewId); Loading services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java +10 −3 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ */ package com.android.server.autofill.ui; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_DIALOG; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_MENU; import static com.android.server.autofill.Helper.sDebug; import static com.android.server.autofill.Helper.sVerbose; Loading @@ -31,6 +34,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.RemoteException; import android.service.autofill.Dataset; import android.service.autofill.FillEventHistory; import android.service.autofill.FillResponse; import android.service.autofill.SaveInfo; import android.service.autofill.ValueFinder; Loading Loading @@ -81,7 +85,8 @@ public final class AutoFillUI { public interface AutoFillUiCallback { void authenticate(int requestId, int datasetIndex, @NonNull IntentSender intent, @Nullable Bundle extras, boolean authenticateInline); void fill(int requestId, int datasetIndex, @NonNull Dataset dataset); void fill(int requestId, int datasetIndex, @NonNull Dataset dataset, @FillEventHistory.Event.UiType int uiType); void save(); void cancelSave(); void requestShowFillUi(AutofillId id, int width, int height, Loading Loading @@ -236,7 +241,8 @@ public final class AutoFillUI { hideFillUiUiThread(callback, true); if (mCallback != null) { final int datasetIndex = response.getDatasets().indexOf(dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset, UI_TYPE_MENU); } } Loading Loading @@ -414,7 +420,8 @@ public final class AutoFillUI { hideFillDialogUiThread(callback); if (mCallback != null) { final int datasetIndex = response.getDatasets().indexOf(dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset, UI_TYPE_DIALOG); } } Loading Loading
services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +3 −2 Original line number Diff line number Diff line Loading @@ -805,12 +805,13 @@ final class AutofillManagerServiceImpl * Updates the last fill response when a dataset was selected. */ void logDatasetSelected(@Nullable String selectedDataset, int sessionId, @Nullable Bundle clientState) { @Nullable Bundle clientState, int presentationType) { synchronized (mLock) { if (isValidEventLocked("logDatasetSelected()", sessionId)) { mEventHistory.addEvent( new Event(Event.TYPE_DATASET_SELECTED, selectedDataset, clientState, null, null, null, null, null, null, null, null)); null, null, null, null, null, null, null, NO_SAVE_UI_REASON_NONE, presentationType)); } } } Loading
services/autofill/java/com/android/server/autofill/Session.java +8 −6 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.service.autofill.AutofillService.EXTRA_FILL_RESPONSE; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_DIALOG; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_INLINE; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_MENU; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_UNKNOWN; import static android.service.autofill.FillRequest.FLAG_MANUAL_REQUEST; import static android.service.autofill.FillRequest.FLAG_PASSWORD_INPUT_TYPE; import static android.service.autofill.FillRequest.FLAG_SUPPORTS_FILL_DIALOG; Loading Loading @@ -1406,7 +1407,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState // AutoFillUiCallback @Override public void fill(int requestId, int datasetIndex, Dataset dataset) { public void fill(int requestId, int datasetIndex, Dataset dataset, int uiType) { synchronized (mLock) { if (mDestroyed) { Slog.w(TAG, "Call to Session#fill() rejected - session: " Loading @@ -1416,7 +1417,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } mHandler.sendMessage(obtainMessage( Session::autoFill, this, requestId, datasetIndex, dataset, true)); this, requestId, datasetIndex, dataset, true, uiType)); } // AutoFillUiCallback Loading Loading @@ -1657,7 +1658,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState if (!isAuthResultDatasetEphemeral(oldDataset, data)) { authenticatedResponse.getDatasets().set(datasetIdx, dataset); } autoFill(requestId, datasetIdx, dataset, false); autoFill(requestId, datasetIdx, dataset, false, UI_TYPE_UNKNOWN); } else { Slog.w(TAG, "invalid index (" + datasetIdx + ") for authentication id " + authenticationId); Loading Loading @@ -3376,7 +3377,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState new InlineFillUi.InlineSuggestionUiCallback() { @Override public void autofill(@NonNull Dataset dataset, int datasetIndex) { fill(response.getRequestId(), datasetIndex, dataset); fill(response.getRequestId(), datasetIndex, dataset, UI_TYPE_INLINE); } @Override Loading Loading @@ -3895,7 +3896,8 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState return viewState; } void autoFill(int requestId, int datasetIndex, Dataset dataset, boolean generateEvent) { void autoFill(int requestId, int datasetIndex, Dataset dataset, boolean generateEvent, int uiType) { if (sDebug) { Slog.d(TAG, "autoFill(): requestId=" + requestId + "; datasetIdx=" + datasetIndex + "; dataset=" + dataset); Loading @@ -3909,7 +3911,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState // Autofill it directly... if (dataset.getAuthentication() == null) { if (generateEvent) { mService.logDatasetSelected(dataset.getId(), id, mClientState); mService.logDatasetSelected(dataset.getId(), id, mClientState, uiType); } if (mCurrentViewId != null) { mInlineSessionController.hideInlineSuggestionsUiLocked(mCurrentViewId); Loading
services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java +10 −3 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ */ package com.android.server.autofill.ui; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_DIALOG; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_MENU; import static com.android.server.autofill.Helper.sDebug; import static com.android.server.autofill.Helper.sVerbose; Loading @@ -31,6 +34,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.RemoteException; import android.service.autofill.Dataset; import android.service.autofill.FillEventHistory; import android.service.autofill.FillResponse; import android.service.autofill.SaveInfo; import android.service.autofill.ValueFinder; Loading Loading @@ -81,7 +85,8 @@ public final class AutoFillUI { public interface AutoFillUiCallback { void authenticate(int requestId, int datasetIndex, @NonNull IntentSender intent, @Nullable Bundle extras, boolean authenticateInline); void fill(int requestId, int datasetIndex, @NonNull Dataset dataset); void fill(int requestId, int datasetIndex, @NonNull Dataset dataset, @FillEventHistory.Event.UiType int uiType); void save(); void cancelSave(); void requestShowFillUi(AutofillId id, int width, int height, Loading Loading @@ -236,7 +241,8 @@ public final class AutoFillUI { hideFillUiUiThread(callback, true); if (mCallback != null) { final int datasetIndex = response.getDatasets().indexOf(dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset, UI_TYPE_MENU); } } Loading Loading @@ -414,7 +420,8 @@ public final class AutoFillUI { hideFillDialogUiThread(callback); if (mCallback != null) { final int datasetIndex = response.getDatasets().indexOf(dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset); mCallback.fill(response.getRequestId(), datasetIndex, dataset, UI_TYPE_DIALOG); } } Loading