Merge "Make IInputMethodPrivilegedOperations to async (2/N)" into sc-dev
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user