Merge "Make IInputMethodPrivilegedOperations to async (2/N)" into sc-dev

This commit is contained in:
Wilson Wu
2021-04-16 02:58:16 +00:00
committed by Android (Google) Code Review
4 changed files with 7 additions and 11 deletions

View File

@@ -718,7 +718,7 @@ public class InputMethodService extends AbstractInputMethodService {
public final void dispatchStartInputWithToken(@Nullable InputConnection inputConnection,
@NonNull EditorInfo editorInfo, boolean restarting,
@NonNull IBinder startInputToken) {
mPrivOps.reportStartInput(startInputToken);
mPrivOps.reportStartInputAsync(startInputToken);
if (restarting) {
restartInput(inputConnection, editorInfo);

View File

@@ -30,7 +30,7 @@ import com.android.internal.inputmethod.IVoidResultCallback;
*/
oneway interface IInputMethodPrivilegedOperations {
void setImeWindowStatusAsync(int vis, int backDisposition);
void reportStartInput(in IBinder startInputToken, in IVoidResultCallback resultCallback);
void reportStartInputAsync(in IBinder startInputToken);
void createInputContentUriToken(in Uri contentUri, in String packageName,
in IIInputContentUriTokenResultCallback resultCallback);
void reportFullscreenMode(boolean fullscreen, in IVoidResultCallback resultCallback);

View File

@@ -123,21 +123,18 @@ public final class InputMethodPrivilegedOperations {
}
/**
* Calls {@link IInputMethodPrivilegedOperations#reportStartInput(IBinder,
* IVoidResultCallback)}.
* Calls {@link IInputMethodPrivilegedOperations#reportStartInputAsync(IBinder)}.
*
* @param startInputToken {@link IBinder} token to distinguish startInput session
*/
@AnyThread
public void reportStartInput(IBinder startInputToken) {
public void reportStartInputAsync(IBinder startInputToken) {
final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull();
if (ops == null) {
return;
}
try {
final Completable.Void value = Completable.createVoid();
ops.reportStartInput(startInputToken, ResultCallbacks.of(value));
Completable.getResult(value);
ops.reportStartInputAsync(startInputToken);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}

View File

@@ -5992,9 +5992,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
@BinderThread
@Override
public void reportStartInput(IBinder startInputToken, IVoidResultCallback resultCallback) {
CallbackUtils.onResult(resultCallback,
() -> mImms.reportStartInput(mToken, startInputToken));
public void reportStartInputAsync(IBinder startInputToken) {
mImms.reportStartInput(mToken, startInputToken);
}
@BinderThread