diff options
7 files changed, 18 insertions, 44 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java index bc786f5261b3..807d0d05788d 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java @@ -83,10 +83,9 @@ public class LOEvent implements Comparable<LOEvent> { mDocumentTouchCoordinate = documentTouchCoordinate; } - public LOEvent(int type, String keyEventType, KeyEvent keyEvent) { + public LOEvent(int type, KeyEvent keyEvent) { mType = type; mTypeString = "Key Event"; - mKeyEventType = keyEventType; mKeyEvent = keyEvent; } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitInputConnectionHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitInputConnectionHandler.java index dc4c85669a67..36d477dc6997 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitInputConnectionHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitInputConnectionHandler.java @@ -16,13 +16,13 @@ public class LOKitInputConnectionHandler implements InputConnectionHandler { @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { - LOKitShell.sendKeyPressEvent(event); + LOKitShell.sendKeyEvent(event); return false; } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { - LOKitShell.sendKeyPressEvent(event); + LOKitShell.sendKeyEvent(event); return false; } @@ -33,13 +33,13 @@ public class LOKitInputConnectionHandler implements InputConnectionHandler { @Override public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) { - LOKitShell.sendKeyPressEvent(event); + LOKitShell.sendKeyEvent(event); return false; } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { - LOKitShell.sendKeyReleaseEvent(event); + LOKitShell.sendKeyEvent(event); return false; } } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java index ab25078e5716..1e3036c3cbdf 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java @@ -90,17 +90,10 @@ public class LOKitShell { } /** - * Send key press event to LOKitThread. + * Send key event to LOKitThread. */ - public static void sendKeyPressEvent(KeyEvent event) { - LOKitShell.sendEvent(new LOEvent(LOEvent.KEY_EVENT, "KeyPress", event)); - } - - /** - * Send key release event to LOKitThread. - */ - public static void sendKeyReleaseEvent(KeyEvent event) { - LOKitShell.sendEvent(new LOEvent(LOEvent.KEY_EVENT, "KeyRelease", event)); + public static void sendKeyEvent(KeyEvent event) { + LOKitShell.sendEvent(new LOEvent(LOEvent.KEY_EVENT, event)); } public static void sendSizeChangedEvent(int width, int height) { diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index 3d71423aa34e..8ae5749b54dd 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -194,7 +194,7 @@ public class LOKitThread extends Thread implements TileProvider.TileInvalidation touch(event.mTouchType, event.mMotionEvent, event.mDocumentTouchCoordinate); break; case LOEvent.KEY_EVENT: - keyEvent(event.mKeyEventType, event.mKeyEvent); + keyEvent(event.mKeyEvent); break; case LOEvent.TILE_REEVALUATION_REQUEST: tileReevaluationRequest(event.mComposedTileLayer); @@ -205,18 +205,14 @@ public class LOKitThread extends Thread implements TileProvider.TileInvalidation /** * Processes key events. */ - private void keyEvent(String keyEventType, KeyEvent keyEvent) { + private void keyEvent(KeyEvent keyEvent) { if (!LOKitShell.isEditingEnabled()) { return; } if (mTileProvider == null) { return; } - if (keyEventType.equals("KeyPress")) { - mTileProvider.keyPress(keyEvent); - } else if (keyEventType.equals("KeyRelease")) { - mTileProvider.keyRelease(keyEvent); - } + mTileProvider.sendKeyEvent(keyEvent); } /** diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index 97fb009a4cb2..d8753de1ac61 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -314,23 +314,20 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback } @Override - public void keyPress(KeyEvent keyEvent) { + public void sendKeyEvent(KeyEvent keyEvent) { if (keyEvent.getAction() == KeyEvent.ACTION_MULTIPLE) { String keyString = keyEvent.getCharacters(); for (int i = 0; i < keyString.length(); i++) { int codePoint = keyString.codePointAt(i); mOffice.postKeyEvent(Office.KEY_PRESS, codePoint, getKeyCode(keyEvent)); } - } else { + } else if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) { mOffice.postKeyEvent(Office.KEY_PRESS, getCharCode(keyEvent), getKeyCode(keyEvent)); + } else if (keyEvent.getAction() == KeyEvent.ACTION_UP) { + mOffice.postKeyEvent(Office.KEY_RELEASE, getCharCode(keyEvent), getKeyCode(keyEvent)); } } - @Override - public void keyRelease(KeyEvent keyEvent) { - mOffice.postKeyEvent(Office.KEY_RELEASE, getCharCode(keyEvent), getKeyCode(keyEvent)); - } - private void mouseButton(int type, PointF inDocument, int numberOfClicks) { int x = (int) pixelToTwip(inDocument.x, mDPI); int y = (int) pixelToTwip(inDocument.y, mDPI); diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java index ed1e0697cbe2..e6fbcd2f508b 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java @@ -94,11 +94,7 @@ public class MockTileProvider implements TileProvider { } @Override - public void keyPress(KeyEvent keyEvent) { - } - - @Override - public void keyRelease(KeyEvent keyEvent) { + public void sendKeyEvent(KeyEvent keyEvent) { } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java index 0050d1ea2ed7..92dbb3d7462b 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java @@ -69,18 +69,11 @@ public interface TileProvider { void registerInvalidationCallback(TileProvider.TileInvalidationCallback tileInvalidationCallback); /** - * Trigger a key press. + * Trigger a key event. * * @param keyEvent - contains information about key event */ - void keyPress(KeyEvent keyEvent); - - /** - * Trigger a key release. - * - * @param keyEvent - contains information about key event - */ - void keyRelease(KeyEvent keyEvent); + void sendKeyEvent(KeyEvent keyEvent); /** * Trigger a mouse button down event. |