1522 Commits

Author SHA1 Message Date
Chris Sherlock
956d48b5a5 android: document some parameters for doxygen
Change-Id: I4382949a35df3877fc6c93a83d6e84cd892756a8
2016-02-05 23:03:01 +11:00
AlexF
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
Peter Foley
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
Peter Foley
2879dceaf5 improve android build status reporting
Change-Id: I29f404dc5aee27b592eac7585c5142b91060fe5c
Reviewed-on: https://gerrit.libreoffice.org/21589
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-01-21 07:26:38 +00:00
Andrea Gelmini
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
Andrea Gelmini
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
AlexF
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
AlexF
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
Miklos Vajna
7ce0889ec9 android: remove duplicated bitmaps
Change-Id: I5e16aa9da0aabe4302ebdd30b080b6bad4767006
2015-11-23 13:47:31 +01:00
Christian Lohmaier
6f5589d5ed android: another part where underline and strikethrough commands were swapped
Change-Id: I8fdde4b46e3e315a5b6a35cabc4495ebf69db057
2015-11-21 14:54:43 +01:00
Christian Lohmaier
9feffdbe0d android: underline and strikethrough commands were swapped
Change-Id: Id7157ea5fadd684dceec52f69ec9279c4107b5f1
2015-11-21 10:51:40 +01:00
Caolán McNamara
506432f505 android: don't crash on empty filelist
Change-Id: I46caceed3fdf0ad0aa51c8a8ede1177ca3d1855e
2015-11-17 14:54:32 +00:00
Tomaž Vajngerl
613ef01748 android: Fixes to AndroidManifest
Change-Id: I661b3de74066831f22757b587e8b367913030573
2015-11-13 12:07:22 +01:00
Tomaž Vajngerl
e413089557 android: add source of icons to README
Change-Id: Iad3ad138a9a7164d10ab6e51e22032ad115d08a5
2015-11-13 12:07:22 +01:00
Tomaž Vajngerl
7b3f6dd168 android: don't set text color in about dialog
Change-Id: Iea5df81bb2f85376dc67e1cca63d5586a834e1b0
2015-11-13 12:07:22 +01:00
Tomaž Vajngerl
cb5fa33f00 android: remove old unused action buttons (bold, italic,...)
Change-Id: I68d87af8ec2662208776d3b202d412145c86d9b2
2015-11-13 11:40:34 +01:00
Tomaž Vajngerl
d30e0aea02 android: rename "editMode" to "experimentalMode"
Change-Id: I3fcb7bb2fda925a1c5b2633ac7f6846fda0dabf8
2015-11-13 11:40:34 +01:00
Tomaž Vajngerl
8908920488 android: add undo/redo to the main toolbar
Change-Id: I64f76d22018fcd8af2991933ba5ab2069f84181f
2015-11-13 11:40:34 +01:00
Tomaž Vajngerl
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
Tomaž Vajngerl
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
Tomaž Vajngerl
01d0983e3d android: make toolbar visuals easier to change
Change-Id: I5b4dd8b8c407640cfcd9f366cecfaf6deb0cb3be
2015-11-13 11:40:33 +01:00
Tomaž Vajngerl
b0166b1d06 android: remove attrs.xml
Change-Id: I7d3742af0c11a996701f7d263fc04a387edb0d00
2015-11-13 11:40:32 +01:00
Mihai Varga
96cd2abd74 LOK: setClientZoom() - sets the client zoom level
We need to know the client's view level to correctly handle the mouse
events in calc. PaintTile() set a zoom level that corresponds to the
requested tiles and previously postMouseEvent would call SetZoom(1,1).
Now we can make use of knowing the client's view level and call
SetZoom() with the correct parameters

Change-Id: I34b5afcdcc06a671a8ac92c03e87404e42adf4cd

Conflicts:
	sc/source/ui/unoobj/docuno.cxx
2015-11-13 09:55:19 +02:00
Miklos Vajna
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
Tomaž Vajngerl
74463457b3 android: chanhe handles to use alias, tint handles with color
Change-Id: I86ad5eefd70bc8b768780cac66ca466aa0926dc4
2015-11-02 08:48:47 +01:00
Tomaž Vajngerl
d38abe1da2 andorid: use 4 spaces for indent in color.xml
Change-Id: I2435e8ce93383a1a40996a81ef65c1823606609a
2015-11-02 08:48:47 +01:00
Tomaž Vajngerl
37d41674c2 android: don't crash in LO when SurfaceView layout is 0 width
Change-Id: I49be19b273d0c263637369e9b095f374b345191b
2015-11-01 23:06:09 +01:00
Tomaž Vajngerl
9a52bad40a android: don't crash in TextureReaper when Integer is null
Change-Id: I1514aa7a3fbab682b0d282ba0f504470943d7e4a
2015-11-01 22:59:04 +01:00
Tomaž Vajngerl
6d9124de6f android: update JNI facade, rename mouse/keyboard event flags
Change-Id: Ia2b9a812717d05c7d98d47bf0fe5fd293029d045
2015-11-01 22:59:04 +01:00
Tomaž Vajngerl
50ffbe8557 android: add desing library
Change-Id: I6468a5cf66715516764c779ecc080fb2c1bd7382
2015-11-01 22:59:03 +01:00
Tomaž Vajngerl
f70254caf4 android: remove CommandLine.java as we don't use it anymore
Change-Id: Ib487d4f948dde2027bebc914bb3fe43b55c6d50b
2015-11-01 22:59:03 +01:00
Tomaž Vajngerl
075c4db284 android: remove MockTileProvider
Change-Id: I1b44c9fa4edfdc79e48f52ba95493f83f0421669
2015-10-21 15:17:10 +02:00
Tomaž Vajngerl
c8dcec9247 android: remove the native DirectBufferAllocator
Change-Id: I41d25d288253f1b35c268ba70b8384812fa567e5
2015-10-21 15:17:10 +02:00
Tomaž Vajngerl
030891701c android: typo in gradle build script (app crashed on key press)
Change-Id: Icf3973d20455fd9ccde3a448b9596457ef5308a3
2015-10-21 15:17:10 +02:00
Miklos Vajna
1956b50e3b android: show flat ODS files in the doc browser
I forgot about this when I enabled other Calc file types in
07997cba7745997d7e2ed908a8764ba1f0777f1e (android: adapt doc browser to
updated manifest that accepts Calc documents, 2015-01-19).

Change-Id: Iabacffbfc09d806f09bc7e0f9307830bda8ebbe1
2015-10-15 08:50:50 +02:00
Christian Lohmaier
8840a66fac allow using Android Studio with lldb to debug native part
and of course also for the Java part

Using build-id linker flag allows lldb to map the installed .so to the
non-stripped version on the buildhost.

Also ndk-gdb supports specifying a different package name on the
commandline, so no need for the error in configure anymore.

Change-Id: If6887a27cc8ab15ee6ab612502cacf0a22ade737
2015-10-14 21:24:52 +02:00
Christian Lohmaier
78cf4ca440 make ndk-gdb work again
it hardcodes so much :-(

Change-Id: Id86c2bcbf5936f3ab292e87210b967e2331c9435
2015-10-14 02:32:57 +02:00
Christian Lohmaier
5b791ec5e0 android can only target sdk 22 - openssl triggers text relocation errors
scanelf -T android/source/obj/local/x86/liblo-native-code.so
 TYPE   TEXTRELS FILE
  liblo-native-code.so: (memory/data?) [0x30E35B6] in (optimized out: previous OPENSSL_rdtsc) [0x30E35B0]
  liblo-native-code.so: (memory/data?) [0x30E35D2] in (optimized out: previous OPENSSL_instrument_halt) [0x30E35D0]
  liblo-native-code.so: (memory/data?) [0x30E3646] in (optimized out: previous OPENSSL_wipe_cpu) [0x30E3640]
  liblo-native-code.so: (memory/data?) [0x30E494C] in (optimized out: previous sha1_block_data_order) [0x30E4940]
  liblo-native-code.so: (memory/data?) [0x30E79BA] in (optimized out: previous sha512_block_data_order) [0x30E7980]
  liblo-native-code.so: (memory/data?) [0x30EB7B2] in (optimized out: previous AES_encrypt) [0x30EB780]
  liblo-native-code.so: (memory/data?) [0x30ECDF2] in (optimized out: previous AES_decrypt) [0x30ECDC0]
  liblo-native-code.so: (memory/data?) [0x30ECE89] in (optimized out: previous AES_cbc_encrypt) [0x30ECE70]
ET_DYN  android/source/obj/local/x86/liblo-native-code.so

with target level 22 it is only a warning:
W/linker:
/mnt/asec/org.documentfoundation.libreoffice-1/lib/x86/liblo-native-code.so has
text relocations. This is wasting memory and prevents security hardening.
Please fix.

with target level 23 it is java.lang.UnsatisfiedLinkError

Change-Id: Ia55c75c46a64854e46aab3329fef3e9b522a5ba2
2015-10-12 02:55:28 +02:00
Christian Lohmaier
b6430ed7fd tdf#94891 fix crash when rotating screen in docbrowser right after launch
will likely also lose the current directory, but much better than
crashing.

Change-Id: I9ce20e1954a6f58325413046e258ded75b6c8848
2015-10-11 18:13:46 +02:00
Christian Lohmaier
143fb0a4b5 move extracting assets to Java & use AssetManager to access assets
using AssetsManager in both java as well as native parts allows to
handle files both with and without compression transparently

Change-Id: If02f1159c498be7ea965fd9c217410722f2dca1f
2015-10-11 02:03:43 +02:00
Christian Lohmaier
ee8257a1c7 migrate android build to gradle
move preparation tasks (creating assets/processing files) from the
makefile into the gradle script

This allows much easier integration into android-studio (just open
android/source with android studio after running make to compile the
native library)

Change-Id: I9a9d6832797c24a7e195a1c7954cd6d20f5a8496
2015-10-11 02:03:13 +02:00
Christian Lohmaier
1a6ec13d08 tdf#93281 clean cache directory on each start
to avoid segfault in native lib.

It's only a workaround, but I couldn't see what's wrong with the
cache...

Change-Id: Iceeee1e190bbbd6efe336d84ddcbd8c4d3a1c621
2015-10-03 22:54:39 +02:00
Christian Lohmaier
cdfdf76787 android: avoid arrayIndexOutOfBounds when lokit payload doesn't have a value
and is not handled yet like ".uno:CharFontName="

Change-Id: I09d17b6be9ce9b9c9ae6883f8222c8628268815d
2015-10-03 22:54:38 +02:00
Christian Lohmaier
233b9b0ec9 android: make strikethrough work (it's not .uno:StrikeOut, but .uno:Strikeout)
Change-Id: I8d629272cf94eaac406c163c06c9bbdd6a248b79
2015-10-03 22:54:38 +02:00
Christian Lohmaier
c320161f48 compare strings using equals, not with ==
Change-Id: I8869980198123bbe9e86e12638e3316be24588c3
2015-10-03 22:54:37 +02:00
Christian Lohmaier
7b282e3db8 android: remove unused imports, call static methods the static way
and remove some redundant casts

Change-Id: If58a395227e4b9d54b0d757032d4a55c25315019
2015-10-03 22:54:37 +02:00
Christian Lohmaier
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
Christian Lohmaier
de376cb1c4 android: remove no longer used files
Change-Id: Id3b71ac50e3c8ce9705f6df18edaaaa6ba8ad3fd
2015-10-03 22:54:37 +02:00
Miklos Vajna
4475c17da5 android: fix make install and don't use ant -quiet by default
Unlike 'make -s', 'ant -quiet' will stay silent even if there was an
error.

Change-Id: Iba921d3cde48875f7a6da4c5ba811cab46dfb89f
2015-10-01 16:58:08 +02:00
Andrea Gelmini
9e4c87be31 Fix typos
Change-Id: Ie0e941d48457d758525353d6c5cf858652f86fd3
Reviewed-on: https://gerrit.libreoffice.org/18938
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-09-30 05:53:57 +00:00