From 47877113a1b26426ffc73ccacb66cd350c942f77 Mon Sep 17 00:00:00 2001 From: Tomaž Vajngerl Date: Tue, 30 Sep 2014 20:21:02 +0200 Subject: android: don't show any parts in sidebar if only one part exists Change-Id: Id40fa499bca8e4ef4f8b26877905fd74a66667af --- .../java/org/libreoffice/LOKitTileProvider.java | 61 ++++++++++++---------- 1 file changed, 34 insertions(+), 27 deletions(-) (limited to 'android') diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index 579ce307f52a..8050863cccbd 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; } -- cgit