summaryrefslogtreecommitdiff
path: root/sal/android/lo-bootstrap.c
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-02-23 00:28:36 +0200
committerTor Lillqvist <tml@iki.fi>2013-02-23 00:31:24 +0200
commitd372af0897f528a6f5a687e4872dee91df95fec5 (patch)
tree193d8be7401cf79e4feb4b4cc81dfc9eb444be64 /sal/android/lo-bootstrap.c
parentfd56eb98e63b4aac12c9633d5847a3fb964f326d (diff)
No NativeActivity, so native_app_glue and struct android_app are meaningless
Leave the NativeActivity-related code in androidinst.cxx for reference for now. Change-Id: I760c02ea361361be2d2b69c4cad1e38311f51247
Diffstat (limited to 'sal/android/lo-bootstrap.c')
-rw-r--r--sal/android/lo-bootstrap.c124
1 files changed, 8 insertions, 116 deletions
diff --git a/sal/android/lo-bootstrap.c b/sal/android/lo-bootstrap.c
index 40f565ce6592..54e10c12b964 100644
--- a/sal/android/lo-bootstrap.c
+++ b/sal/android/lo-bootstrap.c
@@ -30,19 +30,22 @@
* instead of those above.
*/
-#include <string.h>
-#include <stdlib.h>
+#include <errno.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <sys/stat.h>
#include <sys/time.h>
+#include <time.h>
-#include <unistd.h>
-#include <fcntl.h>
#include <dlfcn.h>
+#include <fcntl.h>
+#include <pthread.h>
#include <sys/mman.h>
+#include <unistd.h>
-#include <zlib.h>
#include <jni.h>
+#include <zlib.h>
#include <android/log.h>
@@ -50,12 +53,6 @@
#include "osl/detail/android-bootstrap.h"
-#pragma GCC diagnostic ignored "-Wdeclaration-after-statement"
-
-#include "android_native_app_glue.c"
-
-#pragma GCC diagnostic warning "-Wdeclaration-after-statement"
-
#undef LOGI
#undef LOGW
@@ -72,15 +69,6 @@ struct engine {
int dummy;
};
-/* These vars are valid / used only when this library is used from
- * NativeActivity-based apps.
- */
-static struct android_app *app;
-static int (*lo_main)(int, const char **);
-static int lo_main_argc;
-static const char **lo_main_argv;
-static int sleep_time = 0;
-
/* These are valid / used in all apps. */
static const char *data_dir;
static const char *cache_dir;
@@ -278,26 +266,6 @@ setup_assets_tree(void)
return 1;
}
-static void
-engine_handle_cmd(struct android_app* state,
- int32_t cmd)
-{
- (void) state;
-
- switch (cmd) {
- case APP_CMD_SAVE_STATE:
- break;
- case APP_CMD_INIT_WINDOW:
- break;
- case APP_CMD_TERM_WINDOW:
- break;
- case APP_CMD_GAINED_FOCUS:
- break;
- case APP_CMD_LOST_FOCUS:
- break;
- }
-}
-
/* The lo-native-code shared library is always loaded from Java, so this is
* always called by JNI first.
*/
@@ -404,7 +372,6 @@ get_jni_string_array(JNIEnv *env,
const char *s = (*env)->GetStringUTFChars(env, (*env)->GetObjectArrayElement(env, strv, i), NULL);
(*argv)[i] = strdup(s);
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, strv, i), s);
- /* LOGI("argv[%d] = %s", i, lo_main_argv[i]); */
}
(*argv)[*argc] = NULL;
@@ -412,26 +379,6 @@ get_jni_string_array(JNIEnv *env,
}
-// public static native boolean setup(Object lo_main_argument,
-// int lo_main_delay);
-
-__attribute__ ((visibility("default")))
-jboolean
-Java_org_libreoffice_android_Bootstrap_setup__Ljava_lang_Object_2I(JNIEnv* env,
- jobject clazz,
- jobject lo_main_argument,
- jint lo_main_delay)
-{
- (void) clazz;
-
- if (!get_jni_string_array(env, "setup: lo_main_argument", lo_main_argument, &lo_main_argc, &lo_main_argv))
- return JNI_FALSE;
-
- sleep_time = lo_main_delay;
-
- return JNI_TRUE;
-}
-
// public static native int getpid();
__attribute__ ((visibility("default")))
@@ -1312,59 +1259,4 @@ lo_get_app_data_dir(void)
return data_dir;
}
-__attribute__ ((visibility("default")))
-struct android_app *
-lo_get_app(void)
-{
- return app;
-}
-
-/* Note that android_main() is used only in NativeActivity-based apps. Only
- * the android/qa/sc unit test app is such, and it is unclear whether there is
- * any reason to continue maintaining that buildable.
- */
-__attribute__ ((visibility("default")))
-void
-android_main(struct android_app* state)
-{
- jint nRet;
- JNIEnv *pEnv = NULL;
- struct engine engine;
- Dl_info lo_main_info;
- JavaVMAttachArgs aArgs = {
- JNI_VERSION_1_2,
- "LibreOfficeThread",
- NULL
- };
-
- fprintf (stderr, "android_main in thread: %d\n", (int)pthread_self());
-
- if (sleep_time != 0) {
- LOGI("android_main: Sleeping for %d seconds, start ndk-gdb NOW if that is your intention", sleep_time);
- sleep(sleep_time);
- }
-
- nRet = (*(*state->activity->vm)->AttachCurrentThreadAsDaemon)(state->activity->vm, &pEnv, &aArgs);
- fprintf (stderr, "attach thread returned %d %p\n", nRet, pEnv);
-
- app = state;
-
- memset(&engine, 0, sizeof(engine));
- state->userData = &engine;
- state->onAppCmd = engine_handle_cmd;
-
- /* Look up lo_main() dynamically even if it is in the same .so as this code,
- * but that is only in the case for code built to be used in a NativeActivity-based app.
- */
- lo_main = dlsym(RTLD_DEFAULT, "lo_main");
-
- if (dladdr(lo_main, &lo_main_info) != 0) {
- lo_main_argv[0] = lo_main_info.dli_fname;
- }
-
- lo_main(lo_main_argc, lo_main_argv);
- nRet = (*(*state->activity->vm)->DetachCurrentThread)(state->activity->vm);
- fprintf (stderr, "exit android_main\n");
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */