android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java | 51 --- android/source/build.gradle | 4 android/source/src/java/org/libreoffice/MockTileProvider.java | 157 ---------- android/source/src/java/org/libreoffice/TileProviderFactory.java | 15 desktop/source/lib/lokandroid.cxx | 28 - 5 files changed, 9 insertions(+), 246 deletions(-)
New commits: commit 075c4db2844146dd861a77c8d51fb8ac675f520f Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Wed Oct 21 15:14:32 2015 +0200 android: remove MockTileProvider Change-Id: I1b44c9fa4edfdc79e48f52ba95493f83f0421669 diff --git a/android/source/src/java/org/libreoffice/MockTileProvider.java b/android/source/src/java/org/libreoffice/MockTileProvider.java deleted file mode 100644 index 19f7b48..0000000 --- a/android/source/src/java/org/libreoffice/MockTileProvider.java +++ /dev/null @@ -1,157 +0,0 @@ -/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * 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/. - */ -package org.libreoffice; - -import android.graphics.Bitmap; -import android.graphics.PointF; -import android.view.KeyEvent; - -import org.mozilla.gecko.gfx.BufferedCairoImage; -import org.mozilla.gecko.gfx.CairoImage; -import org.mozilla.gecko.gfx.GeckoLayerClient; -import org.mozilla.gecko.gfx.IntSize; - -public class MockTileProvider implements TileProvider { - private static final int TILE_SIZE = 256; - private final GeckoLayerClient mLayerClient; - private final String inputFile; - - public MockTileProvider(GeckoLayerClient layerClient, String input) { - mLayerClient = layerClient; - this.inputFile = input; - - for (int i = 0; i < 5; i++) { - String partName = "Part " + i; - final DocumentPartView partView = new DocumentPartView(i, partName); - LibreOfficeMainActivity.mAppContext.mMainHandler.post(new Runnable() { - @Override - public void run() { - LibreOfficeMainActivity.mAppContext.getDocumentPartViewListAdapter().add(partView); - } - }); - } - LibreOfficeMainActivity.mAppContext.mMainHandler.post(new Runnable() { - @Override - public void run() { - LibreOfficeMainActivity.mAppContext.getDocumentPartViewListAdapter().notifyDataSetChanged(); - } - }); - } - - @Override - public int getPageWidth() { - return 549; - } - - @Override - public int getPageHeight() { - return 630 * 5; - } - - @Override - public boolean isReady() { - return true; - } - - @Override - public CairoImage createTile(float x, float y, IntSize tileSize, float zoom) { - int tiles = (int) (getPageWidth() / TILE_SIZE) + 1; - int tileNumber = (int) ((y / TILE_SIZE) * tiles + (x / TILE_SIZE)); - tileNumber %= 9; - tileNumber += 1; // 0 to 1 based numbering - - String imageName = "d" + tileNumber; - Bitmap bitmap = mLayerClient.getView().getDrawable(imageName); - - return new BufferedCairoImage(bitmap); - } - - @Override - public void rerenderTile(CairoImage image, float x, float y, IntSize tileSize, float zoom) { - } - - @Override - public Bitmap thumbnail(int size) { - return mLayerClient.getView().getDrawable("dummy_page"); - } - - @Override - public void close() { - } - - @Override - public boolean isTextDocument() { - return true; - } - - @Override - public boolean isSpreadsheet() { - return false; - } - - @Override - public void sendKeyEvent(KeyEvent keyEvent) { - } - - @Override - public void mouseButtonDown(PointF documentCoordinate, int numberOfClicks) { - } - - @Override - public void mouseButtonUp(PointF documentCoordinate, int numberOfClicks) { - } - - @Override - public void postUnoCommand(String command) { - } - - @Override - public void setTextSelectionStart(PointF documentCoordinate) { - } - - @Override - public void setTextSelectionEnd(PointF documentCoordinate) { - } - - @Override - public void setTextSelectionReset(PointF documentCoordinate) { - } - - @Override - public void setGraphicSelectionStart(PointF documentCoordinate) { - } - - @Override - public void setGraphicSelectionEnd(PointF documentCoordinate) { - } - - @Override - public void changePart(int partIndex) { - } - - @Override - public int getCurrentPartNumber() { - return 0; - } - - @Override - public int getPartsCount() { - return 0; - } - - @Override - public void onSwipeLeft() { - } - - @Override - public void onSwipeRight() { - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/android/source/src/java/org/libreoffice/TileProviderFactory.java b/android/source/src/java/org/libreoffice/TileProviderFactory.java index 003a714..45b10a9 100644 --- a/android/source/src/java/org/libreoffice/TileProviderFactory.java +++ b/android/source/src/java/org/libreoffice/TileProviderFactory.java @@ -16,27 +16,16 @@ import org.mozilla.gecko.gfx.GeckoLayerClient; * Create a desired instance of TileProvider. */ public class TileProviderFactory { - private static TileProviderID currentTileProvider = TileProviderID.LOKIT; private TileProviderFactory() { } public static void initialize() { - if (currentTileProvider == TileProviderID.LOKIT) { - LibreOfficeKit.initializeLibrary(); - } + LibreOfficeKit.initializeLibrary(); } public static TileProvider create(GeckoLayerClient layerClient, InvalidationHandler invalidationHandler, String filename) { - if (currentTileProvider == TileProviderID.LOKIT) { - return new LOKitTileProvider(layerClient, invalidationHandler, filename); - } else { - return new MockTileProvider(layerClient, filename); - } - } - - private enum TileProviderID { - MOCK, LOKIT + return new LOKitTileProvider(layerClient, invalidationHandler, filename); } } commit c8dcec92470745f07c51074404ce4250428f2255 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Wed Oct 21 12:42:03 2015 +0200 android: remove the native DirectBufferAllocator Change-Id: I41d25d288253f1b35c268ba70b8384812fa567e5 diff --git a/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java b/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java index de90303..99cb3a4 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java +++ b/android/Bootstrap/src/org/libreoffice/kit/DirectBufferAllocator.java @@ -5,14 +5,12 @@ package org.libreoffice.kit; -// -// We must manually allocate direct buffers in JNI to work around a bug where Honeycomb's -// ByteBuffer.allocateDirect() grossly overallocates the direct buffer size. -// https://code.google.com/p/android/issues/detail?id=16941 -// - import java.nio.ByteBuffer; +/** + * This is the common code for allocation and freeing of memory. For this direct ByteBuffer is used but + * in the past it was possible to use a JNI version of allocation because of a bug in old Android version. + */ public final class DirectBufferAllocator { private static final String LOGTAG = DirectBufferAllocator.class.getSimpleName(); @@ -20,46 +18,7 @@ public final class DirectBufferAllocator { private DirectBufferAllocator() { } - private static native ByteBuffer allocateDirectBufferNative(int size); - - private static native void freeDirectBufferNative(ByteBuffer aBuffer); - public static ByteBuffer allocate(int size) { - return allocateVM(size); - } - - public static ByteBuffer free(ByteBuffer buffer) { - return freeVM(buffer); - } - - private static ByteBuffer allocateJNI(int size) { - ByteBuffer directBuffer = allocateDirectBufferNative(size); - if (directBuffer == null) { - if (size <= 0) { - throw new IllegalArgumentException("Invalid allocation size: " + size); - } else { - throw new OutOfMemoryError("allocateDirectBuffer() returned null"); - } - } else if (!directBuffer.isDirect()) { - throw new AssertionError("allocateDirectBuffer() did not return a direct buffer"); - } - return directBuffer; - } - - private static ByteBuffer freeJNI(ByteBuffer buffer) { - if (buffer == null) { - return null; - } - - if (!buffer.isDirect()) { - throw new IllegalArgumentException("ByteBuffer must be direct"); - } - - freeDirectBufferNative(buffer); - return null; - } - - private static ByteBuffer allocateVM(int size) { ByteBuffer directBuffer = ByteBuffer.allocateDirect(size); if (directBuffer == null) { if (size <= 0) { @@ -74,7 +33,7 @@ public final class DirectBufferAllocator { return directBuffer; } - private static ByteBuffer freeVM(ByteBuffer buffer) { + public static ByteBuffer free(ByteBuffer buffer) { if (buffer == null) { return null; } diff --git a/desktop/source/lib/lokandroid.cxx b/desktop/source/lib/lokandroid.cxx index 1db7945..6142f5a 100644 --- a/desktop/source/lib/lokandroid.cxx +++ b/desktop/source/lib/lokandroid.cxx @@ -316,32 +316,4 @@ extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_Document_resetSe pDocument->pClass->resetSelection(pDocument); } -/* DirectBufferAllocator */ - -extern "C" SAL_JNI_EXPORT jobject JNICALL Java_org_libreoffice_kit_DirectBufferAllocator_allocateDirectBufferNative - (JNIEnv* pEnv, jclass /*aClass*/, jint nSize) -{ - jobject aBuffer = NULL; - - if (nSize > 0) - { - void* pMemory = malloc(nSize); - if (pMemory != NULL) - { - aBuffer = pEnv->NewDirectByteBuffer(pMemory, nSize); - if (aBuffer == NULL) - { - free(pMemory); - } - } - } - return aBuffer; -} - -extern "C" SAL_JNI_EXPORT void JNICALL Java_org_libreoffice_kit_DirectBufferAllocator_freeDirectBufferNative - (JNIEnv* pEnv, jclass, jobject aBuffer) -{ - free(pEnv->GetDirectBufferAddress(aBuffer)); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 030891701c2f2d32b7d5848ddc955801560dd081 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Tue Oct 20 20:39:05 2015 +0200 android: typo in gradle build script (app crashed on key press) Change-Id: Icf3973d20455fd9ccde3a448b9596457ef5308a3 diff --git a/android/source/build.gradle b/android/source/build.gradle index 80772b2..d3c4a1a 100644 --- a/android/source/build.gradle +++ b/android/source/build.gradle @@ -169,14 +169,14 @@ task createFullConfig(type: Copy) { } task createStrippedConfig { - def preserveDir = file("assets_strippedUI/share/share/config/soffice.cfg/empty") + def preserveDir = file("assets_strippedUI/share/config/soffice.cfg/empty") outputs.dir "assets_strippedUI" outputs.dir "assets_strippedUI/share/registry/res" outputs.file preserveDir doLast { file('assets_strippedUI/share/registry/res').mkdirs() - file("assets_strippedUI/share/share/config/soffice.cfg").mkdirs() + file("assets_strippedUI/share/config/soffice.cfg").mkdirs() // just empty file preserveDir.text = "" }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits