Review Request 129728: kdeconnect-android: Add remotekeyboard plugin

Holger Kaelberer holger.k at elberer.de
Fri Jan 13 20:32:42 UTC 2017


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129728/
-----------------------------------------------------------

(Updated Jan. 13, 2017, 8:32 p.m.)


Review request for kdeconnect.


Changes
-------

- rename all packets to kdeconnect.mousepad.xxx, echo packets to type kdeconnect.mousepad.echo
- lock access to static instances map
- drop RemoteKeyboardService.connected flag
- send a kdeconnect.mousepad.keyboardstate to all connected peers whenever we are (no longer) ready to accept remote keyevents


Bugs: 370919
    http://bugs.kde.org/show_bug.cgi?id=370919


Repository: kdeconnect-android


Description
-------

Allow to receive keypress events from remote devices.

Notes / open issues / possible improvements:

- Pls. have a close look at the Android-code, that was written by a non-Android dev! ;-) Especially:

- Not sure if invocations of InputConnection::sendKeyEvents() from the thread triggering onPackageReceived() need to by async (using a Handler or so). Works fine for me as it is now, but maybe I'm not aware of some Android threading policies.

- So far no settings-activity for the ime defined to be launched from the OS settings. Should we?

- Handles a couple of special key-sequences so far: Shift+Arrows/Home/End (update selection), Ctrl+(Shift+)Arrows (jump/update selection by word), Ctrl+Enter (force Send/Go/... IME-Action), Ctrl+c/v/x/a (Copy/Paste/Cut/Select all)

- There is probably other behaviour that could be made configurable (like Ctrl+Return triggering IME-actions etc.)


Diffs (updated)
-----

  AndroidManifest.xml b1e1c51 
  res/drawable-hdpi/ic_keyboard_hide_white_36dp.png PRE-CREATION 
  res/drawable-hdpi/ic_phonelink_off_white_36dp.png PRE-CREATION 
  res/drawable-hdpi/ic_phonelink_white_36dp.png PRE-CREATION 
  res/drawable-mdpi/ic_keyboard_hide_white_36dp.png PRE-CREATION 
  res/drawable-mdpi/ic_phonelink_off_white_36dp.png PRE-CREATION 
  res/drawable-mdpi/ic_phonelink_white_36dp.png PRE-CREATION 
  res/drawable-xhdpi/ic_keyboard_hide_white_36dp.png PRE-CREATION 
  res/drawable-xhdpi/ic_phonelink_off_white_36dp.png PRE-CREATION 
  res/drawable-xhdpi/ic_phonelink_white_36dp.png PRE-CREATION 
  res/drawable-xxhdpi/ic_keyboard_hide_white_36dp.png PRE-CREATION 
  res/drawable-xxhdpi/ic_phonelink_off_white_36dp.png PRE-CREATION 
  res/drawable-xxhdpi/ic_phonelink_white_36dp.png PRE-CREATION 
  res/drawable-xxxhdpi/ic_keyboard_hide_white_36dp.png PRE-CREATION 
  res/drawable-xxxhdpi/ic_phonelink_off_white_36dp.png PRE-CREATION 
  res/drawable-xxxhdpi/ic_phonelink_white_36dp.png PRE-CREATION 
  res/values/dimens.xml 47c8224 
  res/values/strings.xml 955b88d 
  res/xml/remotekeyboardplugin_keyboard.xml PRE-CREATION 
  res/xml/remotekeyboardplugin_method.xml PRE-CREATION 
  res/xml/remotekeyboardplugin_preferences.xml PRE-CREATION 
  src/org/kde/kdeconnect/Plugins/PluginFactory.java 1da88ef 
  src/org/kde/kdeconnect/Plugins/RemoteKeyboardPlugin/RemoteKeyboardPlugin.java PRE-CREATION 
  src/org/kde/kdeconnect/Plugins/RemoteKeyboardPlugin/RemoteKeyboardService.java PRE-CREATION 
  src/org/kde/kdeconnect/UserInterface/MaterialActivity.java c28e38c 

Diff: https://git.reviewboard.kde.org/r/129728/diff/


Testing
-------

Sure, on:
- S2 (4.2.2, CyanogenMod)
- Sony Z5 Compact (6.0.1)
- Galaxy Tab 4 (5.0.2)
- S3 Mini (4.1.2)


Thanks,

Holger Kaelberer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdeconnect/attachments/20170113/1c853431/attachment.html>


More information about the KDEConnect mailing list