android/Bootstrap/src/fi/iki/tml/CommandLine.java | 176 --------- android/Bootstrap/src/org/libreoffice/kit/Document.java | 55 ++- android/Bootstrap/src/org/libreoffice/kit/Office.java | 3 android/source/build.gradle | 1 android/source/res/drawable-hdpi/handle_alias_end.xml | 5 android/source/res/drawable-hdpi/handle_alias_middle.xml | 5 android/source/res/drawable-hdpi/handle_alias_start.xml | 5 android/source/res/drawable-hdpi/handle_image_end.png |binary android/source/res/drawable-hdpi/handle_image_middle.png |binary android/source/res/drawable-hdpi/handle_image_start.png |binary android/source/res/drawable-xhdpi/handle_image_end.png |binary android/source/res/drawable-xhdpi/handle_image_middle.png |binary android/source/res/drawable-xhdpi/handle_image_start.png |binary android/source/res/drawable/handle_end_level.xml | 14 android/source/res/drawable/handle_image_end.png |binary android/source/res/drawable/handle_image_middle.png |binary android/source/res/drawable/handle_image_start.png |binary android/source/res/drawable/handle_start_level.xml | 14 android/source/res/values/colors.xml | 177 +++++----- android/source/src/java/org/libreoffice/InvalidationHandler.java | 4 android/source/src/java/org/libreoffice/LOEvent.java | 13 android/source/src/java/org/libreoffice/LOKitThread.java | 2 android/source/src/java/org/libreoffice/LOKitTileProvider.java | 16 android/source/src/java/org/libreoffice/TileProvider.java | 2 android/source/src/java/org/libreoffice/canvas/SelectionHandleEnd.java | 2 android/source/src/java/org/libreoffice/canvas/SelectionHandleMiddle.java | 2 android/source/src/java/org/libreoffice/canvas/SelectionHandleStart.java | 2 android/source/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java | 5 android/source/src/java/org/mozilla/gecko/gfx/TextureReaper.java | 23 - desktop/source/lib/init.cxx | 34 + desktop/source/lib/lokandroid.cxx | 50 ++ dev/null |binary include/LibreOfficeKit/LibreOfficeKit.hxx | 5 33 files changed, 272 insertions(+), 343 deletions(-)
New commits: commit b577b5b505138ecb90e1e9e6405de86b503afd59 Author: Tomaž Vajngerl <[email protected]> Date: Sun Nov 1 23:28:43 2015 +0100 android: chanhe handles to use alias, tint handles with color Change-Id: I86ad5eefd70bc8b768780cac66ca466aa0926dc4 (cherry picked from commit 74463457b39c9def1add630b7b0581dc195549c8) diff --git a/android/source/res/drawable-hdpi/handle_alias_end.xml b/android/source/res/drawable-hdpi/handle_alias_end.xml new file mode 100644 index 0000000..8319861 --- /dev/null +++ b/android/source/res/drawable-hdpi/handle_alias_end.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> + +<bitmap xmlns:android="http://schemas.android.com/apk/res/android" + android:src="@drawable/handle_image_end" + android:tint="@color/handle_color"/> \ No newline at end of file diff --git a/android/source/res/drawable-hdpi/handle_alias_middle.xml b/android/source/res/drawable-hdpi/handle_alias_middle.xml new file mode 100644 index 0000000..a8587f6 --- /dev/null +++ b/android/source/res/drawable-hdpi/handle_alias_middle.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> + +<bitmap xmlns:android="http://schemas.android.com/apk/res/android" + android:src="@drawable/handle_image_middle" + android:tint="@color/handle_color"/> \ No newline at end of file diff --git a/android/source/res/drawable-hdpi/handle_alias_start.xml b/android/source/res/drawable-hdpi/handle_alias_start.xml new file mode 100644 index 0000000..df10470 --- /dev/null +++ b/android/source/res/drawable-hdpi/handle_alias_start.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> + +<bitmap xmlns:android="http://schemas.android.com/apk/res/android" + android:src="@drawable/handle_image_start" + android:tint="@color/handle_color"/> \ No newline at end of file diff --git a/android/source/res/drawable-hdpi/handle_end.png b/android/source/res/drawable-hdpi/handle_image_end.png similarity index 100% rename from android/source/res/drawable-hdpi/handle_end.png rename to android/source/res/drawable-hdpi/handle_image_end.png diff --git a/android/source/res/drawable-hdpi/handle_middle.png b/android/source/res/drawable-hdpi/handle_image_middle.png similarity index 100% rename from android/source/res/drawable-hdpi/handle_middle.png rename to android/source/res/drawable-hdpi/handle_image_middle.png diff --git a/android/source/res/drawable-hdpi/handle_start.png b/android/source/res/drawable-hdpi/handle_image_start.png similarity index 100% rename from android/source/res/drawable-hdpi/handle_start.png rename to android/source/res/drawable-hdpi/handle_image_start.png diff --git a/android/source/res/drawable-xhdpi/handle_end.png b/android/source/res/drawable-xhdpi/handle_image_end.png similarity index 100% rename from android/source/res/drawable-xhdpi/handle_end.png rename to android/source/res/drawable-xhdpi/handle_image_end.png diff --git a/android/source/res/drawable-xhdpi/handle_middle.png b/android/source/res/drawable-xhdpi/handle_image_middle.png similarity index 100% rename from android/source/res/drawable-xhdpi/handle_middle.png rename to android/source/res/drawable-xhdpi/handle_image_middle.png diff --git a/android/source/res/drawable-xhdpi/handle_start.png b/android/source/res/drawable-xhdpi/handle_image_start.png similarity index 100% rename from android/source/res/drawable-xhdpi/handle_start.png rename to android/source/res/drawable-xhdpi/handle_image_start.png diff --git a/android/source/res/drawable/handle_end_level.xml b/android/source/res/drawable/handle_end_level.xml deleted file mode 100644 index 40a512b..0000000 --- a/android/source/res/drawable/handle_end_level.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- This Source Code Form is subject to the terms of the Mozilla Public - - License, v. 2.0. If a copy of the MPL was not distributed with this - - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - -<level-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- LTR --> - <item android:maxLevel="0" android:drawable="@drawable/handle_end"/> - - <!-- RTL --> - <item android:maxLevel="1" android:drawable="@drawable/handle_start"/> - -</level-list> diff --git a/android/source/res/drawable/handle_end.png b/android/source/res/drawable/handle_image_end.png similarity index 100% rename from android/source/res/drawable/handle_end.png rename to android/source/res/drawable/handle_image_end.png diff --git a/android/source/res/drawable/handle_middle.png b/android/source/res/drawable/handle_image_middle.png similarity index 100% rename from android/source/res/drawable/handle_middle.png rename to android/source/res/drawable/handle_image_middle.png diff --git a/android/source/res/drawable/handle_start.png b/android/source/res/drawable/handle_image_start.png similarity index 100% rename from android/source/res/drawable/handle_start.png rename to android/source/res/drawable/handle_image_start.png diff --git a/android/source/res/drawable/handle_start_level.xml b/android/source/res/drawable/handle_start_level.xml deleted file mode 100644 index 2294513..0000000 --- a/android/source/res/drawable/handle_start_level.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- This Source Code Form is subject to the terms of the Mozilla Public - - License, v. 2.0. If a copy of the MPL was not distributed with this - - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - -<level-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- LTR --> - <item android:maxLevel="0" android:drawable="@drawable/handle_start"/> - - <!-- RTL --> - <item android:maxLevel="1" android:drawable="@drawable/handle_end"/> - -</level-list> diff --git a/android/source/res/values/colors.xml b/android/source/res/values/colors.xml index 6321906..3e1cd21 100644 --- a/android/source/res/values/colors.xml +++ b/android/source/res/values/colors.xml @@ -91,5 +91,8 @@ <color name="home_last_tab_bar_bg">#FFF5F7F9</color> <color name="panel_grid_item_image_background">#D1D9E1</color> + + <color name="handle_color">#40A040</color> + </resources> diff --git a/android/source/src/java/org/libreoffice/canvas/SelectionHandleEnd.java b/android/source/src/java/org/libreoffice/canvas/SelectionHandleEnd.java index 7d4d635..f0b68ee 100644 --- a/android/source/src/java/org/libreoffice/canvas/SelectionHandleEnd.java +++ b/android/source/src/java/org/libreoffice/canvas/SelectionHandleEnd.java @@ -9,7 +9,7 @@ import org.libreoffice.R; */ public class SelectionHandleEnd extends SelectionHandle { public SelectionHandleEnd(Context context) { - super(getBitmapForDrawable(context, R.drawable.handle_end)); + super(getBitmapForDrawable(context, R.drawable.handle_alias_end)); } /** diff --git a/android/source/src/java/org/libreoffice/canvas/SelectionHandleMiddle.java b/android/source/src/java/org/libreoffice/canvas/SelectionHandleMiddle.java index b7f6e26..409c3f2 100644 --- a/android/source/src/java/org/libreoffice/canvas/SelectionHandleMiddle.java +++ b/android/source/src/java/org/libreoffice/canvas/SelectionHandleMiddle.java @@ -9,7 +9,7 @@ import org.libreoffice.R; */ public class SelectionHandleMiddle extends SelectionHandle { public SelectionHandleMiddle(Context context) { - super(getBitmapForDrawable(context, R.drawable.handle_middle)); + super(getBitmapForDrawable(context, R.drawable.handle_alias_middle)); } /** diff --git a/android/source/src/java/org/libreoffice/canvas/SelectionHandleStart.java b/android/source/src/java/org/libreoffice/canvas/SelectionHandleStart.java index ac6e089..66b109f 100644 --- a/android/source/src/java/org/libreoffice/canvas/SelectionHandleStart.java +++ b/android/source/src/java/org/libreoffice/canvas/SelectionHandleStart.java @@ -9,7 +9,7 @@ import org.libreoffice.R; */ public class SelectionHandleStart extends SelectionHandle { public SelectionHandleStart(Context context) { - super(getBitmapForDrawable(context, R.drawable.handle_start)); + super(getBitmapForDrawable(context, R.drawable.handle_alias_start)); } /** commit bfa841269d13baa46dbd55fe72371f4fa3ee3e50 Author: Tomaž Vajngerl <[email protected]> Date: Sun Nov 1 23:17:52 2015 +0100 andorid: use 4 spaces for indent in color.xml Change-Id: I2435e8ce93383a1a40996a81ef65c1823606609a (cherry picked from commit d38abe1da2a42bc20a986d43f96142e15c1b3bef) diff --git a/android/source/res/values/colors.xml b/android/source/res/values/colors.xml index f8e207d..6321906 100644 --- a/android/source/res/values/colors.xml +++ b/android/source/res/values/colors.xml @@ -4,92 +4,92 @@ - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> <resources> - <color name="background_light">#FFECF0F3</color> - <color name="background_normal">#FFCED7DE</color> - <color name="background_private">#FF292C29</color> - <color name="background_tabs">#FF363B40</color> - <color name="highlight">#33000000</color> - <color name="highlight_focused">#1A000000</color> - <color name="highlight_dark">#33FFFFFF</color> - <color name="highlight_dark_focused">#1AFFFFFF</color> - - <!-- highlight on shaped button: 20% white over background_tabs --> - <color name="highlight_shaped">#FF696D71</color> - - <!-- highlight-focused on shaped button: 10% white over background_tabs --> - <color name="highlight_shaped_focused">#FF565B60</color> - - <!-- highlight on nav button: 20% black over background_normal --> - <color name="highlight_nav">#FFA5ACB2</color> - - <!-- highlight-focused on nav button: 10% black over background_normal --> - <color name="highlight_nav_focused">#FFB9C1C7</color> - - <!-- highlight on private nav button: 20% white over background_private --> - <color name="highlight_nav_pb">#FF545654</color> - - <!-- highlight-focused on private nav button: 10% white over background_private --> - <color name="highlight_nav_focused_pb">#FF3F423F</color> - - <!-- - Application theme colors - --> - <!-- Default colors --> - <color name="text_color_primary">#222222</color> - <color name="text_color_secondary">#777777</color> - <color name="text_color_tertiary">#9198A1</color> - - <!-- Default inverse colors --> - <color name="text_color_primary_inverse">#FFFFFF</color> - <color name="text_color_secondary_inverse">#DDDDDD</color> - <color name="text_color_tertiary_inverse">#A4A7A9</color> - - <!-- Disabled colors --> - <color name="text_color_primary_disable_only">#999999</color> - - <!-- Hint colors --> - <color name="text_color_hint">#666666</color> - <color name="text_color_hint_inverse">#7F828A</color> - - <!-- Highlight colors --> - <color name="text_color_highlight">#FF9500</color> - <color name="text_color_highlight_inverse">#D06BFF</color> - - <!-- Link colors --> - <color name="text_color_link">#22629E</color> - - <color name="splash_background">#000000</color> - <color name="splash_msgfont">#ffffff</color> - <color name="splash_urlfont">#000000</color> - <color name="splash_content">#ffffff</color> - - <color name="doorhanger_text">#FF222222</color> - <color name="doorhanger_link">#FF2AA1FE</color> - <color name="doorhanger_divider_light">#FFD1D5DA</color> - <color name="doorhanger_divider_dark">#FFB3C2CE</color> - <color name="doorhanger_background_dark">#FFDDE4EA</color> - - <color name="validation_message_text">#ffffff</color> - <color name="url_bar_text_highlight">#FFFF9500</color> - <color name="url_bar_text_highlight_pb">#FFD06BFF</color> - <color name="suggestion_primary">#dddddd</color> - <color name="suggestion_pressed">#bbbbbb</color> - <color name="tab_row_pressed">#4D000000</color> - <color name="dialogtitle_textcolor">#ffffff</color> - - <color name="textbox_background">#FFF</color> - <color name="textbox_background_disabled">#DDD</color> - <color name="textbox_stroke">#000</color> - <color name="textbox_stroke_disabled">#666</color> - - <color name="url_bar_urltext">#A6A6A6</color> - <color name="url_bar_domaintext">#000</color> - <color name="url_bar_domaintext_private">#FFF</color> - <color name="url_bar_blockedtext">#b14646</color> - <color name="url_bar_shadow">#12000000</color> - - <color name="home_last_tab_bar_bg">#FFF5F7F9</color> - - <color name="panel_grid_item_image_background">#D1D9E1</color> + <color name="background_light">#FFECF0F3</color> + <color name="background_normal">#FFCED7DE</color> + <color name="background_private">#FF292C29</color> + <color name="background_tabs">#FF363B40</color> + <color name="highlight">#33000000</color> + <color name="highlight_focused">#1A000000</color> + <color name="highlight_dark">#33FFFFFF</color> + <color name="highlight_dark_focused">#1AFFFFFF</color> + + <!-- highlight on shaped button: 20% white over background_tabs --> + <color name="highlight_shaped">#FF696D71</color> + + <!-- highlight-focused on shaped button: 10% white over background_tabs --> + <color name="highlight_shaped_focused">#FF565B60</color> + + <!-- highlight on nav button: 20% black over background_normal --> + <color name="highlight_nav">#FFA5ACB2</color> + + <!-- highlight-focused on nav button: 10% black over background_normal --> + <color name="highlight_nav_focused">#FFB9C1C7</color> + + <!-- highlight on private nav button: 20% white over background_private --> + <color name="highlight_nav_pb">#FF545654</color> + + <!-- highlight-focused on private nav button: 10% white over background_private --> + <color name="highlight_nav_focused_pb">#FF3F423F</color> + + <!-- + Application theme colors + --> + <!-- Default colors --> + <color name="text_color_primary">#222222</color> + <color name="text_color_secondary">#777777</color> + <color name="text_color_tertiary">#9198A1</color> + + <!-- Default inverse colors --> + <color name="text_color_primary_inverse">#FFFFFF</color> + <color name="text_color_secondary_inverse">#DDDDDD</color> + <color name="text_color_tertiary_inverse">#A4A7A9</color> + + <!-- Disabled colors --> + <color name="text_color_primary_disable_only">#999999</color> + + <!-- Hint colors --> + <color name="text_color_hint">#666666</color> + <color name="text_color_hint_inverse">#7F828A</color> + + <!-- Highlight colors --> + <color name="text_color_highlight">#FF9500</color> + <color name="text_color_highlight_inverse">#D06BFF</color> + + <!-- Link colors --> + <color name="text_color_link">#22629E</color> + + <color name="splash_background">#000000</color> + <color name="splash_msgfont">#ffffff</color> + <color name="splash_urlfont">#000000</color> + <color name="splash_content">#ffffff</color> + + <color name="doorhanger_text">#FF222222</color> + <color name="doorhanger_link">#FF2AA1FE</color> + <color name="doorhanger_divider_light">#FFD1D5DA</color> + <color name="doorhanger_divider_dark">#FFB3C2CE</color> + <color name="doorhanger_background_dark">#FFDDE4EA</color> + + <color name="validation_message_text">#ffffff</color> + <color name="url_bar_text_highlight">#FFFF9500</color> + <color name="url_bar_text_highlight_pb">#FFD06BFF</color> + <color name="suggestion_primary">#dddddd</color> + <color name="suggestion_pressed">#bbbbbb</color> + <color name="tab_row_pressed">#4D000000</color> + <color name="dialogtitle_textcolor">#ffffff</color> + + <color name="textbox_background">#FFF</color> + <color name="textbox_background_disabled">#DDD</color> + <color name="textbox_stroke">#000</color> + <color name="textbox_stroke_disabled">#666</color> + + <color name="url_bar_urltext">#A6A6A6</color> + <color name="url_bar_domaintext">#000</color> + <color name="url_bar_domaintext_private">#FFF</color> + <color name="url_bar_blockedtext">#b14646</color> + <color name="url_bar_shadow">#12000000</color> + + <color name="home_last_tab_bar_bg">#FFF5F7F9</color> + + <color name="panel_grid_item_image_background">#D1D9E1</color> </resources> commit b3a91cf20bae871ef8438101425d5f176d0b0135 Author: Tomaž Vajngerl <[email protected]> Date: Sun Nov 1 23:06:09 2015 +0100 android: don't crash in LO when SurfaceView layout is 0 width Change-Id: I49be19b273d0c263637369e9b095f374b345191b (cherry picked from commit 37d41674c2b1a706c95c2c326cbfbd06b0c1a655) diff --git a/android/source/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java b/android/source/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java index e11c91c..e902a06 100644 --- a/android/source/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java +++ b/android/source/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java @@ -149,6 +149,11 @@ public abstract class ComposedTileLayer extends Layer implements ComponentCallba RectF newViewPort = getViewPort(viewportMetrics); float newZoom = getZoom(viewportMetrics); + // When + if (newZoom <= 0.0 || Float.isNaN(newZoom)) { + return; + } + if (currentViewport.equals(newViewPort) && FloatUtils.fuzzyEquals(currentZoom, newZoom)) { return; } commit 7c5580234f785f20db097b49317dc3ff50d26b4f Author: Tomaž Vajngerl <[email protected]> Date: Sun Nov 1 22:57:53 2015 +0100 android: don't crash in TextureReaper when Integer is null Change-Id: I1514aa7a3fbab682b0d282ba0f504470943d7e4a (cherry picked from commit 9a52bad40ab96a58bc817fbfe1145a6766d75940) diff --git a/android/source/src/java/org/mozilla/gecko/gfx/TextureReaper.java b/android/source/src/java/org/mozilla/gecko/gfx/TextureReaper.java index 3063e5b..1a8a504 100644 --- a/android/source/src/java/org/mozilla/gecko/gfx/TextureReaper.java +++ b/android/source/src/java/org/mozilla/gecko/gfx/TextureReaper.java @@ -6,6 +6,7 @@ package org.mozilla.gecko.gfx; import android.opengl.GLES20; +import android.util.Log; import java.util.ArrayList; @@ -14,28 +15,30 @@ import java.util.ArrayList; */ public class TextureReaper { private static TextureReaper sSharedInstance; - private ArrayList<Integer> mDeadTextureIDs; + private ArrayList<Integer> mDeadTextureIDs = new ArrayList<Integer>(); + private static final String LOGTAG = TextureReaper.class.getSimpleName(); private TextureReaper() { - mDeadTextureIDs = new ArrayList<Integer>(); } public static TextureReaper get() { - if (sSharedInstance == null) + if (sSharedInstance == null) { sSharedInstance = new TextureReaper(); + } return sSharedInstance; } public void add(int[] textureIDs) { - for (int textureID : textureIDs) + for (int textureID : textureIDs) { add(textureID); + } } - public void add(int textureID) { + public synchronized void add(int textureID) { mDeadTextureIDs.add(textureID); } - public void reap() { + public synchronized void reap() { int numTextures = mDeadTextureIDs.size(); // Adreno 200 will generate INVALID_VALUE if len == 0 is passed to glDeleteTextures, // even though it's not supposed to. @@ -44,7 +47,13 @@ public class TextureReaper { int[] deadTextureIDs = new int[numTextures]; for (int i = 0; i < numTextures; i++) { - deadTextureIDs[i] = mDeadTextureIDs.get(i); + Integer id = mDeadTextureIDs.get(i); + if (id == null) { + deadTextureIDs[i] = 0; + Log.e(LOGTAG, "Dead texture id is null"); + } else { + deadTextureIDs[i] = mDeadTextureIDs.get(i); + } } mDeadTextureIDs.clear(); commit 9085b5f6d40031e164d776fcd9daa0305b4e5a23 Author: Tomaž Vajngerl <[email protected]> Date: Sun Nov 1 22:52:24 2015 +0100 android: update JNI facade, rename mouse/keyboard event flags Change-Id: Ia2b9a812717d05c7d98d47bf0fe5fd293029d045 (cherry picked from commit 6d9124de6fac2dea39427978993e68155291cc9c) diff --git a/android/Bootstrap/src/org/libreoffice/kit/Document.java b/android/Bootstrap/src/org/libreoffice/kit/Document.java index 6c0ee54..669ca94 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/Document.java +++ b/android/Bootstrap/src/org/libreoffice/kit/Document.java @@ -12,12 +12,12 @@ package org.libreoffice.kit; import java.nio.ByteBuffer; public class Document { - public static final int PART_MODE_DEFAULT = 0; - public static final int PART_MODE_SLIDE = 1; - public static final int PART_MODE_NOTES = 2; - public static final int PART_MODE_SLIDENOTES = 3; - public static final int PART_MODE_EMBEDDEDOBJ = 4; + public static final int PART_MODE_SLIDE = 0; + public static final int PART_MODE_NOTES = 1; + /** + * Document types + */ public static final int DOCTYPE_TEXT = 0; public static final int DOCTYPE_SPREADSHEET = 1; public static final int DOCTYPE_PRESENTATION = 2; @@ -27,10 +27,15 @@ public class Document { /** * Mouse event types */ - public static final int MOUSE_BUTTON_DOWN = 0; - public static final int MOUSE_BUTTON_UP = 1; - public static final int MOUSE_MOVE = 2; + public static final int MOUSE_EVENT_BUTTON_DOWN = 0; + public static final int MOUSE_EVENT_BUTTON_UP = 1; + public static final int MOUSE_EVENT_MOVE = 2; + /** + * Key event types + */ + public static final int KEY_EVENT_PRESS = 0; + public static final int KEY_EVENT_RELEASE = 1; /** * State change types @@ -40,6 +45,11 @@ public class Document { public static final int UNDERLINE = 2; public static final int STRIKEOUT = 3; + public static final int ALIGN_LEFT= 4; + public static final int ALIGN_CENTER = 5; + public static final int ALIGN_RIGHT= 6; + public static final int ALIGN_JUSTIFY= 7; + /** * Callback message types */ @@ -52,6 +62,13 @@ public class Document { public static final int CALLBACK_GRAPHIC_SELECTION = 6; public static final int CALLBACK_HYPERLINK_CLICKED = 7; public static final int CALLBACK_STATE_CHANGED = 8; + public static final int CALLBACK_STATUS_INTICATOR_START = 9; + public static final int CALLBACK_STATUS_INTICATOR_SET_VALUE = 10; + public static final int CALLBACK_STATUS_INTICATOR_FINISH = 11; + public static final int CALLBACK_SEARCH_NOT_FOUND = 12; + public static final int CALLBACK_DOCUMENT_SIZE_CHANGED = 13; + public static final int CALLBACK_SET_PART = 14; + public static final int CALLBACK_SEARCH_RESULT_SELECTION = 15; /** * Set text selection types @@ -66,6 +83,19 @@ public class Document { public static final int SET_GRAPHIC_SELECTION_START = 0; public static final int SET_GRAPHIC_SELECTION_END = 1; + /** + * Mouse button type + */ + public static final int MOUSE_BUTTON_LEFT = 1; + public static final int MOUSE_BUTTON_MIDDLE = 2; + public static final int MOUSE_BUTTON_RIGHT = 4; + + public static final int KEYBOARD_MODIFIER_NONE = 0x0000; + public static final int KEYBOARD_MODIFIER_SHIFT = 0x1000; + public static final int KEYBOARD_MODIFIER_MOD1 = 0x2000; + public static final int KEYBOARD_MODIFIER_MOD2 = 0x4000; + public static final int KEYBOARD_MODIFIER_MOD3 = 0x8000; + private final ByteBuffer handle; private MessageCallback messageCallback = null; @@ -105,6 +135,8 @@ public class Document { public native void setPartMode(int partMode); + public native String getPartPageRectangles(); + public native long getDocumentHeight(); public native long getDocumentWidth(); @@ -140,13 +172,14 @@ public class Document { * @param y - y coordinate * @param count - number of events */ - public native void postMouseEvent(int type, int x, int y, int count); + public native void postMouseEvent(int type, int x, int y, int count, int button, int modifier); /** * Post a .uno: command to LOK * @param command - the command, like ".uno:Bold" + * @param arguments */ - public native void postUnoCommand(String command); + public native void postUnoCommand(String command, String arguments); /** * Change text selection. @@ -169,6 +202,8 @@ public class Document { */ public native void resetSelection(); + public native String getCommandValues(String command); + /** * Callback to retrieve messages from LOK */ diff --git a/android/Bootstrap/src/org/libreoffice/kit/Office.java b/android/Bootstrap/src/org/libreoffice/kit/Office.java index 86eda5c..8c616d0 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/Office.java +++ b/android/Bootstrap/src/org/libreoffice/kit/Office.java @@ -12,9 +12,6 @@ package org.libreoffice.kit; import java.nio.ByteBuffer; public class Office { - public static final int KEY_PRESS = 0; - public static final int KEY_RELEASE = 1; - private ByteBuffer handle; public Office(ByteBuffer handle) { diff --git a/android/source/src/java/org/libreoffice/InvalidationHandler.java b/android/source/src/java/org/libreoffice/InvalidationHandler.java index 307dcd8..b7f0a5e 100644 --- a/android/source/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/source/src/java/org/libreoffice/InvalidationHandler.java @@ -208,7 +208,7 @@ public class InvalidationHandler implements Document.MessageCallback { float newTop = moveToRect.top; if (cursorRectangle.right < moveToRect.left || cursorRectangle.left < moveToRect.left) { - newLeft = cursorRectangle.left - (moveToRect.width() * 0.1f); + newLeft = cursorRectangle.left - (moveToRect.width() * 0.1f); } else if (cursorRectangle.right > moveToRect.right || cursorRectangle.left > moveToRect.right) { newLeft = cursorRectangle.right - (moveToRect.width() * 0.9f); } @@ -306,6 +306,7 @@ public class InvalidationHandler implements Document.MessageCallback { /** * Trigger a transition to a new overlay state. + * * @param next - new state to transition to */ public synchronized void changeStateTo(OverlayState next) { @@ -314,6 +315,7 @@ public class InvalidationHandler implements Document.MessageCallback { /** * Executes a transition from old overlay state to a new overlay state. + * * @param previous - old state * @param next - new state */ diff --git a/android/source/src/java/org/libreoffice/LOEvent.java b/android/source/src/java/org/libreoffice/LOEvent.java index 7067714..2155121 100644 --- a/android/source/src/java/org/libreoffice/LOEvent.java +++ b/android/source/src/java/org/libreoffice/LOEvent.java @@ -47,6 +47,7 @@ public class LOEvent implements Comparable<LOEvent> { public KeyEvent mKeyEvent; public RectF mInvalidationRect; public SelectionHandle.HandleType mHandleType; + public String mValue; public LOEvent(int type) { mType = type; @@ -58,10 +59,18 @@ public class LOEvent implements Comparable<LOEvent> { mComposedTileLayer = composedTileLayer; } - public LOEvent(int type, String filename) { + public LOEvent(int type, String someString) { mType = type; mTypeString = "String"; - mString = filename; + mString = someString; + mValue = null; + } + + public LOEvent(int type, String key, String value) { + mType = type; + mTypeString = "key / value"; + mString = key; + mValue = value; } public LOEvent(int type, int partIndex) { diff --git a/android/source/src/java/org/libreoffice/LOKitThread.java b/android/source/src/java/org/libreoffice/LOKitThread.java index 1a14e7c..5a784c7 100644 --- a/android/source/src/java/org/libreoffice/LOKitThread.java +++ b/android/source/src/java/org/libreoffice/LOKitThread.java @@ -243,7 +243,7 @@ public class LOKitThread extends Thread { mInvalidationHandler.changeStateTo(InvalidationHandler.OverlayState.NONE); break; case LOEvent.UNO_COMMAND: - mTileProvider.postUnoCommand(event.mString); + mTileProvider.postUnoCommand(event.mString, event.mValue); break; } } diff --git a/android/source/src/java/org/libreoffice/LOKitTileProvider.java b/android/source/src/java/org/libreoffice/LOKitTileProvider.java index 6b7759d..f859b7a 100644 --- a/android/source/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/source/src/java/org/libreoffice/LOKitTileProvider.java @@ -388,12 +388,12 @@ public class LOKitTileProvider implements TileProvider { String keyString = keyEvent.getCharacters(); for (int i = 0; i < keyString.length(); i++) { int codePoint = keyString.codePointAt(i); - mDocument.postKeyEvent(Office.KEY_PRESS, codePoint, getKeyCode(keyEvent)); + mDocument.postKeyEvent(Document.KEY_EVENT_PRESS, codePoint, getKeyCode(keyEvent)); } } else if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) { - mDocument.postKeyEvent(Office.KEY_PRESS, getCharCode(keyEvent), getKeyCode(keyEvent)); + mDocument.postKeyEvent(Document.KEY_EVENT_PRESS, getCharCode(keyEvent), getKeyCode(keyEvent)); } else if (keyEvent.getAction() == KeyEvent.ACTION_UP) { - mDocument.postKeyEvent(Office.KEY_RELEASE, getCharCode(keyEvent), getKeyCode(keyEvent)); + mDocument.postKeyEvent(Document.KEY_EVENT_RELEASE, getCharCode(keyEvent), getKeyCode(keyEvent)); } } @@ -401,7 +401,7 @@ public class LOKitTileProvider implements TileProvider { int x = (int) pixelToTwip(inDocument.x, mDPI); int y = (int) pixelToTwip(inDocument.y, mDPI); - mDocument.postMouseEvent(type, x, y, numberOfClicks); + mDocument.postMouseEvent(type, x, y, numberOfClicks, Document.MOUSE_BUTTON_LEFT, Document.KEYBOARD_MODIFIER_NONE); } /** @@ -409,7 +409,7 @@ public class LOKitTileProvider implements TileProvider { */ @Override public void mouseButtonDown(PointF documentCoordinate, int numberOfClicks) { - mouseButton(Document.MOUSE_BUTTON_DOWN, documentCoordinate, numberOfClicks); + mouseButton(Document.MOUSE_EVENT_BUTTON_DOWN, documentCoordinate, numberOfClicks); } /** @@ -417,12 +417,12 @@ public class LOKitTileProvider implements TileProvider { */ @Override public void mouseButtonUp(PointF documentCoordinate, int numberOfClicks) { - mouseButton(Document.MOUSE_BUTTON_UP, documentCoordinate, numberOfClicks); + mouseButton(Document.MOUSE_EVENT_BUTTON_UP, documentCoordinate, numberOfClicks); } @Override - public void postUnoCommand(String command) { - mDocument.postUnoCommand(command); + public void postUnoCommand(String command, String arguments) { + mDocument.postUnoCommand(command, arguments); } private void setTextSelection(int type, PointF documentCoordinate) { diff --git a/android/source/src/java/org/libreoffice/TileProvider.java b/android/source/src/java/org/libreoffice/TileProvider.java index cf9173a..3104172 100644 --- a/android/source/src/java/org/libreoffice/TileProvider.java +++ b/android/source/src/java/org/libreoffice/TileProvider.java @@ -114,7 +114,7 @@ public interface TileProvider { * * @param command - the .uno: command, like ".uno:Bold" */ - void postUnoCommand(String command); + void postUnoCommand(String command, String arguments); /** * Send text selection start coordinate. diff --git a/desktop/source/lib/lokandroid.cxx b/desktop/source/lib/lokandroid.cxx index 6142f5a..9d7ce6e 100644 --- a/desktop/source/lib/lokandroid.cxx +++ b/desktop/source/lib/lokandroid.cxx @@ -183,6 +183,14 @@ extern "C" SAL_JNI_EXPORT jint JNICALL Java_org_libreoffice_kit_Document_getPart return (jint) pDocument->pClass->getPart(pDocument); } +extern "C" SAL_JNI_EXPORT jstring JNICALL Java_org_libreoffice_kit_Document_getPartPageRectangles + (JNIEnv* pEnv, jobject aObject) +{ + LibreOfficeKitDocument* pDocument = getHandle<LibreOfficeKitDocument>(pEnv, aObject); + char* pRectangles = pDocument->pClass->getPartPageRectangles(pDocument); + return pEnv->NewStringUTF(pRectangles); +} + extern "C" SAL_JNI_EXPORT jint JNICALL Java_org_libreoffice_kit_Document_getParts (JNIEnv* pEnv, jobject aObject) { @@ -277,22 +285,27 @@ extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_postKey } extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_postMouseEvent - (JNIEnv* pEnv, jobject aObject, jint type, jint x, jint y, jint count) + (JNIEnv* pEnv, jobject aObject, jint type, jint x, jint y, jint count, jint button, jint modifier) { LibreOfficeKitDocument* pDocument = getHandle<LibreOfficeKitDocument>(pEnv, aObject); - pDocument->pClass->postMouseEvent(pDocument, type, x, y, count, MOUSE_LEFT, 0); + pDocument->pClass->postMouseEvent(pDocument, type, x, y, count, button, modifier); } extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_postUnoCommand - (JNIEnv* pEnv, jobject aObject, jstring command) + (JNIEnv* pEnv, jobject aObject, jstring command, jstring arguments) { LibreOfficeKitDocument* pDocument = getHandle<LibreOfficeKitDocument>(pEnv, aObject); const char* pCommand = pEnv->GetStringUTFChars(command, NULL); + const char* pArguments = nullptr; + if (arguments != NULL) + pArguments = pEnv->GetStringUTFChars(arguments, NULL); - pDocument->pClass->postUnoCommand(pDocument, pCommand, 0); + pDocument->pClass->postUnoCommand(pDocument, pCommand, pArguments); pEnv->ReleaseStringUTFChars(command, pCommand); + if (arguments != NULL) + pEnv->ReleaseStringUTFChars(arguments, pArguments); } extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_setTextSelection @@ -302,6 +315,22 @@ extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_setText pDocument->pClass->setTextSelection(pDocument, type, x, y); } +extern "C" SAL_JNI_EXPORT jstring JNICALL Java_org_libreoffice_kit_Document_getTextSelection + (JNIEnv* pEnv, jobject aObject, jstring mimeType) +{ + LibreOfficeKitDocument* pDocument = getHandle<LibreOfficeKitDocument>(pEnv, aObject); + + const char* pMimeType = pEnv->GetStringUTFChars(mimeType, NULL); + + char* pUsedMimeType = 0; + char* pSelection = pDocument->pClass->getTextSelection(pDocument, pMimeType, &pUsedMimeType); + free(pUsedMimeType); + + pEnv->ReleaseStringUTFChars(mimeType, pMimeType); + + return pEnv->NewStringUTF(pSelection); +} + extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_setGraphicSelection (JNIEnv* pEnv, jobject aObject, jint type, jint x, jint y) { @@ -316,4 +345,17 @@ extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_resetSe pDocument->pClass->resetSelection(pDocument); } +extern "C" SAL_JNI_EXPORT jstring JNICALL Java_org_libreoffice_kit_Document_getCommandValues + (JNIEnv* pEnv, jobject aObject, jstring command) +{ + LibreOfficeKitDocument* pDocument = getHandle<LibreOfficeKitDocument>(pEnv, aObject); + + const char* pCommand = pEnv->GetStringUTFChars(command, NULL); + + char* pValue = pDocument->pClass->getCommandValues(pDocument, pCommand); + + pEnv->ReleaseStringUTFChars(command, pCommand); + + return pEnv->NewStringUTF(pValue); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 15943cbaf1ec46e86aaad55784822dbddf9ddb87 Author: Tomaž Vajngerl <[email protected]> Date: Sun Nov 1 22:37:12 2015 +0100 add LOKit interface missing description Change-Id: Ia9e33704cfffd2094606e6fd166796bd8cd5d4fe (cherry picked from commit 3d34594138c42ec4b253a25c403ef9346265a28f) diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx b/include/LibreOfficeKit/LibreOfficeKit.hxx index 4055250..b4ee8c2 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.hxx +++ b/include/LibreOfficeKit/LibreOfficeKit.hxx @@ -128,8 +128,7 @@ public: * @param nTileWidth logical width of the rendered rectangle, in TWIPs. * @param nTileHeight logical height of the rendered rectangle, in TWIPs. */ - inline void paintTile( - unsigned char* pBuffer, + inline void paintTile(unsigned char* pBuffer, const int nCanvasWidth, const int nCanvasHeight, const int nTilePosX, @@ -191,6 +190,8 @@ public: * @param nX horizontal position in document coordinates * @param nY vertical position in document coordinates * @param nCount number of clicks: 1 for single click, 2 for double click + * @param nButtons: which mouse buttons: 1 for left, 2 for middle, 4 right + * @param nModifier: which keyboard modifier: (see include/rsc/rsc-vcl-shared-types.hxx for possible values) */ inline void postMouseEvent(int nType, int nX, int nY, int nCount, int nButtons, int nModifier) { commit 8475e6e34f19d9cd36175766c14deae6fd0cc8bc Author: Tomaž Vajngerl <[email protected]> Date: Sat Oct 31 13:59:46 2015 +0100 android: don't use alpha VDev when painting tiles on Android Improves tile rendering speed. Change-Id: I6a4b87fbc1d9ed284f5c4a781d769eeacd9bc2ca (cherry picked from commit e0d68da3ff3ae81e35f4e7393fb998a41886831d) diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 2217992..2f4e547 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -782,7 +782,30 @@ void doc_paintTile (LibreOfficeKitDocument* pThis, #if defined(UNX) && !defined(MACOSX) && !defined(ENABLE_HEADLESS) -#ifndef IOS +#if defined(IOS) + SystemGraphicsData aData; + aData.rCGContext = reinterpret_cast<CGContextRef>(pBuffer); + // the Size argument is irrelevant, I hope + ScopedVclPtrInstance<VirtualDevice> pDevice(&aData, Size(1, 1), (sal_uInt16)0); + + pDoc->paintTile(*pDevice.get(), nCanvasWidth, nCanvasHeight, + nTilePosX, nTilePosY, nTileWidth, nTileHeight); +#elif defined(ANDROID) + InitSvpForLibreOfficeKit(); + + ScopedVclPtrInstance< VirtualDevice > pDevice(nullptr, Size(1, 1), (sal_uInt16)32) ; + + boost::shared_array<sal_uInt8> aBuffer(pBuffer, NoDelete< sal_uInt8 >()); + + boost::shared_array<sal_uInt8> aAlphaBuffer; + + pDevice->SetOutputSizePixelScaleOffsetAndBuffer( + Size(nCanvasWidth, nCanvasHeight), Fraction(1.0), Point(), + aBuffer, aAlphaBuffer, true); + + pDoc->paintTile(*pDevice.get(), nCanvasWidth, nCanvasHeight, + nTilePosX, nTilePosY, nTileWidth, nTileHeight); +#else InitSvpForLibreOfficeKit(); ScopedVclPtrInstance< VirtualDevice > pDevice(nullptr, Size(1, 1), (sal_uInt16)32) ; @@ -815,15 +838,6 @@ void doc_paintTile (LibreOfficeKitDocument* pThis, pBuffer[nOffset * 4 +3] = 0xff - aAlpha[nOffset]; } } - -#else - SystemGraphicsData aData; - aData.rCGContext = reinterpret_cast<CGContextRef>(pBuffer); - // the Size argument is irrelevant, I hope - ScopedVclPtrInstance<VirtualDevice> pDevice(&aData, Size(1, 1), (sal_uInt16)0); - - pDoc->paintTile(*pDevice.get(), nCanvasWidth, nCanvasHeight, - nTilePosX, nTilePosY, nTileWidth, nTileHeight); #endif static bool bDebug = getenv("LOK_DEBUG") != 0; commit cdafa26ffdbf4f6b4b7e42f9ef8d77d1468e885b Author: Tomaž Vajngerl <[email protected]> Date: Sat Oct 31 13:54:43 2015 +0100 android: add desing library Change-Id: I6468a5cf66715516764c779ecc080fb2c1bd7382 (cherry picked from commit 50ffbe8557dbecda187cd6d9c93c2fdf916a6f75) diff --git a/android/source/build.gradle b/android/source/build.gradle index d3c4a1a..4bb1442 100644 --- a/android/source/build.gradle +++ b/android/source/build.gradle @@ -25,6 +25,7 @@ dependencies { compile files("${liboInstdir}/${liboShareJavaFolder}/unoil.jar") compile files("${liboWorkdir}/UnpackedTarball/owncloud_android_lib/bin/owncloud-android-library.jar") compile 'com.android.support:appcompat-v7:23.0.1' + compile 'com.android.support:design:23.1.0' } android { commit c4c67b882182081a3b594007d3d71610c2c61d7c Author: Tomaž Vajngerl <[email protected]> Date: Sat Oct 31 13:53:59 2015 +0100 android: remove CommandLine.java as we don't use it anymore Change-Id: Ib487d4f948dde2027bebc914bb3fe43b55c6d50b (cherry picked from commit f70254caf4d58022e7ec338328c45b372e6d8de8) diff --git a/android/Bootstrap/src/fi/iki/tml/CommandLine.java b/android/Bootstrap/src/fi/iki/tml/CommandLine.java deleted file mode 100644 index fb5adec..0000000 --- a/android/Bootstrap/src/fi/iki/tml/CommandLine.java +++ /dev/null @@ -1,176 +0,0 @@ -// -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- - -// Copyright (C) 2011 Tor Lillqvist <[email protected]> -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. - -package fi.iki.tml; - -import java.util.*; - -public class CommandLine - implements Iterable<String> -{ - private String commandLine; - - public class Tokenizer - implements Iterator<String> - { - private int index = 0; - private String savedNext = null; - - public Tokenizer() - { - } - - public boolean hasNext() - { - if (savedNext != null) - return true; - try { - savedNext = next(); - return true; - } - catch (NoSuchElementException e) { - } - return false; - } - - public String next() - { - if (savedNext != null) { - String result = savedNext; - savedNext = null; - return result; - } - - StringBuffer sb = new StringBuffer(commandLine.length()); - - while (index < commandLine.length() && - commandLine.charAt(index) == ' ') - index++; - - if (index == commandLine.length()) - throw new NoSuchElementException(); - - while (index < commandLine.length() && - commandLine.charAt(index) != ' ') { - char c = commandLine.charAt(index); - if (c == '\'') { - index++; - while (index < commandLine.length() && - commandLine.charAt(index) != '\'') { - sb.append(commandLine.charAt(index)); - index++; - } - } else if (c == '"') { - index++; - while (index < commandLine.length() && - commandLine.charAt(index) != '\"') { - if (commandLine.charAt(index) == '\\') { - index++; - if (index < commandLine.length()) - sb.append(commandLine.charAt(index)); - } else { - sb.append(commandLine.charAt(index)); - } - index++; - } - } else if (c == '\\') { - index++; - if (index < commandLine.length()) - sb.append(commandLine.charAt(index)); - } else { - sb.append(c); - } - index++; - } - return sb.toString(); - } - - public void remove() - { - throw new UnsupportedOperationException(); - } - } - - public Iterator<String> iterator() - { - return new Tokenizer(); - } - - public CommandLine(String commandLine) - { - this.commandLine = commandLine; - } - - public String[] split() - { - ArrayList<String> argv = new ArrayList<String>(10); - - try { - for (String s : this) - argv.add(s); - } - catch (NoSuchElementException e) { - } - - return argv.toArray(new String[0]); - } - - public static String[] split(String commandLine) - { - return new CommandLine(commandLine).split(); - } - - public static void main(String[] args) - { - class Test - { - Test(String commandLine) - { - String[] argv = split(commandLine); - System.out.println("Split of " + commandLine + ":"); - int n = 0; - for (String s : argv) { - System.out.println("argv[" + n + "}: length " + s.length() + ": \"" + s + "\""); - n++; - } - } - } - - new Test(""); - new Test(" "); - new Test(" "); - new Test(" '' "); - new Test("abc def"); - new Test("abc '' def"); - new Test("abc \"\" def"); - new Test(" abc def "); - new Test(" abc def "); - new Test("abc\" \"def"); - new Test("abc\" \"def \"gh\\i\\\" jkl\""); - new Test("abc' def' '\\ghi jkl'"); - } -} - -// vim:set shiftwidth=4 softtabstop=4 expandtab:
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
