Skip to content
Commit 9b60ba07 authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Unify IInputMethodPrivilegedOperations as sync IPC

Since its bettining [1] notifyUserAction() has been implemented as an
async IPC method.  This wasn't changed when I recently moved it from
IInputMethodManager to IInputMethodPrivilegedOperations [2].

However, mixing sync and async methods into the same Binder object is
known to be an anti-pattern.  Although sending some signals in an
asynchronous manner would make sense, it should be done by converting
all the methods to async (with some result callbacks for operations
that need to receive responce) like we do so in IInputContext.aidl.

As for IInputMethodPrivilegedOperations, I think converting
notifyUserAction() from async to sync is acceptable because there are
already similar sync methods such as:
 * setImeWindowStatus
 * reportStartInput
 * reportFullscreenMode
 * updateStatusIcon

 [1]: I11ed9a767588f8080753cd9bce011dac7db579ad
      d7443c83
 [2]: Icc1f9c7f530f0144ecfd460e86114e109ae0044e
      c07fd4c2

Bug: 114159783
Test: Manually verified as follows
  1. Build and flush aosp_taimen-userdebug into Taimen
  2. make -j SoftKeyboard
  3. adb install -r $OUT/system/app/SoftKeyboard/SoftKeyboard.apk
  4. adb shell ime enable com.example.android.softkeyboard/.SoftKeyboard
  5. Open AOSP Keyboard settings
  6. Enable "English (US)", "French", and "German"
  7. Open SoftKeyboard settings
  8. Enable "English (United States)", "English (GB)"
  9. Open the Dialer app and tap the top edit field.
 10. Make sure that the IME layout rotation order when tapping the
     globe key will be updated only when you tap the keyboard to enter
     some character.
 11. Also confirm it with "adb shell dumpsys input_method" by checking
     "mSwitchingController:" section there.
Change-Id: I9d41f19e30f205acd4d257a105e285bd32288130
parent 161fb939
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment