Merge "Fix explicit intent for instant app tests." into rvc-dev

This commit is contained in:
Adam He
2020-03-03 22:39:40 +00:00
committed by Android (Google) Code Review
3 changed files with 27 additions and 12 deletions

View File

@@ -1650,11 +1650,15 @@ final class AutofillManagerServiceImpl
mRemoteInlineSuggestionRenderService = getRemoteInlineSuggestionRenderServiceLocked();
}
RemoteInlineSuggestionRenderService getRemoteInlineSuggestionRenderServiceLocked() {
final ComponentName componentName = RemoteInlineSuggestionRenderService
.getServiceComponentName(getContext(), mUserId);
@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;
}
mRemoteInlineSuggestionRenderService = new RemoteInlineSuggestionRenderService(
getContext(), componentName, InlineSuggestionRenderService.SERVICE_INTERFACE,
mUserId, new InlineSuggestionRenderCallbacksImpl(),

View File

@@ -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<>();
@@ -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);

View File

@@ -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;
}
/**
@@ -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);
}
@@ -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(),
@@ -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);
}
@@ -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);
}