[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 2 commits - android/Bootstrap android/experimental
Tomaž Vajngerl
tomaz.vajngerl at collabora.co.uk
Tue Mar 10 02:02:23 PDT 2015
android/Bootstrap/src/org/libreoffice/kit/Document.java | 8 +--
android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java | 4 +
android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java | 1
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java | 4 +
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java | 15 +++++-
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java | 23 ++++------
android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java | 4 -
android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java | 2
android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java | 2
9 files changed, 40 insertions(+), 23 deletions(-)
New commits:
commit de6f87b12bcc6a74bf22c4d153fd6ce22df305da
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Tue Mar 10 17:59:59 2015 +0900
android: clicking on toolbar icon exits edit mode
Change-Id: Idc8c94629bd7a23be1e3a13e88debc478d6ab880
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java
index 0f9b997..4c3a2ba 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java
@@ -315,6 +315,10 @@ public class InvalidationHandler implements Document.MessageCallback {
mTextCursorLayer.showGraphicSelection();
}
+ public OverlayState getCurrentState() {
+ return mState;
+ }
+
public enum OverlayState {
NONE,
TRANSITION,
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
index 18b821e..c162c22 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
@@ -23,6 +23,7 @@ public class LOEvent implements Comparable<LOEvent> {
public static final int CHANGE_HANDLE_POSITION = 10;
public static final int SWIPE_RIGHT = 11;
public static final int SWIPE_LEFT = 12;
+ public static final int NAVIGATION_CLICK = 13;
public final int mType;
public int mPriority = 0;
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
index 84123a5..6c2e921 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
@@ -142,4 +142,8 @@ public class LOKitShell {
public static void sendChangeHandlePositionEvent(TextSelectionHandle.HandleType handleType, PointF documentCoordinate) {
LOKitShell.sendEvent(new LOEvent(LOEvent.CHANGE_HANDLE_POSITION, handleType, documentCoordinate));
}
+
+ public static void sendNavigationClickEvent() {
+ LOKitShell.sendEvent(new LOEvent(LOEvent.NAVIGATION_CLICK));
+ }
}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index 3d36d93..a5fe244 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -213,6 +213,18 @@ public class LOKitThread extends Thread {
case LOEvent.SWIPE_RIGHT:
onSwipeRight();
break;
+ case LOEvent.NAVIGATION_CLICK:
+ if (mInvalidationHandler.getCurrentState() == InvalidationHandler.OverlayState.NONE) {
+ LOKitShell.getMainHandler().post(new Runnable() {
+ @Override
+ public void run() {
+ LibreOfficeMainActivity.mAppContext.onBackPressed();
+ }
+ });
+ } else {
+ mInvalidationHandler.changeStateTo(InvalidationHandler.OverlayState.NONE);
+ }
+ break;
}
}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
index cd69c1d..bf1a1b7 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
@@ -126,8 +126,8 @@ public class LibreOfficeMainActivity extends ActionBarActivity {
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
- public void onClick(View v) {
- onBackPressed();
+ public void onClick(View view) {
+ LOKitShell.sendNavigationClickEvent();
}
});
commit d1b0a0f69700090c907ee4a8a7d59a44e1e7f284
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Tue Mar 10 17:44:10 2015 +0900
android: use LOK_SETTEXTSELECTION_RESET as it is meant to be used
Change-Id: I09f175a09c8b4c9468e2221274b17216b23b76ff
diff --git a/android/Bootstrap/src/org/libreoffice/kit/Document.java b/android/Bootstrap/src/org/libreoffice/kit/Document.java
index 07d4329..9ebfdfc 100644
--- a/android/Bootstrap/src/org/libreoffice/kit/Document.java
+++ b/android/Bootstrap/src/org/libreoffice/kit/Document.java
@@ -44,11 +44,11 @@ public class Document {
public static final int CALLBACK_HYPERLINK_CLICKED = 7;
/**
- * Text selection types
+ * Set text selection types
*/
- public static final int TEXT_SELECTION_START = 0;
- public static final int TEXT_SELECTION_END = 1;
- public static final int TEXT_SELECTION_RESET = 2;
+ public static final int SET_TEXT_SELECTION_START = 0;
+ public static final int SET_TEXT_SELECTION_END = 1;
+ public static final int SET_TEXT_SELECTION_RESET = 2;
private final ByteBuffer handle;
private MessageCallback messageCallback = null;
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index d3918b2..3d36d93 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -218,8 +218,7 @@ public class LOKitThread extends Thread {
private void changeHandlePosition(TextSelectionHandle.HandleType handleType, PointF documentCoordinate) {
if (handleType == TextSelectionHandle.HandleType.MIDDLE) {
- mTileProvider.mouseButtonDown(documentCoordinate, 1);
- mTileProvider.mouseButtonUp(documentCoordinate, 1);
+ mTileProvider.setTextSelectionReset(documentCoordinate);
} else if (handleType == TextSelectionHandle.HandleType.START) {
mTileProvider.setTextSelectionStart(documentCoordinate);
} else if (handleType == TextSelectionHandle.HandleType.END) {
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
index 3a24120..eb8522c 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
@@ -2,7 +2,6 @@ package org.libreoffice;
import android.graphics.Bitmap;
import android.graphics.PointF;
-import android.graphics.RectF;
import android.util.Log;
import android.view.KeyEvent;
@@ -10,15 +9,11 @@ import org.libreoffice.kit.DirectBufferAllocator;
import org.libreoffice.kit.Document;
import org.libreoffice.kit.LibreOfficeKit;
import org.libreoffice.kit.Office;
-import org.libreoffice.R;
-import org.mozilla.gecko.TextSelection;
-import org.mozilla.gecko.TextSelectionHandle;
import org.mozilla.gecko.gfx.BufferedCairoImage;
import org.mozilla.gecko.gfx.CairoImage;
import org.mozilla.gecko.gfx.GeckoLayerClient;
import org.mozilla.gecko.gfx.IntSize;
-import org.mozilla.gecko.gfx.LayerView;
import java.nio.ByteBuffer;
@@ -364,23 +359,25 @@ public class LOKitTileProvider implements TileProvider {
mouseButton(Document.MOUSE_BUTTON_UP, documentCoordinate, numberOfClicks);
}
- @Override
- public void setTextSelectionStart(PointF documentCoordinate) {
+ private void setTextSelection(int type, PointF documentCoordinate) {
int x = (int) pixelToTwip(documentCoordinate.x, mDPI);
int y = (int) pixelToTwip(documentCoordinate.y, mDPI);
- mDocument.setTextSelection(Document.TEXT_SELECTION_START, x, y);
+ mDocument.setTextSelection(type, x, y);
+ }
+
+ @Override
+ public void setTextSelectionStart(PointF documentCoordinate) {
+ setTextSelection(Document.SET_TEXT_SELECTION_START, documentCoordinate);
}
@Override
public void setTextSelectionEnd(PointF documentCoordinate) {
- int x = (int) pixelToTwip(documentCoordinate.x, mDPI);
- int y = (int) pixelToTwip(documentCoordinate.y, mDPI);
- mDocument.setTextSelection(Document.TEXT_SELECTION_END, x, y);
+ setTextSelection(Document.SET_TEXT_SELECTION_END, documentCoordinate);
}
@Override
- public void setTextSelectionReset() {
- mDocument.setTextSelection(Document.TEXT_SELECTION_RESET, 0, 0);
+ public void setTextSelectionReset(PointF documentCoordinate) {
+ setTextSelection(Document.SET_TEXT_SELECTION_RESET, documentCoordinate);
}
@Override
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
index 8c34038..9ec55ad 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
@@ -115,7 +115,7 @@ public class MockTileProvider implements TileProvider {
}
@Override
- public void setTextSelectionReset() {
+ public void setTextSelectionReset(PointF documentCoordinate) {
}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
index 29e64a8..128344f 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
@@ -103,5 +103,5 @@ public interface TileProvider {
void setTextSelectionEnd(PointF documentCoordinate);
- void setTextSelectionReset();
+ void setTextSelectionReset(PointF documentCoordinate);
}
More information about the Libreoffice-commits
mailing list