android/experimental/LOAndroid3/Makefile | 2 - android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java | 8 +++++ android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java | 14 ++++++++ android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java | 3 + android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java | 16 ++++++++++ android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java | 15 +++++++++ android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java | 5 +++ android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java | 3 + android/mobile-config.py | 1 9 files changed, 65 insertions(+), 2 deletions(-)
New commits: commit 49255bdc4137f5c5a8bbf67444175c32503a3924 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Fri Jan 16 19:03:39 2015 +0900 android: Add key events in TileProvider & pass key events to LOK Change-Id: Id0a93f1c4199082b3c67802955082d04831ec124 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index 32cb43c..3b7f657 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -147,6 +147,9 @@ public class LOKitThread extends Thread implements TileProvider.TileInvalidation case LOEvent.TOUCH: touch(event.mTouchType, event.mMotionEvent); break; + case LOEvent.KEY_PRESS: + mTileProvider.keyPress(event.mKeyEvent); + break; } } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index b7dee3b..0970bbb 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -3,6 +3,7 @@ package org.libreoffice; import android.graphics.Bitmap; import android.graphics.RectF; import android.util.Log; +import android.view.KeyEvent; import org.libreoffice.kit.DirectBufferAllocator; import org.libreoffice.kit.Document; @@ -272,6 +273,11 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback this.tileInvalidationCallback = tileInvalidationCallback; } + @Override + public void keyPress(KeyEvent keyEvent) { + mOffice.postKeyEvent(Office.KEY_PRESS, keyEvent.getKeyCode()); + } + @Override protected void finalize() throws Throwable { diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java index 16772d0..15332a7 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java @@ -1,6 +1,7 @@ package org.libreoffice; import android.graphics.Bitmap; +import android.view.KeyEvent; import org.mozilla.gecko.gfx.BufferedCairoImage; import org.mozilla.gecko.gfx.CairoImage; @@ -87,6 +88,10 @@ public class MockTileProvider implements TileProvider { } @Override + public void keyPress(KeyEvent keyEvent) { + } + + @Override public void changePart(int partIndex) { } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java index faa55a8..da0d0f4 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java @@ -3,6 +3,7 @@ package org.libreoffice; import android.graphics.Bitmap; import android.graphics.RectF; +import android.view.KeyEvent; import org.mozilla.gecko.gfx.CairoImage; import org.mozilla.gecko.gfx.IntSize; @@ -33,6 +34,8 @@ public interface TileProvider { void registerInvalidationCallback(TileProvider.TileInvalidationCallback tileInvalidationCallback); + void keyPress(KeyEvent keyEvent); + /** * Callback to retrieve invalidation calls */ commit 743bdfda78a84a2830c024a608bdf2a22ba4420c Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Fri Jan 16 19:01:04 2015 +0900 android: Add needed services for editing. Change-Id: I29acea58b4e18efcf33b51361812c3f7532282ab diff --git a/android/experimental/LOAndroid3/Makefile b/android/experimental/LOAndroid3/Makefile index a19fadc..e700daa 100644 --- a/android/experimental/LOAndroid3/Makefile +++ b/android/experimental/LOAndroid3/Makefile @@ -14,7 +14,7 @@ BOOTSTRAPDIR=../../Bootstrap include $(BOOTSTRAPDIR)/Makefile.shared native-code.cxx: $(SRCDIR)/solenv/bin/native-code.py - $< -j -g core -g writer -g calc -g draw > $@ + $< -j -g core -g writer -g calc -g draw -g edit > $@ build-ant: android_version_setup copy-stuff link-so properties # diff --git a/android/mobile-config.py b/android/mobile-config.py index 9981840..93e08c6 100755 --- a/android/mobile-config.py +++ b/android/mobile-config.py @@ -23,7 +23,6 @@ main_xcd_discard = [ # no conventional UI; reverse sorted by size 'org.openoffice.Office.UI/GenericCommands', - 'org.openoffice.Office/Accelerators', 'org.openoffice.Office.UI/DrawImpressCommands', 'org.openoffice.Office.UI/Sidebar', 'org.openoffice.Office.UI/ChartCommands', commit 4904c3426d9785a12ca5f709f999700eca10b70f Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Fri Jan 16 18:06:44 2015 +0900 android: Add some comments. Change-Id: I77372ae2b1c7c4332dc4a8c244c67a82f9551e22 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java index 03b9aaf..5206694 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java @@ -49,6 +49,9 @@ public class LOKitShell { // EVENTS + /** + * Make sure LOKitThread is running and send event to it. + */ public static void sendEvent(LOEvent event) { if (LibreOfficeMainActivity.mAppContext != null && LibreOfficeMainActivity.mAppContext.getLOKitThread() != null) { LibreOfficeMainActivity.mAppContext.getLOKitThread().queueEvent(event); @@ -59,10 +62,16 @@ public class LOKitShell { LOKitShell.sendEvent(new LOEvent(LOEvent.THUMBNAIL, task)); } + /** + * Send touch event to LOKitThread. + */ public static void sentTouchEvent(String touchType, MotionEvent motionEvent) { LOKitShell.sendEvent(new LOEvent(LOEvent.TOUCH, "SingleTap", motionEvent)); } + /** + * Send key press event to LOKitThread. + */ public static void sendKeyPressEvent(KeyEvent event) { LOKitShell.sendEvent(new LOEvent(LOEvent.KEY_PRESS, event)); } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index 7eda1f1..b7dee3b 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -15,6 +15,9 @@ import org.mozilla.gecko.gfx.IntSize; import java.nio.ByteBuffer; +/** + * LOKit implementation of TileProvider. + */ public class LOKitTileProvider implements TileProvider, Document.MessageCallback { private static final String LOGTAG = LOKitTileProvider.class.getSimpleName(); private static int TILE_SIZE = 256; @@ -261,6 +264,9 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback return mDocument != null && mDocument.getDocumentType() == Document.DOCTYPE_TEXT; } + /** + * Register the tile invalidation callback. + */ @Override public void registerInvalidationCallback(TileInvalidationCallback tileInvalidationCallback) { this.tileInvalidationCallback = tileInvalidationCallback; @@ -284,6 +290,9 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback return mDocument.getPart(); } + /** + * Process the retrieved messages from LOK + */ @Override public void messageRetrieved(int signalNumber, String payload) { switch (signalNumber) { diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java index b79217d..5efbc68 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -192,6 +192,10 @@ public class LibreOfficeMainActivity extends LOAbout { return mDocumentPartViewListAdapter; } + /** + * Show software keyboard. + * Force the request on main thread. + */ public void showSoftKeyboard() { Log.i(LOGTAG, "SoftKeyboard show request.."); @@ -241,6 +245,10 @@ public class LibreOfficeMainActivity extends LOAbout { } } + + /** + * Listen to key presses and send event to LOK. + */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { LOKitShell.sendKeyPressEvent(event); commit f8bd734413fcd7d610a9636cacb9ba51f3555859 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Fri Jan 16 17:45:48 2015 +0900 android: add missing break Change-Id: I5e9598249457c62d3ccc9c5f754526c1fbe969bf diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index 9334536..7eda1f1 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -305,6 +305,7 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback tileInvalidationCallback.invalidate(rect); } } + break; } } } commit 4a413ccaaa2bb2245d517ff95e09c9a4d2f7bf61 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Fri Jan 16 17:44:27 2015 +0900 android: add key_press event and send them to LOKitThread Change-Id: I306fbe12e0a91e28bb2308074ded03b768173440 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java index 7ec346b..809988d 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java @@ -1,5 +1,6 @@ package org.libreoffice; +import android.view.KeyEvent; import android.view.MotionEvent; import org.mozilla.gecko.gfx.ComposedTileLayer; @@ -17,6 +18,7 @@ public class LOEvent implements Comparable<LOEvent> { public static final int THUMBNAIL = 8; public static final int TILE_RERENDER = 9; public static final int TOUCH = 10; + public static final int KEY_PRESS = 11; public final int mType; public int mPriority = 0; @@ -31,6 +33,7 @@ public class LOEvent implements Comparable<LOEvent> { public SubTile mTile; public String mTouchType; public MotionEvent mMotionEvent; + public KeyEvent mKeyEvent; public LOEvent(int type) { mType = type; @@ -85,6 +88,11 @@ public class LOEvent implements Comparable<LOEvent> { mMotionEvent = motionEvent; } + public LOEvent(int type, KeyEvent keyEvent) { + mType = type; + mKeyEvent = keyEvent; + } + public String getTypeString() { if (mTypeString == null) { return "Event type: " + mType; diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java index e894690..03b9aaf 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java @@ -3,6 +3,7 @@ package org.libreoffice; import android.os.Handler; import android.util.DisplayMetrics; +import android.view.KeyEvent; import android.view.MotionEvent; @@ -61,4 +62,8 @@ public class LOKitShell { public static void sentTouchEvent(String touchType, MotionEvent motionEvent) { LOKitShell.sendEvent(new LOEvent(LOEvent.TOUCH, "SingleTap", motionEvent)); } + + public static void sendKeyPressEvent(KeyEvent event) { + LOKitShell.sendEvent(new LOEvent(LOEvent.KEY_PRESS, event)); + } } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java index a40d78c..b79217d 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -9,6 +9,7 @@ import android.os.Handler; import android.support.v4.widget.DrawerLayout; import android.util.DisplayMetrics; import android.util.Log; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -239,6 +240,12 @@ public class LibreOfficeMainActivity extends LOAbout { mDrawerLayout.closeDrawer(mDrawerList); } } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + LOKitShell.sendKeyPressEvent(event); + return super.onKeyDown(keyCode, event); + } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits