Commit Graph

25 Commits

Author SHA1 Message Date
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
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
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
7ce0889ec9 android: remove duplicated bitmaps
Change-Id: I5e16aa9da0aabe4302ebdd30b080b6bad4767006
2015-11-23 13:47:31 +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
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
319623a334 android: Add bottom formatting toolbar
The bottom formatting toolbar now shows the formatting options
previously located in the main toolbar as a menu entry (bold,
italic, ...). In addition alignment options and selection of fonts
and sizes have been added.

Bottom formatting toolbar is not shown by default - it enables when
hitting the icon in main toolbar. Also soft keyboard and formatting
toolbar should not be shown at the same time.

Change-Id: I5f6cf8a9fcbdb4d154ae7504a65f9a226c99d694
2015-11-13 11:40:33 +01:00
01d0983e3d android: make toolbar visuals easier to change
Change-Id: I5b4dd8b8c407640cfcd9f366cecfaf6deb0cb3be
2015-11-13 11:40:33 +01:00
b0166b1d06 android: remove attrs.xml
Change-Id: I7d3742af0c11a996701f7d263fc04a387edb0d00
2015-11-13 11:40:32 +01:00
c044e51b99 lokdocview: assert that loading of handle bitmaps succeeded
A number of such bitmaps were removed by accident in commit
74463457b39c9def1add630b7b0581dc195549c8 (android: chanhe handles to use
alias, tint handles with color, 2015-11-01).

Change-Id: I253c4b5790e82de32e6fd06896645adf360fa586
2015-11-10 09:41:09 +01:00
74463457b3 android: chanhe handles to use alias, tint handles with color
Change-Id: I86ad5eefd70bc8b768780cac66ca466aa0926dc4
2015-11-02 08:48:47 +01:00
d38abe1da2 andorid: use 4 spaces for indent in color.xml
Change-Id: I2435e8ce93383a1a40996a81ef65c1823606609a
2015-11-02 08:48:47 +01:00
20d5c4cce5 android: make layouts nicer to work with by providing sample values in editor
Change-Id: I76495becb0257cb36340397d7296f26565fca4cd
2015-10-03 22:54:37 +02:00
de376cb1c4 android: remove no longer used files
Change-Id: Id3b71ac50e3c8ce9705f6df18edaaaa6ba8ad3fd
2015-10-03 22:54:37 +02:00
a952540aeb Android: i18-ize some strings
Change-Id: I35d0ef7976d6dcca65f3335ff9175c799faa99fe
2015-09-11 18:32:49 +00:00
aa3cdfc8b6 Android: show drawer ("hamburger") icon on root directory
When browsing the root directory, the application home button (on the
top left corner) becomes a drawer icon. When not in the root dir, the
icon is an arrow as usual.

This will increase the visibility of the document providers feature.

Also, modified the behavior of the system back key to close the drawer
in case it is open.

Change-Id: Id0ce932907bcec4b8601029482eda0c1c1f0df35
Reviewed-on: https://gerrit.libreoffice.org/16246
Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Tested-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2015-06-12 11:23:27 +00:00
371cecff13 Android: do not hide toolbar under the drawer
Change-Id: I329b1e5eb63c023a488c72137d9775f1f19b9e3d
Reviewed-on: https://gerrit.libreoffice.org/16247
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2015-06-12 11:07:06 +00:00
d1f671e053 tdf#87434: android: system back key to go one level up
Added an additional check so back has to be pressed twice on the root
folder to actually leave the application. It's a check seen in many
other apps.

Change-Id: I26827113a41070aa8188fa616ba8fe53742329b3
Reviewed-on: https://gerrit.libreoffice.org/16245
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2015-06-12 09:32:12 +00:00
78ecdbc2f6 Android: improve error handling in ownCloud provider.
This provider now throws exceptions with properly internationalized
messages to be shown to the user.

Change-Id: I0464bffe14cab24d50180cb5e2e62ce746bcba74
Reviewed-on: https://gerrit.libreoffice.org/16197
Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Tested-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2015-06-10 17:18:50 +00:00
ba44368da5 Android: add menu entry for document provider settings
Change-Id: Ic48275fe2e7d83fd5e77171f4f5740a527dec7e2
Reviewed-on: https://gerrit.libreoffice.org/16195
Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Tested-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2015-06-10 17:15:59 +00:00
d5c9d1dec6 Android: settings activity for document providers
Creates an activity to manage the settings of any document provider
that needs them, and populated it with the settings required by the
ownCloud implementation.

The settings screen is not yet plugged to the document browser UI but
can be launched with this command:

  adb shell am start -a android.intent.action.MAIN \
  -n org.libreoffice/.storage.DocumentProviderSettingsActivity

Change-Id: I83cff641fa61078f2bddbb98262af989c06985a9
Reviewed-on: https://gerrit.libreoffice.org/16193
Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Tested-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2015-06-10 17:12:18 +00:00
69773f54bb Android: initial implementation of ownCloud provider.
This implementation can connect to a local server and browser its
contents, but cannot download and open the documents yet.

TODO:

* Download and open documents.
* UI to configure server, user and password.
* Implement filtering to show only the documents of the desired type.
* Improve error handling.

Change-Id: I54a2e2e1d3e8ec8d824d75639e176ca452551f3e
Reviewed-on: https://gerrit.libreoffice.org/16191
Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Tested-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2015-06-10 17:08:00 +00:00
ab8cbb6cc1 Let's simplify the paths and be less 'experimental' 2015-05-21 17:10:19 +01:00