Loading services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +7 −3 Original line number Diff line number Diff line Loading @@ -1650,11 +1650,15 @@ final class AutofillManagerServiceImpl mRemoteInlineSuggestionRenderService = getRemoteInlineSuggestionRenderServiceLocked(); } RemoteInlineSuggestionRenderService getRemoteInlineSuggestionRenderServiceLocked() { @Nullable RemoteInlineSuggestionRenderService getRemoteInlineSuggestionRenderServiceLocked() { if (mRemoteInlineSuggestionRenderService == null) { final ComponentName componentName = RemoteInlineSuggestionRenderService .getServiceComponentName(getContext(), mUserId); if (componentName == null) { Slog.w(TAG, "No valid component found for InlineSuggestionRenderService"); return null; } if (mRemoteInlineSuggestionRenderService == null) { mRemoteInlineSuggestionRenderService = new RemoteInlineSuggestionRenderService( getContext(), componentName, InlineSuggestionRenderService.SERVICE_INTERFACE, mUserId, new InlineSuggestionRenderCallbacksImpl(), Loading services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java +4 −3 Original line number Diff line number Diff line Loading @@ -149,7 +149,7 @@ final class RemoteAugmentedAutofillService @Nullable InlineSuggestionsRequest inlineSuggestionsRequest, @Nullable Function<InlineSuggestionsResponse, Boolean> inlineSuggestionsCallback, @NonNull Runnable onErrorCallback, @NonNull RemoteInlineSuggestionRenderService remoteRenderService) { @Nullable RemoteInlineSuggestionRenderService remoteRenderService) { long requestTime = SystemClock.elapsedRealtime(); AtomicReference<ICancellationSignal> cancellationRef = new AtomicReference<>(); Loading Loading @@ -240,9 +240,10 @@ final class RemoteAugmentedAutofillService @Nullable List<InlinePresentation> inlineActions, @NonNull AutofillId focusedId, @Nullable Function<InlineSuggestionsResponse, Boolean> inlineSuggestionsCallback, @NonNull IAutoFillManagerClient client, @NonNull Runnable onErrorCallback, @NonNull RemoteInlineSuggestionRenderService remoteRenderService) { @Nullable RemoteInlineSuggestionRenderService remoteRenderService) { if (inlineSuggestionsData == null || inlineSuggestionsData.isEmpty() || inlineSuggestionsCallback == null || request == null) { || inlineSuggestionsCallback == null || request == null || remoteRenderService == null) { return; } mCallbacks.setLastResponse(sessionId); Loading services/autofill/java/com/android/server/autofill/Session.java +15 −5 Original line number Diff line number Diff line Loading @@ -594,8 +594,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState /** * Returns whether inline suggestions are enabled for Autofill. */ private boolean isInlineSuggestionsEnabled() { return mService.isInlineSuggestionsEnabled(); private boolean isInlineSuggestionsEnabledLocked() { return mService.isInlineSuggestionsEnabled() || mService.getRemoteInlineSuggestionRenderServiceLocked() != null; } /** Loading @@ -603,7 +604,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState */ private void maybeRequestInlineSuggestionsRequestThenFillLocked(@NonNull ViewState viewState, int newState, int flags) { if (isInlineSuggestionsEnabled()) { if (isInlineSuggestionsEnabledLocked()) { mInlineSuggestionSession.onCreateInlineSuggestionsRequest(mCurrentViewId); } Loading Loading @@ -2662,6 +2663,14 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState Log.w(TAG, "InlineSuggestionsRequest unavailable"); return false; } final RemoteInlineSuggestionRenderService remoteRenderService = mService.getRemoteInlineSuggestionRenderServiceLocked(); if (remoteRenderService == null) { Log.w(TAG, "RemoteInlineSuggestionRenderService not found"); return false; } InlineSuggestionsResponse inlineSuggestionsResponse = InlineSuggestionFactory.createInlineSuggestionsResponse( inlineSuggestionsRequest.get(), Loading @@ -2670,11 +2679,12 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState synchronized (mLock) { requestHideFillUi(mCurrentViewId); } }, mService.getRemoteInlineSuggestionRenderServiceLocked()); }, remoteRenderService); if (inlineSuggestionsResponse == null) { Slog.w(TAG, "InlineSuggestionFactory created null response"); return false; } return mInlineSuggestionSession.onInlineSuggestionsResponse(mCurrentViewId, inlineSuggestionsResponse); } Loading Loading @@ -2957,7 +2967,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState // 2. standard autofill provider doesn't support inline (and returns null response) // 3. standard autofill provider supports inline, but isn't called because the field // doesn't want autofill if (mForAugmentedAutofillOnly || !isInlineSuggestionsEnabled()) { if (mForAugmentedAutofillOnly || !isInlineSuggestionsEnabledLocked()) { if (sDebug) Slog.d(TAG, "Create inline request for augmented autofill"); mInlineSuggestionSession.onCreateInlineSuggestionsRequest(mCurrentViewId); } Loading Loading
services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +7 −3 Original line number Diff line number Diff line Loading @@ -1650,11 +1650,15 @@ final class AutofillManagerServiceImpl mRemoteInlineSuggestionRenderService = getRemoteInlineSuggestionRenderServiceLocked(); } RemoteInlineSuggestionRenderService getRemoteInlineSuggestionRenderServiceLocked() { @Nullable RemoteInlineSuggestionRenderService getRemoteInlineSuggestionRenderServiceLocked() { if (mRemoteInlineSuggestionRenderService == null) { final ComponentName componentName = RemoteInlineSuggestionRenderService .getServiceComponentName(getContext(), mUserId); if (componentName == null) { Slog.w(TAG, "No valid component found for InlineSuggestionRenderService"); return null; } if (mRemoteInlineSuggestionRenderService == null) { mRemoteInlineSuggestionRenderService = new RemoteInlineSuggestionRenderService( getContext(), componentName, InlineSuggestionRenderService.SERVICE_INTERFACE, mUserId, new InlineSuggestionRenderCallbacksImpl(), Loading
services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java +4 −3 Original line number Diff line number Diff line Loading @@ -149,7 +149,7 @@ final class RemoteAugmentedAutofillService @Nullable InlineSuggestionsRequest inlineSuggestionsRequest, @Nullable Function<InlineSuggestionsResponse, Boolean> inlineSuggestionsCallback, @NonNull Runnable onErrorCallback, @NonNull RemoteInlineSuggestionRenderService remoteRenderService) { @Nullable RemoteInlineSuggestionRenderService remoteRenderService) { long requestTime = SystemClock.elapsedRealtime(); AtomicReference<ICancellationSignal> cancellationRef = new AtomicReference<>(); Loading Loading @@ -240,9 +240,10 @@ final class RemoteAugmentedAutofillService @Nullable List<InlinePresentation> inlineActions, @NonNull AutofillId focusedId, @Nullable Function<InlineSuggestionsResponse, Boolean> inlineSuggestionsCallback, @NonNull IAutoFillManagerClient client, @NonNull Runnable onErrorCallback, @NonNull RemoteInlineSuggestionRenderService remoteRenderService) { @Nullable RemoteInlineSuggestionRenderService remoteRenderService) { if (inlineSuggestionsData == null || inlineSuggestionsData.isEmpty() || inlineSuggestionsCallback == null || request == null) { || inlineSuggestionsCallback == null || request == null || remoteRenderService == null) { return; } mCallbacks.setLastResponse(sessionId); Loading
services/autofill/java/com/android/server/autofill/Session.java +15 −5 Original line number Diff line number Diff line Loading @@ -594,8 +594,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState /** * Returns whether inline suggestions are enabled for Autofill. */ private boolean isInlineSuggestionsEnabled() { return mService.isInlineSuggestionsEnabled(); private boolean isInlineSuggestionsEnabledLocked() { return mService.isInlineSuggestionsEnabled() || mService.getRemoteInlineSuggestionRenderServiceLocked() != null; } /** Loading @@ -603,7 +604,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState */ private void maybeRequestInlineSuggestionsRequestThenFillLocked(@NonNull ViewState viewState, int newState, int flags) { if (isInlineSuggestionsEnabled()) { if (isInlineSuggestionsEnabledLocked()) { mInlineSuggestionSession.onCreateInlineSuggestionsRequest(mCurrentViewId); } Loading Loading @@ -2662,6 +2663,14 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState Log.w(TAG, "InlineSuggestionsRequest unavailable"); return false; } final RemoteInlineSuggestionRenderService remoteRenderService = mService.getRemoteInlineSuggestionRenderServiceLocked(); if (remoteRenderService == null) { Log.w(TAG, "RemoteInlineSuggestionRenderService not found"); return false; } InlineSuggestionsResponse inlineSuggestionsResponse = InlineSuggestionFactory.createInlineSuggestionsResponse( inlineSuggestionsRequest.get(), Loading @@ -2670,11 +2679,12 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState synchronized (mLock) { requestHideFillUi(mCurrentViewId); } }, mService.getRemoteInlineSuggestionRenderServiceLocked()); }, remoteRenderService); if (inlineSuggestionsResponse == null) { Slog.w(TAG, "InlineSuggestionFactory created null response"); return false; } return mInlineSuggestionSession.onInlineSuggestionsResponse(mCurrentViewId, inlineSuggestionsResponse); } Loading Loading @@ -2957,7 +2967,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState // 2. standard autofill provider doesn't support inline (and returns null response) // 3. standard autofill provider supports inline, but isn't called because the field // doesn't want autofill if (mForAugmentedAutofillOnly || !isInlineSuggestionsEnabled()) { if (mForAugmentedAutofillOnly || !isInlineSuggestionsEnabledLocked()) { if (sDebug) Slog.d(TAG, "Create inline request for augmented autofill"); mInlineSuggestionSession.onCreateInlineSuggestionsRequest(mCurrentViewId); } Loading