android/Bootstrap/src/org/libreoffice/kit/Document.java | 7 +- android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java | 24 ++++++++-- android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java | 7 +- android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java | 23 ++++++++- 4 files changed, 49 insertions(+), 12 deletions(-)
New commits: commit ca6ab0342eae5637e85a1e663849a99122f94fc7 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Wed Mar 4 19:22:30 2015 +0900 android: initialize TextCursorView with cursor invisible Change-Id: I36c359b930a09dbcf51880d9488f335cc38fba45 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java index 2949fd8..f1e9038 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java @@ -35,7 +35,7 @@ public class TextCursorView extends View { private Paint mCursorPaint = new Paint(); private Paint mSelectionPaint = new Paint(); - private boolean mCursorVisible = true; + private boolean mCursorVisible; public TextCursorView(Context context) { super(context); @@ -57,6 +57,10 @@ public class TextCursorView extends View { postDelayed(cursorAnimation, 500); mCursorPaint.setColor(Color.BLACK); + mCursorPaint.setAlpha(0); + + mCursorVisible = false; + mSelectionPaint.setColor(Color.BLUE); mSelectionPaint.setAlpha(50); commit c056320547a8105e26c9a83dffead57674032801 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Wed Mar 4 19:18:07 2015 +0900 android: also hide soft keyboard when hiding cursor Change-Id: I294e1d8382d997b70cb4e5af13cdef5d606885ae diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java index e089916..7bc5824 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java @@ -220,6 +220,7 @@ public class InvalidationHandler { } else if (payload.equals("false")) { mTextSelection.hideHandle(TextSelectionHandle.HandleType.MIDDLE); mTextCursorLayer.hideCursor(); + LibreOfficeMainActivity.mAppContext.hideSoftKeyboard(); } } commit 4d87bc2367d2798501c7cfc218b1fdd724e228c3 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Wed Mar 4 19:05:36 2015 +0900 android: add and handle show/hide cursor message from LOK Change-Id: I42c0971b10e3926f8fca989884da089bec8d59d4 diff --git a/android/Bootstrap/src/org/libreoffice/kit/Document.java b/android/Bootstrap/src/org/libreoffice/kit/Document.java index 7c996e5..8c20f70 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/Document.java +++ b/android/Bootstrap/src/org/libreoffice/kit/Document.java @@ -39,6 +39,7 @@ public class Document { public static final int CALLBACK_TEXT_SELECTION = 2; public static final int CALLBACK_TEXT_SELECTION_START = 3; public static final int CALLBACK_TEXT_SELECTION_END = 4; + public static final int CALLBACK_CURSOR_VISIBLE = 5; /** * Text selection types diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java index 5abdcb1..e089916 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java @@ -50,6 +50,9 @@ public class InvalidationHandler { case Document.CALLBACK_TEXT_SELECTION_END: invalidateSelectionEnd(payload); break; + case Document.CALLBACK_CURSOR_VISIBLE: + cursorVisibility(payload); + break; } } @@ -206,6 +209,20 @@ public class InvalidationHandler { } } + /** + * Handles the cursor visibility message + * @param payload + */ + private void cursorVisibility(String payload) { + if (payload.equals("true")) { + mTextSelection.showHandle(TextSelectionHandle.HandleType.MIDDLE); + mTextCursorLayer.showCursor(); + } else if (payload.equals("false")) { + mTextSelection.hideHandle(TextSelectionHandle.HandleType.MIDDLE); + mTextCursorLayer.hideCursor(); + } + } + public enum OverlayState { NONE, CURSOR, diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java index 92080e9..0fa3764 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java @@ -44,7 +44,7 @@ public class TextCursorLayer extends Layer { LOKitShell.getMainHandler().post(new Runnable() { public void run() { - mCursorView.repositionWithViewport(context.viewport.left, context.viewport.top, context.zoomFactor); + mCursorView.repositionWithViewport(mViewLeft, mViewTop, mViewZoom); } }); } @@ -52,8 +52,6 @@ public class TextCursorLayer extends Layer { public void showCursor() { LOKitShell.getMainHandler().post(new Runnable() { public void run() { - mCursorView.setVisibility(View.VISIBLE); - mViewLeft = 0.0f; mViewTop = 0.0f; mViewZoom = 0.0f; @@ -61,6 +59,7 @@ public class TextCursorLayer extends Layer { if (layerView != null) { layerView.addLayer(TextCursorLayer.this); } + mCursorView.showCursor(); } }); } @@ -68,7 +67,7 @@ public class TextCursorLayer extends Layer { public void hideCursor() { LOKitShell.getMainHandler().post(new Runnable() { public void run() { - mCursorView.setVisibility(View.GONE); + mCursorView.hideCursor(); } }); } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java index 1aa24ce..2949fd8 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java @@ -35,6 +35,8 @@ public class TextCursorView extends View { private Paint mCursorPaint = new Paint(); private Paint mSelectionPaint = new Paint(); + private boolean mCursorVisible = true; + public TextCursorView(Context context) { super(context); initialize(); @@ -55,7 +57,6 @@ public class TextCursorView extends View { postDelayed(cursorAnimation, 500); mCursorPaint.setColor(Color.BLACK); - mCursorPaint.setAlpha(0); mSelectionPaint.setColor(Color.BLUE); mSelectionPaint.setAlpha(50); @@ -114,9 +115,23 @@ public class TextCursorView extends View { private Runnable cursorAnimation = new Runnable() { public void run() { - mCursorPaint.setAlpha(mCursorPaint.getAlpha() == 0 ? 0xFF : 0); - invalidate(); + if (mCursorVisible) { + mCursorPaint.setAlpha(mCursorPaint.getAlpha() == 0 ? 0xFF : 0); + invalidate(); + } postDelayed(cursorAnimation, 500); } }; + + public void showCursor() { + mCursorVisible = true; + mCursorPaint.setAlpha(0xFF); + invalidate(); + } + + public void hideCursor() { + mCursorVisible = false; + mCursorPaint.setAlpha(0); + invalidate(); + } } \ No newline at end of file commit a97722114de64c0796e0f824c7699c8627cab663 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Wed Mar 4 18:44:22 2015 +0900 android: rename text selection callback messages Change-Id: I78c8a984907d1481134426eef164f2587c0f06c6 diff --git a/android/Bootstrap/src/org/libreoffice/kit/Document.java b/android/Bootstrap/src/org/libreoffice/kit/Document.java index c692099..7c996e5 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/Document.java +++ b/android/Bootstrap/src/org/libreoffice/kit/Document.java @@ -36,9 +36,9 @@ public class Document { */ public static final int CALLBACK_INVALIDATE_TILES = 0; public static final int CALLBACK_INVALIDATE_VISIBLE_CURSOR = 1; - public static final int CALLBACK_INVALIDATE_TEXT_SELECTION = 2; - public static final int CALLBACK_INVALIDATE_TEXT_SELECTION_START = 3; - public static final int CALLBACK_INVALIDATE_TEXT_SELECTION_END = 4; + public static final int CALLBACK_TEXT_SELECTION = 2; + public static final int CALLBACK_TEXT_SELECTION_START = 3; + public static final int CALLBACK_TEXT_SELECTION_END = 4; /** * Text selection types diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java index 8efc6f4..5abdcb1 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java @@ -41,13 +41,13 @@ public class InvalidationHandler { case Document.CALLBACK_INVALIDATE_VISIBLE_CURSOR: invalidateCursor(payload); break; - case Document.CALLBACK_INVALIDATE_TEXT_SELECTION: + case Document.CALLBACK_TEXT_SELECTION: invalidateSelection(payload); break; - case Document.CALLBACK_INVALIDATE_TEXT_SELECTION_START: + case Document.CALLBACK_TEXT_SELECTION_START: invalidateSelectionStart(payload); break; - case Document.CALLBACK_INVALIDATE_TEXT_SELECTION_END: + case Document.CALLBACK_TEXT_SELECTION_END: invalidateSelectionEnd(payload); break; }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits