Pass inline suggestions renderer info Bundle to Frameworks and IME

Bug: 146454892
Test: manual verification
Change-Id: I5db6c3795a4a295486e497f2d27eaa561e1a3887
This commit is contained in:
Adam He
2020-03-18 17:28:32 -07:00
parent 1fdf62b72f
commit 89afcd6f5d
4 changed files with 44 additions and 13 deletions

View File

@@ -17,6 +17,7 @@
package android.service.autofill;
import android.os.IBinder;
import android.os.RemoteCallback;
import android.service.autofill.IInlineSuggestionUiCallback;
import android.service.autofill.InlinePresentation;
@@ -29,4 +30,5 @@ oneway interface IInlineSuggestionRenderService {
void renderSuggestion(in IInlineSuggestionUiCallback callback,
in InlinePresentation presentation, int width, int height,
in IBinder hostInputToken, int displayId);
void getInlineSuggestionsRendererInfo(in RemoteCallback callback);
}

View File

@@ -30,6 +30,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.RemoteCallback;
import android.os.RemoteException;
import android.util.Log;
import android.view.Display;
@@ -128,6 +129,11 @@ public abstract class InlineSuggestionRenderService extends Service {
}
}
private void handleGetInlineSuggestionsRendererInfo(@NonNull RemoteCallback callback) {
final Bundle rendererInfo = onGetInlineSuggestionsRendererInfo();
callback.sendResult(rendererInfo);
}
private void sendResult(@NonNull IInlineSuggestionUiCallback callback,
@Nullable SurfaceControlViewHost.SurfacePackage surface) {
try {
@@ -151,6 +157,13 @@ public abstract class InlineSuggestionRenderService extends Service {
InlineSuggestionRenderService.this, callback, presentation,
width, height, hostInputToken, displayId));
}
@Override
public void getInlineSuggestionsRendererInfo(@NonNull RemoteCallback callback) {
mHandler.sendMessage(obtainMessage(
InlineSuggestionRenderService::handleGetInlineSuggestionsRendererInfo,
InlineSuggestionRenderService.this, callback));
}
}.asBinder();
}