Replace Service Broadcasts with two way IPC
Make sure to log all errors in LogcatMonitor
Different parts of the system uses different classes to log messages. Most of these does no go through the normal log.x() methods, but calls the native directly. So we must hook this instead to ensure that we get all errors from to buffers.
Only allow re-mapping on device attached keys
We do not want to intercept external keyboards, mouses, gamepads etc.

Also try to load the default CharacterMap for the device attached keys. This might fix some issues on some device. At the same time we allow the injected flag to stay on while returning to the original methods. This should ensure that they don't start interfering with things like haptic feedback when we inject keys.
Bump to version 3.2.0
Only allow String to return NULL from the service
Disable original haptic feedback
Most ROM's does not produce haptic feedback on injected keys, but it seams that the good people at Samsung thought it would be a good idea. So let's disable it whenever we don't want it.
Fix Application Launch action
Make sure that initiating XServiceManager does not crash system
We have to make sure also to handle the ReflectException
Add option in remap to enable external devices
Some BT Keyboards or gamepads has issues with remap due to injection being slower. But with some device this is not an issue, so let's make sure that people can choose what they want.
Fix crash issue in main activity
Bump to version 3.2.1
Missing null check, reset after first startup
Update for double-click, cleanup
Merge branch '3.x' of https://github.com/SpazeDog/xposed-additions into 3.x.g

Manual merge:
	AndroidManifest.xml
	src/com/spazedog/xposed/additionsgb/backend/PhoneWindowManager.java
Disable original haptic feedback 'fix'
This is a fix for the commit 902c0a2b

The first commit worked fine for long press actions, but since it was checking for the keydown flag and clicks are invoked on key up, it did not alays do what it should. This fix will provide a field which we can always use to check if one of the original methods is currently in the process of handling an event, during which time we will disable haptic.
Once more fix wakup issue with some ROM's
This is a merger of commit f4ba0f5f and eb8d314c

Different ROM's responds to different things. The initial fix in f4ba0f5f did fix some of these issues, but it also created new once. The reverted fix in eb8d314c fixed the once that broke with the first, but broke the fixed once.

Anyways, let's just use both and make everyone happy.
Re-introduce removal of injected flag
If the original key handling methods finds the injected flags, they will not handle anything if the screen is off. So in order to be able to for an example turn the volume up and down on music playback, we need to remove this flag.
Do not overload the handler
Since we are sending injected key events async, we don't really need to involve the handler each time, it's just overkill.
Bump to version 3.2.2
Intermediate commit after merge, to sync up