[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 6 commits - android/Bootstrap android/experimental
Tomaž Vajngerl
tomaz.vajngerl at collabora.co.uk
Wed Feb 18 18:56:36 PST 2015
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.vajngerl at 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.vajngerl at 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.vajngerl at 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.vajngerl at 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.vajngerl at 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.vajngerl at 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 {
More information about the Libreoffice-commits
mailing list