path: root/sal/android
AgeCommit message (Collapse)AuthorFilesLines
2019-06-19android: Fix type of a C string to be const char[].cp-android-19Jan Holesovsky1-4/+6
With the wrong type, we were measusing the sizeof() wrongly, leading to a hard to catch crash at start that appeared only from time to time. Improve the concatenation too when at that. Change-Id: I4a4ab2909124281aac99118d66c62d669294d5f7 Reviewed-on: Reviewed-by: Michael Meeks <> Tested-by: Michael Meeks <>
2019-06-05android: Make the tiled rendering from the loolwsd actually work.Jan Holesovsky1-0/+6
Not to break the 'old' Android app, introduce a bool that can indicate if we are using the LOK from the 'old' (LOK-via-JNI-based) or from the 'new' (loolwsd-based) app. Change-Id: I38bd665cc1d5bc88018574171443ecabc46763df Reviewed-on: Reviewed-by: Jan Holesovsky <> Tested-by: Jan Holesovsky <>
2019-06-05sal, android: fix -Werror,-Wreturn-typeMiklos Vajna1-0/+2
Change-Id: Ic37967dedb2378106db2f3f437781c8ad20cad56
2019-06-05android: Set the FONTCONFIG_FILE envvar to the fonts.conf (if exists).Jan Holesovsky1-0/+15
Change-Id: Ic9fd97a2ff8a6d96ffcc7ad300ef30201d786528 Reviewed-on: Tested-by: Jenkins Reviewed-by: Jan Holesovsky <>
2019-06-05android: Separate the Android-specific setup from the actual LOK init.Jan Holesovsky1-8/+21
Change-Id: I433376dfea0a43c63827ba15308a614f3466fb71 Reviewed-on: Tested-by: Jenkins Reviewed-by: Jan Holesovsky <>
2019-06-05android: Expose setting of the JavaVM.Jan Holesovsky1-0/+7
Needed when we use the liblo-native-code as a library. Change-Id: Ia4d1d72f2203a96d1196d015b521201919bbb165 Reviewed-on: Tested-by: Jenkins Reviewed-by: Jan Holesovsky <>
2019-06-05android: use unified headers and llvm-c++ STL (x86) with NDK 16Christian Lohmaier1-0/+5
gnustl (and others) are to be removed in future versions of the ndk also bump gradle and build-tools to current versions along with it arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix that later Change-Id: Ic794c3293b599b77ec48096bf3283a99c09cbb79 Reviewed-on: Reviewed-by: Christian Lohmaier <> Tested-by: Christian Lohmaier <>
2019-06-05sal android: fix -Werror,-Wimplicit-function-declarationMiklos Vajna1-0/+1
Change-Id: If19dbb654d473e8785dc69f96775c78cc95a7bd6
2015-10-11move extracting assets to Java & use AssetManager to access assetsChristian Lohmaier2-187/+14
using AssetsManager in both java as well as native parts allows to handle files both with and without compression transparently Change-Id: If02f1159c498be7ea965fd9c217410722f2dca1f
2015-07-04Fix typosAndrea Gelmini1-1/+1
Change-Id: Iddcc22f62ea134ea797292daa02e47042d52d0d1 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Samuel Mehrbrodt <>
2015-03-30Bootstrap.initVCL is not used by our Android app any moreTor Lillqvist1-15/+0
Change-Id: Id1e58547cf2b0786d7a2ca29eae8bbcdd644fdd5
2015-03-19CppCheck cleaning : scope reduction and printf formatMichaël Lefèvre1-8/+8
Change-Id: I43ba76194ee135ffe2398267ed810cca116a1e43 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2015-01-28This typedef is not unusedTor Lillqvist1-0/+1
Fix fallout from fe480d8136b204c8dc6c68916cce7e816f8b9c48. Change-Id: I36807f0e43311e66f4ccd3542a4c064d5ccd7430
2015-01-28remove unused typedefsNoel Grandin1-1/+0
found with some minor modifications to find/ Change-Id: I18cc479adedc7a0dada68a4aeef08300e62631dd Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2015-01-12android: No reason to return JNI version less than Java 6Tomaž Vajngerl1-1/+1
Change-Id: Id9fae6561268bb7e5a465c19bdb80124f94f4939
2015-01-08brute-force find-and-remove of unused #define constants.Noel Grandin1-1/+0
Change-Id: I7223530ae37297a76654cd00cc1fedb56dbe3adb
2014-12-17Bin code that became dead after 8ecf956d79878c9b24f5ddc51d6b723a76d334f5Tor Lillqvist1-87/+0
Change-Id: I310abed7e86f8b7153817be5ae03cc3c8fec3c50
2014-12-04android: use ByteBuffer to send or store pointers in JNI bindingsTomaž Vajngerl1-2/+6
Using direct ByteBuffer is much nicer option to store or send pointers between C(++) code and Java via JNI as it handles endiness and pointer size for us. Using "long" type can have unexpected results in 32-bit architectures (mostly Android). This was causing grief especially when Android introduced support for 64-bit architectures starting with SDK 19. Change-Id: Ie92d0f913b668e1724e846d70d1820445d9cb086
2014-12-04Don't keep the LibreOfficeKit pointer in a global variableTor Lillqvist1-7/+4
It is invalid in case lo_destroy() has been called. Change-Id: I45533b66d32fc650e48748da8ea1d2f2aaa381e0
2014-08-30Start of support for Android on AArch64Tor Lillqvist1-6/+8
The build does not get far before it runs into trouble in the GNU libstdc++ headers, though: android-ndk-r10/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include/bits/opt_random.h:33:23: fatal error: x86intrin.h: No such file or directory Change-Id: I9d459c64980091ba8bf5b3d631d47342625f6be9
2014-07-01android: LibreOfficeKit needs the path to program/ as the starting point.Jan Holesovsky1-1/+14
Change-Id: I7d4534649361e1bfa2c285e67e6765a4be55ec69
2014-07-01lok bootstrap: nicer function names, clean-upTomaž Vajngerl1-21/+24
+ prevent lokandroid JNI functions to be removed from the library + basic use of lok Office / Document in LibreOfficeMainActivity Change-Id: I7bfe53738cf821b2270ab3e024cc506a7cff42f0
2014-06-30android: Make the extract_files() part of setup / init.Jan Holesovsky2-24/+9
We need to have the files extracted before we attempt to initialize LibreOfficeKit (call libreofficekit_hook), otherwise the .rdb's are not there. Change-Id: Ib49db7e945a709d18a063eb488a27df18fef542b
2014-06-30android: Make use of LibreOfficeKit.Jan Holesovsky2-19/+40
Now the LibreOfficeKit is used to actually attempt to bootstrap LibreOffice; at the moment fails to do that. Change-Id: I91220dbff783213bf7702e7213a5646859db4581
2014-06-30android: Introduce to bootstrap using LibreOfficeKit.Jan Holesovsky2-7/+134
Change-Id: I5e1758c15684b06ab6809f62f4da6d5f50c071a9
2014-05-15Resolves fdo#70681: all that's leftThomas Arnhold1-3/+3
Change-Id: I3e51a62710bb46c8255fd228d41d9300c90a1fb5 Reviewed-on: Reviewed-by: Thomas Arnhold <> Tested-by: Thomas Arnhold <>
2014-04-03Kill superfluous vertical whitespaceTor Lillqvist2-5/+0
Change-Id: I8c37b9ec45836f9c0e2dc0cf232f96f23c7c36d3
2013-10-13lo_dlcall_argc_argv() is unusedTor Lillqvist1-12/+0
Change-Id: I318bb78b148564f64373dcb87bfb458c10f87489
2013-04-22Move to MPLv2 license headers, with ESC decision and author's permission.Michael Meeks1-27/+4
2013-03-27-Werror=unused-macrosStephan Bergmann1-7/+0
Change-Id: I3c64ed78577988767a7da859e68a7f63f890f7dc
2013-02-26createWindowFoo is unusedTor Lillqvist1-14/+0
Change-Id: Ia61efc5d5ee65178fd7d868cb57eed9ba3c0519e
2013-02-23No NativeActivity, so native_app_glue and struct android_app are meaninglessTor Lillqvist2-576/+8
Leave the NativeActivity-related code in androidinst.cxx for reference for now. Change-Id: I760c02ea361361be2d2b69c4cad1e38311f51247
2013-02-21remove un-conditional 20 second sleep on-start for now.Michael Meeks1-0/+2
Change-Id: I37ff2164b1f0fcdc4f3fad41f344b0d73105a2c1
2013-02-21android: finally starting and rendering at least something again.Michael Meeks1-0/+1
Only renders on very-first-start after install (oddly). We initialize vcl in it's own thread to avoid problems. Thanks to tml for fixing a linking issue. Change-Id: I960d11c6098681356fea0634970545aa9af9bacb
2013-02-21Revert "Clean up remains of NativeActivity-based Android app support"Michael Meeks2-8/+575
This reverts commit cecc926070ee3d2ad6296fc5e0cfcde8642bb140. Conflicts: sal/android/lo-bootstrap.c sal/inc/osl/detail/android-bootstrap.h
2012-11-22Add lo_get_app_data_dir()Tor Lillqvist1-0/+7
Change-Id: I13ab54ce5c6d67f1623b7f1923678091660d202d
2012-11-21Clean up remains of NativeActivity-based Android app supportTor Lillqvist2-575/+8
We haven't been able to build NativeActivity-based apps (like the android/qa/sc and anroid/qa/desktop thingies) since we switched to DISABLE_DYNLOADING and a single DSO anyway. No lo_main() any more. <sal/main.h> should not be included ever when compiling for Android of iOS now. Lots of stuff binned from vcl's androidinst.cxx, in the (vain?) hope that it will reduce the amount of never invoked GUI code that gets linked in. Change-Id: I25f584864c40110774c728a23151e089620442d9
2012-11-21re-base on ALv2 code. Includes:Michael Meeks1-10/+10
Patch contributed by Herbert Duerr: #i118662# remove berkeleyDB from module xmlhelp (author=orwitt) #i119141# remove ISCII converter for now make exceptions for cppunittester verbose Patches contributed by Pedro Giffuni: Avoid some uses of non portable #!/bin/bash in shell scripts. Patch contributed by Oliver-Rainer Wittmann 88652: applied patch, remove unicows deps drop OS/2 code, remove in-line assembler ARM atomics, and obsolete armarch header.
2012-11-21We don't need the library search path anymoreTor Lillqvist1-33/+4
As we don't use any dlopen() etc wrappers now with just one single DSO, we have no use for the library search path either. Change-Id: Ifaf11c4785a90fe5c7dafb3310bc7933ea31238c
2012-11-21Enable storing some files gzipped in the .apkTor Lillqvist1-11/+91
We gzip them separately in the Makefile and the gzipped result will be stored without (further) compression in the .apk. Use this to store the ttf font files. Shaves off a bit .apk size. This might seem a bit odd way to do it, why not store these files in the normal Zip compressed fashion in the .apk? It seems hard to tell Ant (based on path, not extension) what files to compress and what not, so we have to keep telling it to not (further) compress any files at all. Change-Id: I0d40d8811e6c9df6b28c285845b1db225507f5d4
2012-10-11Use DISABLE_DYNLOADING on AndroidTor Lillqvist1-724/+36
IN this branch these changes are not conditional. Unclear yet whether this is what we finally will want to use or not. Maybe should make these changes conditional and do this stuff in master instead? Change-Id: I379d570a0e00648d295c675fd90eba6594ba3182
2012-09-21Guard against lack of slashes in dli_fnameTor Lillqvist1-1/+4
Change-Id: Id9c452d9c1034f2e7969a9eae7588f2eb81a8813
2012-09-19dung out no longer needed initUCBHelper methods; thanks to sberg.Michael Meeks1-21/+0
2012-09-05Detach thread before returning from android_main()Tor Lillqvist1-0/+1
Change-Id: I593e94e90971b6be681de48dce74f7df2293c10e
2012-08-16For kicks, enable cross-building for Android on MIPSTor Lillqvist1-3/+3
Change-Id: I6fa2b9a50c525fb2d8666a144409eb9a3ad2698a
2012-08-06android: expose dummy JNI gnustl patching method for x86Michael Meeks1-3/+3
2012-07-20android: x86 porting work.Michael Meeks1-13/+17
2012-06-12Use XToolkit2::createScreenCompatibleDeviceUsingBufferTor Lillqvist1-6/+34
Render directly to a direct ByteBuffer allocated on the Java side. Change-Id: I2d66e4146df77e92260918a78ef22cd9b8c95384
2012-06-05Use 32bpp bitmaps on Android (and iOS)Tor Lillqvist1-0/+23
Modify DocumentLoader correspondingly. Take Android bug 32588 into account. Ideal would be to extend the XDevice stuff, or something, so that one could hand it a pre-allocated RGBA buffer into which the drawing/rendering would go. Then one could get rid of the silly convert-to-BMP phase, which prefixes the bitmap data with BMP and DIB headers (and thus, I guess, has to copy and allocate another copy). Will see. Change-Id: I4597cd933db8faa8105dc8f19638d712d5d2238a
2012-05-31Add a BGR to RGBA twiddling JNI functionTor Lillqvist1-0/+44
Change-Id: Iafa2c1805eea2f521479dc97d5668d82b1c91bef