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

This commit is contained in:
Wilson Wu
2021-03-31 10:17:25 +00:00
committed by Android (Google) Code Review
4 changed files with 7 additions and 12 deletions

View File

@@ -941,7 +941,7 @@ public class InputMethodService extends AbstractInputMethodService {
} }
private void setImeWindowStatus(int visibilityFlags, int backDisposition) { private void setImeWindowStatus(int visibilityFlags, int backDisposition) {
mPrivOps.setImeWindowStatus(visibilityFlags, backDisposition); mPrivOps.setImeWindowStatusAsync(visibilityFlags, backDisposition);
} }
/** Set region of the keyboard to be avoided from back gesture */ /** Set region of the keyboard to be avoided from back gesture */

View File

@@ -29,7 +29,7 @@ import com.android.internal.inputmethod.IVoidResultCallback;
* Actual operations are implemented and handled by InputMethodManagerService. * Actual operations are implemented and handled by InputMethodManagerService.
*/ */
oneway interface IInputMethodPrivilegedOperations { oneway interface IInputMethodPrivilegedOperations {
void setImeWindowStatus(int vis, int backDisposition, in IVoidResultCallback resultCallback); void setImeWindowStatusAsync(int vis, int backDisposition);
void reportStartInput(in IBinder startInputToken, in IVoidResultCallback resultCallback); void reportStartInput(in IBinder startInputToken, in IVoidResultCallback resultCallback);
void createInputContentUriToken(in Uri contentUri, in String packageName, void createInputContentUriToken(in Uri contentUri, in String packageName,
in IIInputContentUriTokenResultCallback resultCallback); in IIInputContentUriTokenResultCallback resultCallback);

View File

@@ -95,8 +95,7 @@ public final class InputMethodPrivilegedOperations {
} }
/** /**
* Calls {@link IInputMethodPrivilegedOperations#setImeWindowStatus(int, int, * Calls {@link IInputMethodPrivilegedOperations#setImeWindowStatusAsync(int, int}.
* IVoidResultCallback)}.
* *
* @param vis visibility flags * @param vis visibility flags
* @param backDisposition disposition flags * @param backDisposition disposition flags
@@ -107,15 +106,13 @@ public final class InputMethodPrivilegedOperations {
* @see android.inputmethodservice.InputMethodService#BACK_DISPOSITION_ADJUST_NOTHING * @see android.inputmethodservice.InputMethodService#BACK_DISPOSITION_ADJUST_NOTHING
*/ */
@AnyThread @AnyThread
public void setImeWindowStatus(int vis, int backDisposition) { public void setImeWindowStatusAsync(int vis, int backDisposition) {
final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull(); final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull();
if (ops == null) { if (ops == null) {
return; return;
} }
try { try {
final Completable.Void value = Completable.createVoid(); ops.setImeWindowStatusAsync(vis, backDisposition);
ops.setImeWindowStatus(vis, backDisposition, ResultCallbacks.of(value));
Completable.getResult(value);
} catch (RemoteException e) { } catch (RemoteException e) {
throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer();
} }

View File

@@ -5975,10 +5975,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
@BinderThread @BinderThread
@Override @Override
public void setImeWindowStatus(int vis, int backDisposition, public void setImeWindowStatusAsync(int vis, int backDisposition) {
IVoidResultCallback resultCallback) { mImms.setImeWindowStatus(mToken, vis, backDisposition);
CallbackUtils.onResult(resultCallback,
() -> mImms.setImeWindowStatus(mToken, vis, backDisposition));
} }
@BinderThread @BinderThread