Merge "Fix the validation for showing inline suggestion in webview" into rvc-dev am: 555ae029b2 am: 53028a731d
Change-Id: I7220605885b228186dd3ac534cd37138aa508acb
This commit is contained in:
@@ -166,9 +166,14 @@ class InlineSuggestionSession {
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// The IME doesn't have information about the virtual view id for the child views in the
|
||||
// web view, so we are only comparing the parent view id here. This means that for cases
|
||||
// where there are two input fields in the web view, they will have the same view id
|
||||
// (although different virtual child id), and we will not be able to distinguish them.
|
||||
final AutofillId imeClientFieldId = mClientAutofillIdSupplier.get();
|
||||
if (!mComponentName.getPackageName().equals(mClientPackageNameSupplier.get())
|
||||
|| !fieldId.equalsIgnoreSession(mClientAutofillIdSupplier.get())) {
|
||||
|| imeClientFieldId == null
|
||||
|| fieldId.getViewId() != imeClientFieldId.getViewId()) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG,
|
||||
"handleOnInlineSuggestionsResponse() called on the wrong package/field "
|
||||
|
||||
@@ -199,7 +199,10 @@ final class InlineSuggestionSession {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!mImeInputViewStarted || !autofillId.equalsIgnoreSession(mImeFieldId)) {
|
||||
// TODO(b/151846600): IME doesn't have access to the virtual id of the webview, so we
|
||||
// only compare the view id for now.
|
||||
if (!mImeInputViewStarted || mImeFieldId == null
|
||||
|| autofillId.getViewId() != mImeFieldId.getViewId()) {
|
||||
if (sDebug) {
|
||||
Log.d(TAG,
|
||||
"onInlineSuggestionsResponseLocked not sent because input view is not "
|
||||
|
||||
Reference in New Issue
Block a user