[Libreoffice-commits] .: 5 commits - android/Bootstrap android/experiments codemaker/source sal/android ucbhelper/source
Tor Lillqvist
tml at kemper.freedesktop.org
Wed Mar 28 07:04:20 PDT 2012
android/Bootstrap/src/org/libreoffice/android/Bootstrap.java | 4 +
android/experiments/DocumentLoader/Makefile | 13 ---
android/experiments/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java | 2
codemaker/source/javamaker/javatype.cxx | 5 +
sal/android/lo-bootstrap.c | 21 +++++
ucbhelper/source/client/contentbroker.cxx | 38 ++++++++++
6 files changed, 71 insertions(+), 12 deletions(-)
New commits:
commit 61d1533961d002ff0630a0505686dc37b5c393ca
Author: Tor Lillqvist <tlillqvist at suse.com>
Date: Wed Mar 28 16:45:24 2012 +0300
Include unoil.jar
diff --git a/android/experiments/DocumentLoader/Makefile b/android/experiments/DocumentLoader/Makefile
index 872618f..ddf5146 100644
--- a/android/experiments/DocumentLoader/Makefile
+++ b/android/experiments/DocumentLoader/Makefile
@@ -196,21 +196,12 @@ build-ant: copy-stuff
juh \
jurt \
ridl \
+ unoil \
unoloader \
); do \
$(call COPYJAR,$(OUTDIR)/bin/$${F}.jar); \
done
#
-# com.sun.star.frame.XComponentLoader is not in any jar
-#
- cd libs && \
- LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib \
- DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib \
- $(OUTDIR_FOR_BUILD)/bin/javamaker -BUCR -nD \
- $(OUTDIR)/bin/udkapi.rdb $(OUTDIR)/bin/offapi.rdb \
- -Tcom.sun.star.frame.XComponentLoader && \
- jar cvf more.jar com
-#
unset JAVA_HOME && $(ANT) debug
install: build-ant
commit de290c0ffc7a4969fb1cdc33696d241f47804592
Author: Tor Lillqvist <tlillqvist at suse.com>
Date: Wed Mar 28 16:44:53 2012 +0300
Leave out reference to the the user registrymodifications.xcu for now
diff --git a/android/experiments/DocumentLoader/Makefile b/android/experiments/DocumentLoader/Makefile
index 7aa3264..872618f 100644
--- a/android/experiments/DocumentLoader/Makefile
+++ b/android/experiments/DocumentLoader/Makefile
@@ -156,7 +156,7 @@ copy-stuff:
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 '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 user:$${$$BRAND_BASE_DIR/program/bootstraprc:UserInstallation}/user/registrymodifications.xcu' >> 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=file:///assets/bin/ure/types.rdb file:///assets/bin/types.rdb' >> assets/program/fundamentalrc
echo 'URE_MORE_SERVICES=file:///assets/xml/ure/services.rdb file:///assets/xml/services.rdb <$$BRAND_BASE_DIR/program/services>*' >> assets/program/fundamentalrc
commit 6db50818c1f6685adc4551c6927c9420f0872775
Author: Tor Lillqvist <tlillqvist at suse.com>
Date: Wed Mar 28 16:42:34 2012 +0300
Add JNI wrapper for InitUCBHelper() and call it
diff --git a/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java b/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
index e5f2f1e..c60c9e9 100644
--- a/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
+++ b/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
@@ -93,6 +93,10 @@ public class Bootstrap extends NativeActivity
// where the lo-bootstrap library is.
public static native void setCommandArgs(String[] argv);
+ // A wrapper for InitUCBHelper() in he ucbhelper library
+ // (contentbroker.cxx), also this called indirectly through the lo-bootstrap library
+ public static native void initUCBHelper();
+
public static void setup(Activity activity)
{
String dataDir = null;
diff --git a/android/experiments/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java b/android/experiments/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java
index 882c73c..93ed87e 100644
--- a/android/experiments/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java
+++ b/android/experiments/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java
@@ -91,6 +91,8 @@ public class DocumentLoader
Log.i(TAG, "oDesktop is" + (oDesktop!=null ? " not" : "") + " null");
+ Bootstrap.initUCBHelper();
+
com.sun.star.frame.XComponentLoader xCompLoader =
(com.sun.star.frame.XComponentLoader)
UnoRuntime.queryInterface(
diff --git a/sal/android/lo-bootstrap.c b/sal/android/lo-bootstrap.c
index 27f4e07..068ba7c 100644
--- a/sal/android/lo-bootstrap.c
+++ b/sal/android/lo-bootstrap.c
@@ -1577,6 +1577,27 @@ Java_org_libreoffice_android_Bootstrap_setCommandArgs(JNIEnv* env,
(*osl_setCommandArgs)(c_argc, c_argv);
}
+// public static native void initUCBhelper();
+
+__attribute__ ((visibility("default")))
+void
+Java_org_libreoffice_android_Bootstrap_initUCBHelper(JNIEnv* env,
+ jobject clazz)
+{
+ void (*InitUCBHelper)(void);
+ (void) env;
+ (void) clazz;
+
+ /* This obviously should be called only after the ucbhelper so has been loaded */
+
+ InitUCBHelper = dlsym(RTLD_DEFAULT, "InitUCBHelper");
+ if (InitUCBHelper == NULL) {
+ LOGE("InitUCBHelper: InitUCBHelper not found");
+ return;
+ }
+ (*InitUCBHelper)();
+}
+
__attribute__ ((visibility("default")))
JavaVM *
lo_get_javavm(void)
commit bb84db9f44fd1fcadd86841411ac40d22281c157
Author: Tor Lillqvist <tlillqvist at suse.com>
Date: Wed Mar 28 16:42:01 2012 +0300
Add an InitUCBHelper function to be called from an Android app's Java level
diff --git a/ucbhelper/source/client/contentbroker.cxx b/ucbhelper/source/client/contentbroker.cxx
index 0d86547..b38b421 100644
--- a/ucbhelper/source/client/contentbroker.cxx
+++ b/ucbhelper/source/client/contentbroker.cxx
@@ -43,6 +43,12 @@
#include <com/sun/star/ucb/XCommandProcessor.hpp>
#include <ucbhelper/contentbroker.hxx>
+#ifdef ANDROID
+#include <cppuhelper/bootstrap.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <ucbhelper/configurationkeys.hxx>
+#endif
+
#ifdef DISABLE_DYNLOADING
#define MSF_CREATEINSTANCE(Msf, Service) \
@@ -220,6 +226,38 @@ sal_Bool ContentBroker::initialize(
return m_pTheBroker != 0;
}
+#ifdef ANDROID
+
+extern "C" __attribute__ ((visibility("default"))) void
+InitUCBHelper()
+{
+ Reference< XMultiServiceFactory > xFactory;
+ try
+ {
+ Reference< XComponentContext > xCtx = ::cppu::defaultBootstrap_InitialComponentContext();
+ xFactory = Reference< XMultiServiceFactory >( xCtx->getServiceManager(),
+ UNO_QUERY );
+ }
+ catch( Exception& )
+ {
+ }
+
+ if( !xFactory.is() )
+ {
+ fprintf( stderr,
+ "Could not bootstrap UNO, installation must be in disorder. Exiting.\n" );
+ exit( 1 );
+ }
+
+ // Create UCB.
+ Sequence< Any > aArgs( 2 );
+ aArgs[ 0 ] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( UCB_CONFIGURATION_KEY1_LOCAL ));
+ aArgs[ 1 ] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( UCB_CONFIGURATION_KEY2_OFFICE ));
+ ::ucbhelper::ContentBroker::initialize( xFactory, aArgs );
+}
+
+#endif
+
//=========================================================================
// static
void ContentBroker::deinitialize()
commit c589fa17b8f3e6ded0d1e04120781eb5d6735bc7
Author: Tor Lillqvist <tlillqvist at suse.com>
Date: Wed Mar 28 16:39:48 2012 +0300
Dalvik enforces byte constants being in range (-128..127)
diff --git a/codemaker/source/javamaker/javatype.cxx b/codemaker/source/javamaker/javatype.cxx
index 1453122..f297980 100644
--- a/codemaker/source/javamaker/javatype.cxx
+++ b/codemaker/source/javamaker/javatype.cxx
@@ -2447,7 +2447,10 @@ void addConstant(
rtl::OString(
RTL_CONSTASCII_STRINGPARAM("Bad type information"))); //TODO
}
- valueIndex = classFile->addIntegerInfo(fieldValue.m_value.aByte);
+ if (fieldValue.m_value.aByte < 0x80)
+ valueIndex = classFile->addIntegerInfo(fieldValue.m_value.aByte);
+ else
+ valueIndex = classFile->addIntegerInfo(-256 + (int) fieldValue.m_value.aByte);
break;
case codemaker::UnoType::SORT_SHORT:
More information about the Libreoffice-commits
mailing list