android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java | 2 android/Bootstrap/src/org/libreoffice/kit/Document.java | 2 android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java | 2 android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java | 11 + android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java | 66 +++++----- android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java | 4 android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java | 13 + 7 files changed, 58 insertions(+), 42 deletions(-)
New commits: commit 693c7b1992c5783a3b9387bbc9919561a97d6c9b Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Thu Feb 19 11:50:07 2015 +0900 android: can't compare strings with == in Java Change-Id: I5cf4d5db42f32b7c073e5899a6c90a3354dcb3c5 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index 35b0063..3d71423 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -212,7 +212,7 @@ public class LOKitThread extends Thread implements TileProvider.TileInvalidation if (mTileProvider == null) { return; } - if (keyEventType == "KeyPress") { + if (keyEventType.equals("KeyPress")) { mTileProvider.keyPress(keyEvent); } else if (keyEventType.equals("KeyRelease")) { mTileProvider.keyRelease(keyEvent); commit 59a8317d3c383fb614e0360892cc94e0eae613f1 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Thu Feb 19 11:43:08 2015 +0900 anndroid: bind "LongPress" to mouse double click Change-Id: Iba56deccf3c342ac82ca6cf78e09caf323f4a14d diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index e06107d..35b0063 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -229,8 +229,13 @@ public class LOKitThread extends Thread implements TileProvider.TileInvalidation if (mTileProvider == null) { return; } - LibreOfficeMainActivity.mAppContext.showSoftKeyboard(); - mTileProvider.mouseButtonDown(mDocumentTouchCoordinate); + if (touchType.equals("LongPress")) { + LibreOfficeMainActivity.mAppContext.hideSoftKeyboard(); + mTileProvider.mouseButtonDown(mDocumentTouchCoordinate, 2); + } else { // "SingleTap" + LibreOfficeMainActivity.mAppContext.showSoftKeyboard(); + mTileProvider.mouseButtonDown(mDocumentTouchCoordinate, 1); + } } private void createThumbnail(final ThumbnailCreator.ThumbnailCreationTask task) { diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index 2eee22a..4e5a842 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -323,21 +323,21 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback mOffice.postKeyEvent(Office.KEY_RELEASE, getCharCode(keyEvent), getKeyCode(keyEvent)); } - private void mouseButton(int type, PointF inDocument) { + private void mouseButton(int type, PointF inDocument, int numberOfClicks) { int x = (int) pixelToTwip(inDocument.x, mDPI); int y = (int) pixelToTwip(inDocument.y, mDPI); - mDocument.postMouseEvent(type, x, y, 1); + mDocument.postMouseEvent(type, x, y, numberOfClicks); } @Override - public void mouseButtonDown(PointF inDocument) { - mouseButton(Document.MOUSE_BUTTON_DOWN, inDocument); + public void mouseButtonDown(PointF documentCoordinate, int numberOfClicks) { + mouseButton(Document.MOUSE_BUTTON_DOWN, documentCoordinate, numberOfClicks); } @Override - public void mouseButtonUp(PointF inDocument) { - mouseButton(Document.MOUSE_BUTTON_UP, inDocument); + public void mouseButtonUp(PointF documentCoordinate, int numberOfClicks) { + mouseButton(Document.MOUSE_BUTTON_UP, documentCoordinate, numberOfClicks); } @Override diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java index 34347bb..ed1e069 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java @@ -103,12 +103,12 @@ public class MockTileProvider implements TileProvider { } @Override - public void mouseButtonDown(PointF inDocument) { + public void mouseButtonDown(PointF documentCoordinate, int numberOfClicks) { } @Override - public void mouseButtonUp(PointF inDocument) { + public void mouseButtonUp(PointF documentCoordinate, int numberOfClicks) { } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java index c983c62..0050d1e 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java @@ -31,12 +31,14 @@ public interface TileProvider { /** * Change the document part to the one specified by the partIndex input parameter. + * * @param partIndex - part index to change to */ void changePart(int partIndex); /** * Get the current document part number. + * * @return */ int getCurrentPartNumber(); @@ -68,27 +70,33 @@ public interface TileProvider { /** * Trigger a key press. + * * @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); /** * Trigger a mouse button down event. + * * @param documentCoordinate - coordinate relative to the document where the mouse button should be triggered + * @param numberOfClicks - number of clicks (1 - single click, 2 - double click) */ - void mouseButtonDown(PointF documentCoordinate); + void mouseButtonDown(PointF documentCoordinate, int numberOfClicks); /** * Trigger a mouse button up event. + * * @param documentCoordinate - coordinate relative to the document where the mouse button should be triggered + * @param numberOfClicks - number of clicks (1 - single click, 2 - double click) */ - void mouseButtonUp(PointF documentCoordinate); + void mouseButtonUp(PointF documentCoordinate, int numberOfClicks); /** * Callback to retrieve invalidation calls @@ -96,6 +104,7 @@ public interface TileProvider { public interface TileInvalidationCallback { /** * Invoked when a region is invalidated. + * * @param rect area in pixels which was invalidated and needs to be redrawn */ void invalidate(RectF rect); commit c27a70c5ffbd159fa2a322d68d81ec4f06504c1b Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Thu Feb 19 11:37:16 2015 +0900 andorid: format the code on LOKitTileProvider Change-Id: I289cca3835350a00dbefa4cd8b35ae065477a683 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index fec99cd..2eee22a 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -75,8 +75,7 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback if (checkDocument()) { postLoad(); mIsReady = true; - } - else { + } else { mIsReady = false; } } @@ -305,8 +304,7 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback * control keys). */ private int getKeyCode(KeyEvent keyEvent) { - switch (keyEvent.getKeyCode()) - { + switch (keyEvent.getKeyCode()) { case KeyEvent.KEYCODE_DEL: return com.sun.star.awt.Key.BACKSPACE; case KeyEvent.KEYCODE_ENTER: commit 2a9ebe52ecdec627fe6c95574285d3255ea944ee Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Thu Feb 19 11:35:21 2015 +0900 android: make invalidations more readable - extract to own methods Change-Id: I676475c028d446ff5f31a11990a09da54245f9ef diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index 8e7c4f6..fec99cd 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -398,28 +398,36 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback } switch (signalNumber) { - case Document.CALLBACK_INVALIDATE_TILES: { - RectF rect = convertCallbackMessageStringToRectF(payload); - if (rect != null) { - tileInvalidationCallback.invalidate(rect); - } + case Document.CALLBACK_INVALIDATE_TILES: + invalidateTiles(payload); break; - } - case Document.CALLBACK_INVALIDATE_VISIBLE_CURSOR: { - Log.i(LOGTAG, "Invalidate visible cursor: " + payload); - RectF rect = convertCallbackMessageStringToRectF(payload); - if (rect != null) { - RectF underSelection = new RectF(rect.centerX(), rect.bottom, rect.centerX(), rect.bottom); - TextSelection textSelection = LibreOfficeMainActivity.mAppContext.getTextSelection(); - textSelection.positionHandle(TextSelectionHandle.HandleType.MIDDLE, underSelection); - textSelection.showHandle(TextSelectionHandle.HandleType.MIDDLE); - - TextCursorLayer textCursorLayer = LibreOfficeMainActivity.mAppContext.getTextCursorLayer(); - textCursorLayer.positionCursor(rect); - textCursorLayer.showCursor(); - } + case Document.CALLBACK_INVALIDATE_VISIBLE_CURSOR: + invalidateCursor(payload); break; - } + } + } + + private void invalidateCursor(String payload) { + RectF rect = convertCallbackMessageStringToRectF(payload); + if (rect != null) { + RectF underSelection = new RectF(rect.centerX(), rect.bottom, rect.centerX(), rect.bottom); + TextSelection textSelection = LibreOfficeMainActivity.mAppContext.getTextSelection(); + textSelection.positionHandle(TextSelectionHandle.HandleType.MIDDLE, underSelection); + textSelection.showHandle(TextSelectionHandle.HandleType.MIDDLE); + + TextCursorLayer textCursorLayer = LibreOfficeMainActivity.mAppContext.getTextCursorLayer(); + textCursorLayer.positionCursor(rect); + textCursorLayer.showCursor(); + } + } + + private void invalidateTiles(String payload) { + if (tileInvalidationCallback == null) { + return; + } + RectF rect = convertCallbackMessageStringToRectF(payload); + if (rect != null) { + tileInvalidationCallback.invalidate(rect); } } } commit d70fe46c740fd9b018525effefb47442f5887373 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Thu Feb 19 11:32:31 2015 +0900 android: don't hardcode touch type Change-Id: Ie64df7832daa002daa912c26b3c6f9f2497e0348 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java index a829579..ab25078 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java @@ -86,7 +86,7 @@ public class LOKitShell { * Send touch event to LOKitThread. */ public static void sentTouchEvent(String touchType, MotionEvent motionEvent, PointF pointF) { - LOKitShell.sendEvent(new LOEvent(LOEvent.TOUCH, "SingleTap", motionEvent, pointF)); + LOKitShell.sendEvent(new LOEvent(LOEvent.TOUCH, touchType, motionEvent, pointF)); } /** commit 0a1da56d0b22574efd4791c912dc65e1bea7bcce Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Thu Feb 19 11:27:57 2015 +0900 android: organise imports Change-Id: Ie8178e34698ba686e899ddd8e4f8775081fc9d83 diff --git a/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java b/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java index 670e397..de90303 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java +++ b/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java @@ -11,8 +11,6 @@ package org.libreoffice.kit; // https://code.google.com/p/android/issues/detail?id=16941 // -import android.util.Log; - import java.nio.ByteBuffer; public final class DirectBufferAllocator { diff --git a/android/Bootstrap/src/org/libreoffice/kit/Document.java b/android/Bootstrap/src/org/libreoffice/kit/Document.java index ca2f38c..f410693 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/Document.java +++ b/android/Bootstrap/src/org/libreoffice/kit/Document.java @@ -9,8 +9,6 @@ package org.libreoffice.kit; -import android.util.Log; - import java.nio.ByteBuffer; public class Document {
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits