android/experimental/LibreOffice4Android/Makefile | 19 +++++++++---------- sal/android/lo-bootstrap.c | 7 +++++++ sal/inc/osl/detail/android-bootstrap.h | 2 ++ sal/rtl/source/bootstrap.cxx | 12 ++++++++++++ 4 files changed, 30 insertions(+), 10 deletions(-)
New commits: commit 129831703f0539bf06279f47f915098e5a7287f8 Author: Tor Lillqvist <t...@iki.fi> Date: Thu Nov 22 14:01:42 2012 +0200 Add an $APP_DATA_DIR predefiend thingie in bootstrap ("rc") files for Android It expands to what lo_get_app_data_dir() returns, i.e. the activity's getApplicationInfo().dataDir. Use it in the LibreOffice4Android app's rc files instead of a hardcoded (possibly device- and/or OS version dependent) path. Change-Id: I8145f2c86eeded39232fb251a79fa64f31f77f55 diff --git a/android/experimental/LibreOffice4Android/Makefile b/android/experimental/LibreOffice4Android/Makefile index 8a57055..ea5fbeb 100644 --- a/android/experimental/LibreOffice4Android/Makefile +++ b/android/experimental/LibreOffice4Android/Makefile @@ -45,9 +45,8 @@ copy-stuff: gzip -9 <$(OUTDIR)/bin/types.rdb >assets/gz.unpack/program/types.rdb gzip -9 <$(OUTDIR)/bin/ure/types.rdb >assets/gz.unpack/program/ure/types.rdb # For some reason the vnd.sun.star.expand:$LO_LIB_DIR doesn't seem to work, it expands to empty!? -# So just hardcode the known APP_DATA_PATH for now... for F in xml/services xml/ure/services; do \ - sed -e 's!uri="vnd.sun.star.expand:$$LO_LIB_DIR/!uri="file://$(APP_DATA_PATH)/lib/!g' <$(OUTDIR)/$$F.rdb >assets/$$F.rdb; \ + sed -e 's!uri="vnd.sun.star.expand:$$LO_LIB_DIR/!uri="file://$$APP_DATA_DIR/lib/!g' <$(OUTDIR)/$$F.rdb >assets/$$F.rdb; \ done cp $(SRC_ROOT)/odk/examples/java/DocumentHandling/test/test1.odt \ $(SRC_ROOT)/sc/qa/unit/data/xls/border.xls \ @@ -72,30 +71,30 @@ copy-stuff: echo 'NativeProgress=1' >> assets/rc echo 'URE_BOOTSTRAP=file:///assets/program/fundamentalrc' >> assets/rc # echo 'RTL_LOGFILE=file:///dev/log/main' >> assets/rc - echo "HOME=$(APP_DATA_PATH)/cache" >> assets/rc - echo "OSL_SOCKET_PATH=$(APP_DATA_PATH)/cache" >> assets/rc + echo 'HOME=$$APP_DATA_DIR/cache' >> assets/rc + echo 'OSL_SOCKET_PATH=$$APP_DATA_DIR/cache' >> assets/rc # # Set up fundamentalrc echo '[Bootstrap]' > assets/program/fundamentalrc - echo "LO_LIB_DIR=file:$(APP_DATA_PATH)/lib/" >> assets/program/fundamentalrc - echo "URE_LIB_DIR=file://$(APP_DATA_PATH)/lib/" >> assets/program/fundamentalrc # checkme - is this used to find configs ? + echo 'LO_LIB_DIR=file://$$APP_DATA_DIR/lib/' >> assets/program/fundamentalrc + echo 'URE_LIB_DIR=file://$$APP_DATA_DIR/lib/' >> assets/program/fundamentalrc # checkme - is this used to find configs ? echo 'BRAND_BASE_DIR=file:///assets' >> assets/program/fundamentalrc echo 'CONFIGURATION_LAYERS=xcsxcu:$${BRAND_BASE_DIR}/share/registry module:$${BRAND_BASE_DIR}/share/registry/modules res:$${BRAND_BASE_DIR}/share/registry' >> assets/program/fundamentalrc echo 'URE_BIN_DIR=file:///assets/ure/bin/dir/not-here/can-we/exec-anyway' >> assets/program/fundamentalrc - echo 'URE_MORE_TYPES=$(APP_DATA_PATH)/program/offapi.rdb $(APP_DATA_PATH)/program/oovbaapi.rdb' >> assets/program/fundamentalrc + echo 'URE_MORE_TYPES=$$APP_DATA_DIR/program/offapi.rdb $$APP_DATA_DIR/program/oovbaapi.rdb' >> assets/program/fundamentalrc echo 'URE_MORE_SERVICES=file:///assets/xml/services.rdb <$$BRAND_BASE_DIR/program/services>*' >> assets/program/fundamentalrc # # Set up unorc echo '[Bootstrap]' > assets/program/unorc - echo "URE_INTERNAL_LIB_DIR=file://$(APP_DATA_PATH)/lib/" >> assets/program/unorc - echo 'UNO_TYPES=$(APP_DATA_PATH)/program/ure/types.rdb $(APP_DATA_PATH)/program/types.rdb $${URE_MORE_TYPES}' >> assets/program/unorc + echo 'URE_INTERNAL_LIB_DIR=file://$$APP_DATA_DIR/lib/' >> assets/program/unorc + echo 'UNO_TYPES=$$APP_DATA_DIR/program/ure/types.rdb $$APP_DATA_DIR/program/types.rdb $${URE_MORE_TYPES}' >> assets/program/unorc echo 'UNO_SERVICES=file:///assets/xml/ure/services.rdb $${URE_MORE_SERVICES}' >> assets/program/unorc # # Set up bootstraprc echo '[Bootstrap]' > assets/program/bootstraprc echo 'InstallMode=<installmode>' >> assets/program/bootstraprc echo 'ProductKey=LibreOffice 3.6' >> assets/program/bootstraprc - echo "UserInstallation=file://$(APP_DATA_PATH)" >> assets/program/bootstraprc + echo 'UserInstallation=file://$$APP_DATA_DIR' >> assets/program/bootstraprc # # Set up versionrc echo '[Version]' > assets/program/versionrc diff --git a/sal/rtl/source/bootstrap.cxx b/sal/rtl/source/bootstrap.cxx index 4d9f190..1f293b5 100644 --- a/sal/rtl/source/bootstrap.cxx +++ b/sal/rtl/source/bootstrap.cxx @@ -40,6 +40,10 @@ #include <boost/unordered_map.hpp> #include <list> +#ifdef ANDROID +#include <osl/detail/android-bootstrap.h> +#endif + #ifdef IOS #include <premac.h> #import <Foundation/Foundation.h> @@ -509,6 +513,14 @@ bool Bootstrap_Impl::getValue( pData)); return true; } +#ifdef ANDROID + if (key == "APP_DATA_DIR") { + const char *app_data_dir = lo_get_app_data_dir(); + rtl_uString_assign( + value, rtl::OUString(app_data_dir, strlen(app_data_dir), RTL_TEXTENCODING_UTF8).pData); + return true; + } +#endif if (key == "ORIGIN") { rtl_uString_assign( value, commit 9cb4f96790a28470829a5aff11e8b2dd8e94c40b Author: Tor Lillqvist <t...@iki.fi> Date: Thu Nov 22 13:39:58 2012 +0200 Add lo_get_app_data_dir() Change-Id: I13ab54ce5c6d67f1623b7f1923678091660d202d diff --git a/sal/android/lo-bootstrap.c b/sal/android/lo-bootstrap.c index b03a609..61f2c76 100644 --- a/sal/android/lo-bootstrap.c +++ b/sal/android/lo-bootstrap.c @@ -1250,4 +1250,11 @@ lo_get_javavm(void) return the_java_vm; } +__attribute__ ((visibility("default"))) +const char * +lo_get_app_data_dir(void) +{ + return data_dir; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/inc/osl/detail/android-bootstrap.h b/sal/inc/osl/detail/android-bootstrap.h index 56c7c3d..672536f 100644 --- a/sal/inc/osl/detail/android-bootstrap.h +++ b/sal/inc/osl/detail/android-bootstrap.h @@ -60,6 +60,8 @@ int lo_dlcall_argc_argv(void *function, JavaVM *lo_get_javavm(void); +const char *lo_get_app_data_dir(void); + #ifdef __cplusplus } #endif _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits