Useful when you switch sdk to a different location.
Change-Id: I95301cc9adf50a0bbd918cc7562b8871093625b8
Reviewed-on: https://gerrit.libreoffice.org/67873
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
It had been left out in 4082a18406 "android: use
unified headers and llvm-c++ STL (x86) with NDK 16" because "arm unfortunately
crashes with llvm-c++, so keep with gnustl for now/fix that later".
Making armeabi-v7a work with libc++ etc. required a number of changes, listed
below, in this commit and in preceding ones. At least 32-bit x86 already worked
with libc++ etc. prior to these changes in view mode, though it crashed in the
experimental editing mode (enabled with strippedUIEditing in
android/soruce/Makefile) as soon as one types in something, But it is not
entirely clear to me why 32-bit x86 view mode didn't also fail similar to how I
saw armeabi-v7a fail. (On 32-bit x86, these changes appear to neither improve
nor worsen the current state, view mode still appears to work fine while editing
still crashes upon typing anything. With these changes, editing mode on
armeabi-v7a appears to work fine. But I tested armeabi-v7a only with a real
device and 32-bit x86 only with an emulator, in case that might make a
difference.)
* Preceding <https://gerrit.libreoffice.org/#/c/64964/> "Move NSSLIBS to a more
sensible place on the linker command line" plus this change's addition of
-lunwind to the liblo-native-code.so linker command line make sure that
liblo-native-code.so uses _Unwind_* functions from libunwind.a, instead of
erroneously picking up the ones from libgcc.a that happen to be included in
NSSLIB's nspr4 (-lgcc is automatically added to the end of the linker command
line by the invoking compiler, that's how libgcc.a's _Unwind_* end up in
NSSLIB's nspr4; it is neither clear to me why NSSLIB's nspr4, being a pure C
library, uses _Unwind_* functions, nor why exception handling in
liblo-native-code.so fails when using _Unwind_* functions from libgcc.a
instead of from libunwind on armeabi-v7a, nor why that would work on 32-bit
x86, but that's what I observed: ModuleManager::identify
(framework/source/services/modulemanager.cxx) throws a
css::lang::IllegalArgumentException, which calls __cxa_throw ->
_Unwind_RaiseException, which ultimately lead to odd misbehavior and
std::abort during stack unwinding when using _Unwind_RaiseException from
libgcc.a instead of from libunwind). (There is no libunwind.* in
android-ndk-r16b for 32-bit x86 at least, so is presumably using _Unwind_*
functions from libgcc.a. It doesn't appear to make a difference if it
indirectly uses those _Unwind_* functions from NSSLIB's nspr4, or directly
from libgcc.a included in liblo-native-code.so if the
$(if $(filter armeabi-v7a,$(ANDROID_APP_ABI)),-lunwind)
had a ",-lgcc" else branch.)
* Preceding <https://gerrit.libreoffice.org/#/c/64965/> "Export RTTI symbols
from liblo-native-code.so, for binary UNO bridge" makes sure that excpetions
thrown from the binary UNO bridge can be caught by compiled catch clauses.
Not sure why the corresponding state of
bridges/source/cpp_uno/gcc3_linux_intel shouldn't have run into the same
issue.
* Preceding <https://gerrit.libreoffice.org/#/c/64966/> "Adapt gcc3_linux_arm
__cxa_exception to NDK 18 libc++abi" makes sure that our version of
__cxa_exception matches the version from libc++abi. This is clearly not
relevant for 32-bit x86. (The comment there android-ndk-r18b, but the
additional member is already present in
android-ndk-r16b/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.hpp, too.)
The remainder of this change just drops old armeabi-v7a--specific workarounds
that are no longer needed/no longer work.
Change-Id: Ief4c2d562c5032abe6c3b94ca3b3394be6fcd4d3
Reviewed-on: https://gerrit.libreoffice.org/64973
Tested-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This will become important when switching armeabi-v7a to
libc++/libc++abi/libunwind (coming soon) which uses address instead of string
comparison when checking for type equality, so that exceptions thrown from the
binary UNO bridge will need to use the exact same RTTI objects as referenced
from the compiled catch clauses.
Change-Id: If8bcb39212b5f5e154aee215cb5f471fe2dc4a7b
Reviewed-on: https://gerrit.libreoffice.org/64965
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
511ae02c64 "Android: Enable HAVE_FEATURE_NSS and
package the NSS libraries with apk" had added them to WHOLELIBS probably just
because that already had the $(addprefix -l,...), even though --whole-archive
doesn't make any sense for shared libraries. Better place them later on the
linker command line (after all our own archives and compiler support libraries),
so that switching armeabi-v7a to libc++/libc++abi/libunwind (coming soon) will
be able to override erroneously picking _Unwind_* symbols from NSSLIBS's nspr4
instead of libunwind.
Change-Id: Ie0c0b7a55da3eabe1bb427232d698b2a4af63e78
Reviewed-on: https://gerrit.libreoffice.org/64964
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
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: https://gerrit.libreoffice.org/45163
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
packing gdbserver into apk conflicts with extractNativeLibs="false", as
the gradle pugin compresses it (which could be disabled using
aaptOptions), but furthermore it doesn't page-align it, breaking
installation.
So instead let the user manually push the gdbserver tool to device and
remove the hardcoded values that were only there to please the ndk-gdb
scripts.
Using lldb from within Android Studio is more comfortable anyway :-)
Change-Id: I31c3af4847a479c56b3fcd6b5bed114e004bf0d2
Reviewed-on: https://gerrit.libreoffice.org/41950
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
NSS upstream doesn't seem to support building static libs. The benefit
of avoiding a few lines of extra java code doesn't appear to outweigh
the cost of patching NSS to provide static libs & carry on those patches
in our LO-bundled NSS.
Change-Id: I01fc0b1ff076923fec64b469529d1b920c1d91c2
This commit enables HAVE_FEATURE_NSS for Android and fixes the svl/ vcl/
and xmlsecurity/ module to use NSS.
xmlsecurity/ wasn't built for Android previously, this commit enables
building xmlsecurity/ for Android and disables the support of gpgme
in the same module(Only for Android).
It also enables the linking of NSS shared libraries with
liblo-native-code.so and adds a rule to package them along with the apk.
Change-Id: I7d0341688ac979ae92e9145c37dd107670417fe1
Reviewed-on: https://gerrit.libreoffice.org/41308
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
The related code is not being used now...
So, it's safe to just correct it before it is put
to use.
Change-Id: I1ba5f1d6d511c965c0ce08dd08bfcabc567da2c3
Reviewed-on: https://gerrit.libreoffice.org/36103
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
This commit will add the ability to create a new document.
A FAB is used in home screen which on expansion gives
four options namely new writer document, new impress,
new Sheet or new Draw. Two new events loadNewDocument
and saveDocumentAs have been added.
Another major change includes the use of constraint layout
in LOUIActivity layout as it decreases nesting of views and
improves the app performance. This was needed because
of the new FAB layouts being added.
Support for vector drawables has been enabled.
Change-Id: Ia3ea17f73c0d8514f8ddb7b9a1cbd2ce7de6ac08
Reviewed-on: https://gerrit.libreoffice.org/35183
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
removing the cache on each launch prevented opening files via intents
(i.e. from your mail application) unless the viewer was already running,
as it also deleted the temporary file that was created from the intent.
Change-Id: I0a4d9432f475e8434902ae11fc2b0c35fd25a71f
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
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
using AssetsManager in both java as well as native parts allows to
handle files both with and without compression transparently
Change-Id: If02f1159c498be7ea965fd9c217410722f2dca1f
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
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
replace with corresponding Math functions and bump android sdk target to
23 to be able to use current appcompat-v7
pre-JIT FloatMath was faster, but since then was wrapper to Math anyway
http://developer.android.com/reference/android/util/FloatMath.html
Change-Id: I19e316fb7d32e616162a70fca8c565fa320a8c1a
Has all been obsoleted by LibreOfficeKit.
Only some MOBILE_* constant #defines are now left in touch.h, but probably
those are used only by dead code.
Change-Id: I646945c4408b4e6cd5510da535cfc12088dd391c
Also, if we are at it:
- clean up 'run' as well: since the doc browser is the default activity,
no need to pass the test doc path anymore
- make 'install' not depend on build: a full build would need a toplevel
'make' anyway
Change-Id: Ia55d52f767ab3e0be02a753a95b2aac02f8491cc