Test script:
Step 1: Patch this CL, ag/11800786 and ag/11802630 on rvc-dev repo
Step 2: Build and flash Hawk
Step 3: Build and install a sample multi-client IME
make -j MultiClientInputMethod
adb install -r $OUT/system/priv-app/MultiClientInputMethod/MultiClientInputMethod.apk
Step 4: Enable multi-client IME for the side-loaded sample multi-client IME
adb root
adb shell setprop persist.debug.multi_client_ime com.example.android.multiclientinputmethod/.MultiClientInputMethod
adb reboot
Step 5: Open KitchenSync app, select carboard, enter text on Plain Text
tab (sample multi-session keyboard doesn't support numeric keyboard yet)
Bug: 158663354
Test: manual (see test script above)
Change-Id: I11cf467acb1091b1d417e5039519e09fa7be2bf8
Since this flag does not do any check during start input,
CL[1] removes this flag and the related parameter for IMM#onPostWindowFocus
to keep the logic simpler (included removing
ViewRootImpl#mHasHadWindowFocus).
Also remove this flag's debug string for For MultiClientInputMethod.
This is refector CL and does not impact any behavior change.
CL[1]: I9119f4846cbbd2b15246dea9a3b1fc5845dce951
Bug: 141738570
Test: Refector CL, make sure all existing test passed.
Change-Id: I9c8c9ac0ce5d0e4a803842d4cefb9119ec51024d
Introduce per-display active client. Also, deactivate previous client
when window loses focus so that connection can be restarted on next
focus gain.
Test: Manually using the steps in bug.
Bug: 131619304
Change-Id: Iefad3f018ef0cc1b3729af4a140afa1b52139ce0
Merged-In: Iefad3f018ef0cc1b3729af4a140afa1b52139ce0
- Uses the regular expression to match the display unique id.
- Changes the config separator from comma to slash, since comma is used in
virtual display unique id.
- Adds the example config for ActivityView.
Bug: 136039906
Test: manually with the example configs.
Change-Id: I51917d39c5cb11666dcb4fea69545f3075a024a7
Introduce per-display active client. Also, deactivate previous client
when window loses focus so that connection can be restarted on next
focus gain.
Test: Manually using the steps in bug.
Bug: 131619304
Change-Id: Iefad3f018ef0cc1b3729af4a140afa1b52139ce0
- Add a symbol shift keylayout.
- Apply a shifted state (upper case) on the next key input.
Bug: 132636760
Test: test manually.
Change-Id: I7447b9df47a953dad7216977e0b75ab801d863e4
- Add a symbol layout.
- Let it change the layout between qwerty and symbol on KEYCODE_MODE_CHANGE.
- Adjust key-sizes of the last row in the qwerty keyboard to make it 100%
Bug: 132636760
Test: test manually
Change-Id: I33bd70dc47498ad3f6d255641c9edf48113c053d
This is a followup for comment in I77bf8c844838f32888004611975cfa316255961b
lastClientId doesn't need to be static as MultiClientInputMethod is single instance.
Bug: 128751901
Test: Manually verified using steps in bug.
Change-Id: I049a5e9966408b1d304e23713fae2c3597d89a5c
MSIME sample can now set connection active/inactive.
Bug: 128751901
Test: Manually verified using steps in bug.
Change-Id: I77bf8c844838f32888004611975cfa316255961b
Otherwise SDK build will fail because this target puts artifacts to
privileged app dir, which is not expected for samples in the SDK
build.
You can still build MultiClientInputMethod on command line by
explicitly specifying this in the build target.
Bug: 115784148
Test: locally verified as follows:
lunch sdk_phone_armv7-userdebug
make -j PRODUCT-sdk_phone_armv7-sdk
Change-Id: I09282fa39d13f8078881a3b215cad7d3c0e81486
This CL adds a sample multi-client IME. Ahthough there are still many
limitations and missing features in this sample IME, this CL
demonstrates how a multi-client IME can be implemented.
Fix: 115784148
Test: prebuilts/checkstyle/checkstyle.py -f \
development/samples/MultiClientInputMethod/
Test: Manually verified as follows:
1. make -j MultiClientInputMethod
2. adb install -r $OUT/system/priv-app/MultiClientInputMethod/MultiClientInputMethod.apk
3. adb root
4. adb shell setprop persist.debug.multi_client_ime \
com.example.android.multiclientinputmethod/.MultiClientInputMethod
5. adb reboot
6. Try multiple text input scenario
Change-Id: Ide43e16448fa00355a2c08bc45ae94d98553da50