Commit Graph

101 Commits

Author SHA1 Message Date
8802ebd517 Moved About dialog to DialogFragment
This makes the dialog more modular, and it takes no parameters
instead of two. This is in the preparation of making
the classes more independent on each-other's states, which is very
important. Also, this follows the Android way of workflow better,
since there is no "wrapper" class around the dialog, but instead
the dialog is called directly.

Change-Id: I7571480a040efaf202fae3929cfe76d65c19653e
Reviewed-on: https://gerrit.libreoffice.org/33086
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Aleksandar Stefanović <theonewithideas@gmail.com>
2017-01-26 12:22:14 +00:00
6310fa8a70 Replaced empty spinner with the document title
Replaced empty spinner with the document title in the Main (viewer)
activity. Had to edit the themes to not disable title, and edit the
manifest to make the desired activities use that theme. If the theme
is set in the "application" tag, it will apply the theme globablly.
Also cleaned up and tightened the ToolbarController.

Change-Id: I5099860787b5f84d01c98c5e53ade519c2f89cc4
Reviewed-on: https://gerrit.libreoffice.org/33306
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Aleksandar Stefanović <theonewithideas@gmail.com>
2017-01-25 12:56:26 +00:00
96b2aa3f82 Reduce usage of memory-leaking Context object
Huge refactoring of the methods to use the passed instance of the
Context object instead of using the static one. I couldn't completely
remove the static object, because it requires restructuring of the
workflow so that it originates from the activity, and not from some
other random place. The way it was refactored is:

1. Find a place where the static object
(LibreOfficeMainActivity.mAppContext) is used.
2. Add a LibreOfficeMainActivity object to the method signature.
3. Repeat the process with a method that calls it, and repeat until
the LibreOfficeMainActivity object isn't available, so that it can be
passed through all the methods, to the place where the static object
was used.
4. Replace that static object with the parameter of the function.

The commit looks pretty huge, but it's basically just the simple
refactoring explained above. The memory leak isn't completely gone,
but this a progress towards it. Also moved the "global" objects of
Handler and LOKitThread from an Activity to an Application, which
is the correct place for "global" variables. Can someone explain why
Handler and LOKitThread are used? They seem to mostly do nothing, but
steeply increasing the complexity of the application.

Change-Id: Ib2be77fa3adea94d6b7849d0e2afa90bf318d68b
Reviewed-on: https://gerrit.libreoffice.org/33073
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Aleksandar Stefanović <theonewithideas@gmail.com>
2017-01-25 09:16:51 +00:00
9123ba9632 Cleaned up FormattingController
It was coded pretty badly, so I cleaned it up. Most notably, it used
a static instance of the Activity, which is a huge no-no which
creates memory leaks. The irony is, it already had a reference to the
Activity used correctly in the constructor. One memory-leak fixed,
29 more to go (LibreOfficeMainActivity holds that static Activity
object which needs fixing). Also, simplified the "bottom toolbar"
in preparation for the CoordinatorLayout implementation which will
allow the activity to have fancy animations and smart interactions.

Change-Id: I31aa117f6179910db73a5256b0a287357e1dec83
Reviewed-on: https://gerrit.libreoffice.org/33010
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-16 08:05:25 +00:00
15c97b28aa Fixed typo in SearchController
Fixed typo in SearchController (SearchDriection -> SearchDirection)
Also tightened up the code.

Change-Id: Iedb6f95c9d8ed04cc166638250c2d565e92d79ff
Reviewed-on: https://gerrit.libreoffice.org/33011
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-16 08:04:15 +00:00
a2945d837b Replaced list and grid with RecyclerView
Because RecyclerView is more optimized, especially if there are lot
of items. This way, we don't have to recreate ListView and GridView
each time we switch view modes. Changed list adapter to appropriate
RecyclerView adapter, and created new grid adapter inline, next to
the list adapter, while deleting the older grid adapter file. Since
these adapters are almost identical in content, maybe we could:
a) Make them extend the same "base" adapter, to avoid duplicate code
b) Unite them into one adapter which would display appropriate views
at appropriate times.

Change-Id: I1545c2c245ca642a689dee584bffb15f90aac4a6
Reviewed-on: https://gerrit.libreoffice.org/32976
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-16 08:03:42 +00:00
b610c98b59 Revamped the navigation drawer
Replaced the custom implementation of the drawer with the support library one.
This one inherently follows Material Design guidelines, and is much easier to
maintain. This implementation also allows for header in the drawer, and so
we could put something useful there to make the drawer even better. Also kept
the original way of programatically adding the menu items, although I find this
practice somewhat unelegant. Maybe we could have static list of items, and then
grey-out the ones that aren't currently available? Also added appropriate icons
to the menu items (which are vector drawables, of course), but I only covered
the providers that appeared on my device (I can't confirm that there are no
other providers), so if the provider is covered, it will have an icon, but if
I didn't cover it, it will appear just fine, but without an icon. Maybe we
could move the settings and sorting to the navigation drawer, also? It would
be cleaner and more elegant, IMO.

Change-Id: I02a051f0b75c6d4e16f518aa19fb9c6eef00f5e4
Reviewed-on: https://gerrit.libreoffice.org/32881
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-16 08:02:17 +00:00
2e582ed403 tdf#101689 - Fix returning to first part of documents when resumed
Change-Id: I6d3a9354c702628e991c69176086efbbc28ddd74
Reviewed-on: https://gerrit.libreoffice.org/31753
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-13 09:59:54 +00:00
a940c8280d Folder icon redesign
Replaced old and busted icon design, with Google's generic app icon.
It is now a vector drawable, which means it will be sharp at any resolution,
while we only need to keep one tiny xml file for it. No folder thumbnail
support, but this a welcomed change nontheless.

Change-Id: Ie6e38a6ac8e6cf1bc2d22247c11b5de0bd0d8478
Reviewed-on: https://gerrit.libreoffice.org/32498
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-11 07:00:51 +00:00
d976f9151a Updated toolbar spinner to newer implementation
Lowered all-caps navigation labels to something more professional.
Added a Spinner to the Toolbar in XML.
Reworked many lines of LibreOfficeUIActivity to remove possible NPE's, and also
removed redundant lines, which were mostly deprecated, as well as switching to
a newer implementation of a toolbar-spinner navigation pattern. There are more
deprecated methods, but I wanted them in a separate commit.

Change-Id: I15d5365ed7c00880873bf7874bc794008436bb99
Reviewed-on: https://gerrit.libreoffice.org/32497
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-11 06:54:10 +00:00
11e443bfe1 Removed unnecessary imports
Import redundancy reported by Android Studio.

Change-Id: If46a43bb18268877d41d4957094acc543c4588fd
Reviewed-on: https://gerrit.libreoffice.org/32496
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-11 06:53:14 +00:00
ca48c61212 Bumped version numbers in Gradle
It builds correctly.
Note that the target version remained the same (22) instead of the current 25.

Change-Id: Ic14fc5b2e5aa04d621e86249d33c1d6d9bdce3c2
Reviewed-on: https://gerrit.libreoffice.org/32495
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-11 06:52:23 +00:00
45f75e2909 tdf#104856 - Fix for closing the document without asking for saving
Change-Id: I37b6fbf2639439a57c6d162b7817d009d1d49023
Reviewed-on: https://gerrit.libreoffice.org/32332
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-12-24 08:24:42 +00:00
252008d492 tdf#103524 - Fix Bottom Toolbars closing operation
Added variables to control state of bottom toolbars, and based
on their state open/close the bars

Change-Id: I5f9429b336451a354b95dcee18b71fb577c28559
Reviewed-on: https://gerrit.libreoffice.org/30298
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-12-06 08:31:00 +00:00
e40a2670d1 android: launcher icon should be mipmap, not drawable
as non-native mipmap resolutions don't get stripped from the apk (as
drawables would), but launchers and similar might still want to show the
higher-res version instead. Google Play store now enforces this.
Also rename to the common name for it ("ic_launcher" instead of "main")

Change-Id: I97318287f05556f5db0afaa0b23c0d8c9628465e
Reviewed-on: https://gerrit.libreoffice.org/31204
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2016-11-26 15:23:35 +00:00
5cbaf0504f bump gradle plugin, build-tools and support lib versions
Change-Id: I94036432e23b2d73b6e2006ed49f9890ae11aa05
2016-11-16 15:07:04 +01:00
7cde8def93 re-apply "use material style selection handles""
and account for the libreofficekit changes

This reverts commit 50e9065cbbb2c62fa925cf5b561a85c715a0eb1e.
that did in turn revert 4ae8c3c20bd4a10ba141a32f01e23ac63636f9c3.

Change-Id: Ie02d8743b3608120ed63bfe2a014fa4139577b01
2016-11-10 15:01:03 +01:00
50e9065cbb temporarily revert "use material style selection handles"
the linux build / libreofficekit also uses those and needs to be told
about this change as well.

This reverts commit 4ae8c3c20bd4a10ba141a32f01e23ac63636f9c3.
2016-11-10 12:21:19 +01:00
6e8b08f530 bump gradle/gradle-plugin to instant-run compatible versions
Change-Id: Ib0d2dac42814c9daf752f0421922fb093507eb7c
2016-11-10 12:15:50 +01:00
f7b60a3819 refresh app icons to flat/material style
Change-Id: I0c0a8a540eccc022c405659f53da73bd87eced18
2016-11-10 12:09:23 +01:00
4ae8c3c20b use material style selection handles
Change-Id: If42bf5757e2010fccc7061ccffda76048b2e0dda
2016-11-10 12:05:37 +01:00
f0207e3d2d tdf#101919: rename ownCloud to Remote server
Change-Id: I217fdc805ce425f8a4a17d0d0e924e532ec070de
Reviewed-on: https://gerrit.libreoffice.org/28983
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-09-19 14:07:57 +00:00
7d794b193e tdf#96797 - Android: Viewer file filter is not working on ownCloud
Change-Id: I6ffb450d935ae1f7b4900243b9ff2f8df408628f
Reviewed-on: https://gerrit.libreoffice.org/27829
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-09-19 06:14:52 +00:00
c57e7685f2 tdf#101260 - Android: Filter in External SD doesn't work
Change-Id: Iaba74749c11cbac972fecf816e5bb090edd9e06c
Reviewed-on: https://gerrit.libreoffice.org/27802
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-09-19 06:12:18 +00:00
fbda3f9a8d tdf#96810 - Fix Android Viewer: Keyboard can not hide with keyboard button.
Change-Id: I87d83953094d31ed4e1bcf60c55dd19056a7994e
Reviewed-on: https://gerrit.libreoffice.org/28005
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-09-09 08:16:55 +00:00
5bdea25f68 tdf#96771 - bug fix for owncloudfiles with white space characters
Change-Id: I373db55ed819ed5d2a574ba2590032ee628218f4
Reviewed-on: https://gerrit.libreoffice.org/27634
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-08-28 07:13:01 +00:00
428e23f4f7 Fix some spelling errors in comments and strings
Change-Id: Iecd6b5e13d6be14651f77d8e37f01117ba15a11e
Reviewed-on: https://gerrit.libreoffice.org/26883
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-07-04 06:11:36 +00:00
66be4feef7 android: prevent crash if storage is unavailable
Change-Id: I350acc1735d5fd22a27434fc5ccf2ab39bf3d2cf
2016-07-02 17:20:52 +02:00
cca44fe229 lokdocview: replace handle_graphic.png with manual drawing
If we draw a black graphic handle manually, then it's possible to color
it later, this isn't easy if a bitmap is painted.

Change-Id: Ib4456fd5155862d52e3ffa79ee49c7bfd16fb742
Reviewed-on: https://gerrit.libreoffice.org/26860
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
2016-07-01 16:02:01 +00:00
c6e8c96d50 tdf#99539 - fıx crash on android 5.1
Change-Id: I3d484f7d7d9e466ae1b2ac4afe2b59d060fa8b77
Reviewed-on: https://gerrit.libreoffice.org/24537
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-05-01 10:10:12 +00:00
fc2590cfa1 Fix typos
Change-Id: Id81b16ff26283611f0b84929d831c827f847ab73
Reviewed-on: https://gerrit.libreoffice.org/24317
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-04-30 15:06:45 +00:00
c9c78dc1a5 formatting and whitespace
Change-Id: Icc086404a2ef32a38e972da9158f6156fdf74ef2
Reviewed-on: https://gerrit.libreoffice.org/23363
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-19 17:33:31 +00:00
6d68e88a0f Fix typos
Change-Id: I4586168d3af81f047a4ded59fc6d257f17554885
Reviewed-on: https://gerrit.libreoffice.org/22194
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-02-08 06:53:49 +00:00
956d48b5a5 android: document some parameters for doxygen
Change-Id: I4382949a35df3877fc6c93a83d6e84cd892756a8
2016-02-05 23:03:01 +11:00
1dfb68debb tdf#88389 - android document browser: external storage access
Background:
External SD cards are only partially supported by the Android system,
with a great deal of fragmentation on implementation across manufacturers
and android versions. There is no official support for OTG devices.

This commit adds:
1) External SD card support
2) OTG device support

Caveats:
1) Not tested on Android 6. Emulator crashes when opening
files on Android 6, using an unmodified build of the master branch.

2) OTG support currently works only if there is write access
to the OTG directory. The user must be aware of exact OTG directory
path or be able to navigate to it as well.

3) External SD card provider currently lacks file filtering.

Approach:
-----
Added new document providers.

External SD cards:
There are 2 different document providers external sd cards,
one for Android 4.4 and above, and the other for older versions.

1) New
Android 4.4 and above require usage of the DocumentFile wrapper class
to access files in external storage. Actual file paths are no longer
obtainable. As such, the underlying file will be cloned in a cache,
allowing us to get an actual file path and use LOK.
Some differences exist between 4.4 & 5+. The document provider handles
each case separately.

2) Legacy
Android 4.3 and below do not support the DocumentFile wrapper.
File object can be used in these versions, allowing actual file paths
to be obtained. The document provider guesses the root directory of
the SD card. If the guessing fails, the user is to navigate to
this directory himself.

OTG:
The OTG document provider resembles the legacy external SD card
document provider, requiring the user to locate the directory himself.
The document provider does not guess the root directory of the OTG
device as the location varies with manufacturer implementation.
-----

Supplementary Notes:
Attempting to use the internal app cache as the file cache like in
the ownCloud document provider did not work. Using the external app
cache works fine though. It could be because initializing LOK wipes
the internal app cache.

Would be good to test the ownCloud document provider to confirm if it
works.

Change-Id: Ie727cca265107bc49ca7e7b57130470f7fc52e06
Reviewed-on: https://gerrit.libreoffice.org/20738
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-02-02 19:25:41 +00:00
2f2f530435 Bump build tools version to account for sdk updates
Change-Id: Ibb15ac269ddfc61153d204079b070f7a5efbcbad
Reviewed-on: https://gerrit.libreoffice.org/21550
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2016-01-29 15:49:33 +00:00
64d624b651 Fix typos
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86
Reviewed-on: https://gerrit.libreoffice.org/21209
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-10 14:17:20 +00:00
fbec6ac089 Fix typos
Change-Id: I3fba2c76c83381eb398c80947ef4849bccf7ab27
Reviewed-on: https://gerrit.libreoffice.org/21078
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 13:40:54 +00:00
fa354c9ae9 tdf#96127 Android: No UI visible
Duplicate <include layout="@layout/toolbar"/> statement found.
Problem could be caused by either
1) a differing xml reading mechanism across android versions
2) toolbar being accessed in a different way across android versions

Duplicate element removed, and linearlayout shifted below first toolbar.

Change-Id: I084b6498745bc72988f3a8eed12f7a72d261e267
Reviewed-on: https://gerrit.libreoffice.org/20422
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-01-04 21:08:00 +00:00
321dc29fc5 tdf#88391 android document browser: draw and impress icon is the same
Added missing code to set icon for draw in grid mode.

Change-Id: I9ee356d5ab1a296a90e5ece11f5f4c50e7600f13
Reviewed-on: https://gerrit.libreoffice.org/19921
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
Tested-by: Jenkins <ci@libreoffice.org>
2015-12-25 12:59:10 +00:00
7ce0889ec9 android: remove duplicated bitmaps
Change-Id: I5e16aa9da0aabe4302ebdd30b080b6bad4767006
2015-11-23 13:47:31 +01:00
6f5589d5ed android: another part where underline and strikethrough commands were swapped
Change-Id: I8fdde4b46e3e315a5b6a35cabc4495ebf69db057
2015-11-21 14:54:43 +01:00
9feffdbe0d android: underline and strikethrough commands were swapped
Change-Id: Id7157ea5fadd684dceec52f69ec9279c4107b5f1
2015-11-21 10:51:40 +01:00
506432f505 android: don't crash on empty filelist
Change-Id: I46caceed3fdf0ad0aa51c8a8ede1177ca3d1855e
2015-11-17 14:54:32 +00:00
613ef01748 android: Fixes to AndroidManifest
Change-Id: I661b3de74066831f22757b587e8b367913030573
2015-11-13 12:07:22 +01:00
7b3f6dd168 android: don't set text color in about dialog
Change-Id: Iea5df81bb2f85376dc67e1cca63d5586a834e1b0
2015-11-13 12:07:22 +01:00
cb5fa33f00 android: remove old unused action buttons (bold, italic,...)
Change-Id: I68d87af8ec2662208776d3b202d412145c86d9b2
2015-11-13 11:40:34 +01:00
d30e0aea02 android: rename "editMode" to "experimentalMode"
Change-Id: I3fcb7bb2fda925a1c5b2633ac7f6846fda0dabf8
2015-11-13 11:40:34 +01:00
8908920488 android: add undo/redo to the main toolbar
Change-Id: I64f76d22018fcd8af2991933ba5ab2069f84181f
2015-11-13 11:40:34 +01:00
6636476cf0 android: Add string searching + search toolbar
LOKit supports searching, but this was not implemented yet in the
Android GUI. This adds a bottom search toolbar where you can type
a search string + up/down search handles to search for the string
from the current cursor position.

Change-Id: Ia7461d2c6399c23201d2ea81f0b44c38533939a1
2015-11-13 11:40:33 +01:00