[Libreoffice-commits] core.git: Branch 'feature/droid_calcimpress2' - 7 commits - android/experimental
Tomaž Vajngerl
tomaz.vajngerl at collabora.com
Tue Sep 30 12:09:27 PDT 2014
android/experimental/LOAndroid3/res/layout/activity_main.xml | 24 +--
android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java | 30 ----
android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java | 37 ++++++
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java | 3
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java | 9 -
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java | 61 +++++-----
android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java | 4
android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java | 5
android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ViewTransform.java | 19 ---
9 files changed, 101 insertions(+), 91 deletions(-)
New commits:
commit 3b288e1ddd5f84ac3ce34c6c63b848a68615c3f7
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date: Tue Sep 30 21:09:40 2014 +0200
android: clear all tiles in "refresh"
Change-Id: I6a7e9070160e8d4bbd6ad5cd1bfa2dc18e66a45d
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index c11164b..54478bf 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -46,6 +46,8 @@ public class LOKitThread extends Thread {
mApplication.getLayerController().getView().changeCheckerboardBitmap(bitmap, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
}
+ mLayerClient.clearAllTiles();
+
RectF rect = new RectF(0, 0, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
mController.setPageRect(rect, rect);
mController.setForceRedraw();
@@ -53,7 +55,6 @@ public class LOKitThread extends Thread {
private void changePart(int partIndex) {
mTileProvider.changePart(partIndex);
- mLayerClient.clearAllTiles();
refresh();
}
commit 09bb2d854995d36721948ff763223bec9c13aec5
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date: Tue Sep 30 21:07:30 2014 +0200
android: no need for "throws InterruptedException"
Change-Id: I93be9af0849a2515c27bc22892a201ec207d6775
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index 4493e94..c11164b 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -25,7 +25,7 @@ public class LOKitThread extends Thread {
TileProviderFactory.initialize();
}
- private boolean draw() throws InterruptedException {
+ private boolean draw() {
RectF rect = new RectF(0, 0, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
DisplayMetrics displayMetrics = LibreOfficeMainActivity.mAppContext.getResources().getDisplayMetrics();
mViewportMetrics = new ImmutableViewportMetrics(displayMetrics);
@@ -51,7 +51,7 @@ public class LOKitThread extends Thread {
mController.setForceRedraw();
}
- private void changePart(int partIndex) throws InterruptedException {
+ private void changePart(int partIndex) {
mTileProvider.changePart(partIndex);
mLayerClient.clearAllTiles();
refresh();
@@ -95,7 +95,7 @@ public class LOKitThread extends Thread {
}
}
- private void processEvent(LOEvent event) throws InterruptedException {
+ private void processEvent(LOEvent event) {
switch (event.mType) {
case LOEvent.LOAD:
load(event.getFilename());
commit 364d52ec760f3c6bdff38b31eddb67132e7d6d72
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date: Tue Sep 30 20:58:43 2014 +0200
android: redraw LOEvent
Change-Id: I6171f7a36c07f53eeec0cc83caa168ec97459d53
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
index 4b22d1f..3f39257 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
@@ -13,6 +13,7 @@ public class LOEvent {
public static final int DRAW = 4;
public static final int CHANGE_PART = 5;
public static final int LOAD = 6;
+ public static final int REDRAW = 7;
public int mType;
private ImmutableViewportMetrics mViewportMetrics;
@@ -20,6 +21,10 @@ public class LOEvent {
private int mPartIndex;
private String mFilename;
+ public LOEvent(int type) {
+ mType = type;
+ }
+
public LOEvent(int type, int widthPixels, int heightPixels) {
mType = type;
mTypeString = "Size Changed: " + widthPixels + " " + heightPixels;
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java
index d0b024a..90a3582 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java
@@ -30,4 +30,8 @@ public class LOEventFactory {
public static LOEvent load(String inputFile) {
return new LOEvent(LOEvent.LOAD, inputFile);
}
+
+ public static LOEvent redraw() {
+ return new LOEvent(LOEvent.REDRAW);
+ }
}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
index b6f0b99..859a3d8 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
@@ -29,4 +29,7 @@ public class LOKitShell {
return LibreOfficeMainActivity.mAppContext.mMainHandler;
}
+ public static void queueRedraw() {
+ LOKitShell.sendEvent(LOEventFactory.redraw());
+ }
}
commit 1275cc2fcbe9788849815bf0cbe2a39af3241335
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date: Tue Sep 30 20:56:02 2014 +0200
android: create events with LOEventFactory (moved out of LOEvent)
Change-Id: Ia2e6bd040160e9d09377fe1f27d94d22c46fb778
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
index 80210a7..4b22d1f 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEvent.java
@@ -52,30 +52,6 @@ public class LOEvent {
mTypeString = "Change part";
}
- public static LOEvent draw(Rect rect) {
- return new LOEvent(DRAW, rect);
- }
-
- public static LOEvent sizeChanged(int widthPixels, int heightPixels) {
- return new LOEvent(SIZE_CHANGED, widthPixels, heightPixels);
- }
-
- public static LOEvent tileSize(IntSize tileSize) {
- return new LOEvent(TILE_SIZE, tileSize);
- }
-
- public static LOEvent viewport(ImmutableViewportMetrics viewportMetrics) {
- return new LOEvent(VIEWPORT, viewportMetrics);
- }
-
- public static LOEvent changePart(int part) {
- return new LOEvent(CHANGE_PART, part);
- }
-
- public static LOEvent load(String inputFile) {
- return new LOEvent(LOAD, inputFile);
- }
-
public String getTypeString() {
return mTypeString;
}
@@ -91,5 +67,4 @@ public class LOEvent {
public String getFilename() {
return mFilename;
}
-
}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java
new file mode 100644
index 0000000..d0b024a
--- /dev/null
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOEventFactory.java
@@ -0,0 +1,33 @@
+package org.libreoffice;
+
+import android.graphics.Rect;
+
+import org.mozilla.gecko.gfx.ImmutableViewportMetrics;
+import org.mozilla.gecko.gfx.IntSize;
+
+
+public class LOEventFactory {
+ public static LOEvent draw(Rect rect) {
+ return new LOEvent(LOEvent.DRAW, rect);
+ }
+
+ public static LOEvent sizeChanged(int widthPixels, int heightPixels) {
+ return new LOEvent(LOEvent.SIZE_CHANGED, widthPixels, heightPixels);
+ }
+
+ public static LOEvent tileSize(IntSize tileSize) {
+ return new LOEvent(LOEvent.TILE_SIZE, tileSize);
+ }
+
+ public static LOEvent viewport(ImmutableViewportMetrics viewportMetrics) {
+ return new LOEvent(LOEvent.VIEWPORT, viewportMetrics);
+ }
+
+ public static LOEvent changePart(int part) {
+ return new LOEvent(LOEvent.CHANGE_PART, part);
+ }
+
+ public static LOEvent load(String inputFile) {
+ return new LOEvent(LOEvent.LOAD, inputFile);
+ }
+}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
index 3c53454..886fbd9 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
@@ -127,7 +127,7 @@ public class LibreOfficeMainActivity extends Activity {
mLayerController.setLayerClient(mLayerClient);
mGeckoLayout.addView(mLayerController.getView(), 0);
- LOKitShell.sendEvent(LOEvent.load(mInputFile));
+ LOKitShell.sendEvent(LOEventFactory.load(mInputFile));
}
@Override
@@ -207,7 +207,7 @@ public class LibreOfficeMainActivity extends Activity {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
DocumentPartView partView = mDocumentPartViewListAdpater.getItem(position);
- LOKitShell.sendEvent(LOEvent.changePart(partView.getPartIndex()));
+ LOKitShell.sendEvent(LOEventFactory.changePart(partView.getPartIndex()));
mDrawerLayout.closeDrawer(mDrawerList);
}
}
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
index 28c2bbb..f2b2793 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
@@ -46,6 +46,7 @@ import android.util.Log;
import android.view.View;
import org.libreoffice.LOEvent;
+import org.libreoffice.LOEventFactory;
import org.libreoffice.LOKitShell;
import org.libreoffice.LibreOfficeMainActivity;
import org.libreoffice.TileProvider;
@@ -180,7 +181,7 @@ public class GeckoLayerClient implements LayerView.Listener {
Log.d(LOGTAG, "Window-size changed to " + mWindowSize);
}
- LOEvent event = LOEvent.sizeChanged(metrics.widthPixels, metrics.heightPixels);
+ LOEvent event = LOEventFactory.sizeChanged(metrics.widthPixels, metrics.heightPixels);
LOKitShell.sendEvent(event);
}
@@ -206,7 +207,7 @@ public class GeckoLayerClient implements LayerView.Listener {
mDrawTimingQueue.add(displayPort);
}
- LOKitShell.sendEvent(LOEvent.viewport(clampedMetrics));
+ LOKitShell.sendEvent(LOEventFactory.viewport(clampedMetrics));
if (mViewportSizeChanged) {
mViewportSizeChanged = false;
LOKitShell.viewSizeChanged();
commit f6b23fcc00ac0991ead85eb18b0eaea04adbd0f8
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date: Tue Sep 30 20:22:31 2014 +0200
android: remove unused ViewTransform
Change-Id: I80cc876b542d2b215f8615972717bce998d532e9
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ViewTransform.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ViewTransform.java
deleted file mode 100644
index edb45f5..0000000
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ViewTransform.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
- * 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.mozilla.gecko.gfx;
-
-public class ViewTransform {
- public float x;
- public float y;
- public float scale;
-
- public ViewTransform(float inX, float inY, float inScale) {
- x = inX;
- y = inY;
- scale = inScale;
- }
-}
-
commit 3bd984288fda0eee302f3ae3719449a7647e455d
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date: Tue Sep 30 20:21:02 2014 +0200
android: don't show any parts in sidebar if only one part exists
Change-Id: Id40fa499bca8e4ef4f8b26877905fd74a66667af
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
index 579ce30..8050863 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
@@ -43,37 +43,26 @@ public class LOKitTileProvider implements TileProvider {
if (checkDocument()) {
int parts = mDocument.getParts();
Log.i(LOGTAG, "Document parts: " + parts);
- if (parts >= 1) {
- mDocument.setPart(0);
- }
- for (int i = 0; i < parts; i++) {
- String partName = mDocument.getPartName(i);
- if (partName.isEmpty()) {
- switch (mDocument.getDocumentType()) {
- case Document.DOCTYPE_DRAWING:
- case Document.DOCTYPE_TEXT:
- partName = "Page " + (i + 1);
- break;
- case Document.DOCTYPE_SPREADSHEET:
- partName = "Sheet " + (i + 1);
- break;
- case Document.DOCTYPE_PRESENTATION:
- partName = "Slide " + (i + 1);
- break;
- case Document.DOCTYPE_OTHER:
- default:
- partName = "Part " + (i + 1);
- break;
+
+ LibreOfficeMainActivity.mAppContext.getDocumentPartView().clear();
+
+ if (parts > 1) {
+ for (int i = 0; i < parts; i++) {
+ String partName = mDocument.getPartName(i);
+ if (partName.isEmpty()) {
+ partName = getGenericPartName(i);
}
- }
- Log.i(LOGTAG, "Document part " + i + " name:'" + partName + "'");
+ Log.i(LOGTAG, "Document part " + i + " name:'" + partName + "'");
- mDocument.setPart(i);
- final DocumentPartView partView = new DocumentPartView(i, partName, thumbnail(128));
- LibreOfficeMainActivity.mAppContext.getDocumentPartView().add(partView);
+ mDocument.setPart(i);
+ final DocumentPartView partView = new DocumentPartView(i, partName, thumbnail(128));
+ LibreOfficeMainActivity.mAppContext.getDocumentPartView().add(partView);
+ }
}
- LibreOfficeMainActivity.mAppContext.mMainHandler.post(new Runnable() {
+ mDocument.setPart(0);
+
+ LOKitShell.getMainHandler().post(new Runnable() {
@Override
public void run() {
LibreOfficeMainActivity.mAppContext.getDocumentPartViewListAdpater().notifyDataSetChanged();
@@ -82,6 +71,24 @@ public class LOKitTileProvider implements TileProvider {
}
}
+ private String getGenericPartName(int i) {
+ if (mDocument == null) {
+ return "";
+ }
+ switch (mDocument.getDocumentType()) {
+ case Document.DOCTYPE_DRAWING:
+ case Document.DOCTYPE_TEXT:
+ return "Page " + (i + 1);
+ case Document.DOCTYPE_SPREADSHEET:
+ return "Sheet " + (i + 1);
+ case Document.DOCTYPE_PRESENTATION:
+ return "Slide " + (i + 1);
+ case Document.DOCTYPE_OTHER:
+ default:
+ return "Part " + (i + 1);
+ }
+ }
+
private float twipToPixel(float input, float dpi) {
return input / 1440.0f * dpi;
}
commit 17ba6c25ec8914a44e7a6beaf8cc5dad90132a6b
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date: Tue Sep 30 20:15:59 2014 +0200
android: fix part sidebar not executing an "part change" event..
Change-Id: I8f984ad050d8124164617f67f5ea7fa511e50f55
diff --git a/android/experimental/LOAndroid3/res/layout/activity_main.xml b/android/experimental/LOAndroid3/res/layout/activity_main.xml
index 9fa5e51..9ada4d3 100644
--- a/android/experimental/LOAndroid3/res/layout/activity_main.xml
+++ b/android/experimental/LOAndroid3/res/layout/activity_main.xml
@@ -18,6 +18,18 @@
android:layout_height="fill_parent"
android:layout_weight="1"/>
+ <RelativeLayout
+ android:id="@+id/loadingPanel"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center" >
+
+ <ProgressBar
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:indeterminate="true" />
+ </RelativeLayout>
+
<View
android:layout_width="match_parent"
android:layout_height="match_parent"/>
@@ -32,16 +44,4 @@
android:background="#9FFF"
android:choiceMode="singleChoice"/>
- <RelativeLayout
- android:id="@+id/loadingPanel"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="center" >
-
- <ProgressBar
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:indeterminate="true" />
- </RelativeLayout>
-
</android.support.v4.widget.DrawerLayout>
More information about the Libreoffice-commits
mailing list