]> sigrok.org Git - pulseview.git/commitdiff
Android: Use environment setup from library instead
authorMarcus Comstedt <redacted>
Fri, 18 Jul 2014 14:17:37 +0000 (16:17 +0200)
committerUwe Hermann <redacted>
Tue, 26 Aug 2014 20:45:41 +0000 (22:45 +0200)
CMakeLists.txt
android/envsetup.cpp [deleted file]
main.cpp

index 733bfe1f114865e7bac88851130b1b312c69e014..069ccd898b8be8501434840c16db3c28325b1750 100644 (file)
@@ -64,6 +64,10 @@ if(ENABLE_DECODE)
        list(APPEND PKGDEPS libsigrokdecode>=0.3.0)
 endif()
 
+if(ANDROID)
+       list(APPEND PKGDEPS libsigrokandroidutils>=0.1.0)
+endif()
+
 find_package(PkgConfig)
 pkg_check_modules(PKGDEPS REQUIRED ${PKGDEPS})
 
@@ -243,12 +247,6 @@ if(ENABLE_DECODE)
                pv/widgets/decodergroupbox.h
                pv/widgets/decodermenu.h
        )
-
-       if(ANDROID)
-               list(APPEND pulseview_SOURCES
-                           android/envsetup.cpp
-               )
-       endif()
 endif()
 
 if(WIN32)
diff --git a/android/envsetup.cpp b/android/envsetup.cpp
deleted file mode 100644 (file)
index d41201f..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * This file is part of the PulseView project.
- *
- * Copyright (C) 2014 Marcus Comstedt <marcus@mc.pp.se>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <jni.h>
-#include <stdlib.h>
-
-jint JNI_OnLoad(JavaVM *vm, void *reserved)
-{
-       JNIEnv* env;
-
-       (void)reserved;
-
-       if (vm->GetEnv((void **)&env, JNI_VERSION_1_6) != JNI_OK) {
-               return -1;
-       }
-
-       jclass envc = env->FindClass("org/sigrok/androidutils/Environment");
-       jmethodID getEnv =  env->GetStaticMethodID(envc, "getEnvironment",
-                                                  "()[Ljava/lang/String;");
-       jobjectArray envs =
-               (jobjectArray)env->CallStaticObjectMethod(envc, getEnv);
-       jsize i, envn = env->GetArrayLength(envs);
-       for (i=0; i<envn; i+=2) {
-               jstring key = (jstring)env->GetObjectArrayElement(envs, i);
-               jstring value = (jstring)env->GetObjectArrayElement(envs, i+1);
-               const char *utfkey = env->GetStringUTFChars(key, 0);
-               const char *utfvalue = env->GetStringUTFChars(value, 0);
-               setenv(utfkey, utfvalue, 1);
-               env->ReleaseStringUTFChars(value, utfvalue);
-               env->ReleaseStringUTFChars(key, utfkey);
-               env->DeleteLocalRef(value);
-               env->DeleteLocalRef(key);
-       }
-       env->DeleteLocalRef(envs);
-       env->DeleteLocalRef(envc);
-
-       return JNI_VERSION_1_6;
-}
-
-void JNI_OnUnload(JavaVM *vm, void *reserved)
-{
-       (void)vm;
-       (void)reserved;
-}
index 0d59baef16847a8735f22b8f9e7ff081e1582e53..07d6dc3f8f7c308443c03032f967feea587b1b59 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -37,6 +37,7 @@
 #include "pv/devicemanager.h"
 #include "pv/mainwindow.h"
 #ifdef ANDROID
+#include <libsigrokandroidutils/libsigrokandroidutils.h>
 #include "android/loghandler.h"
 #endif
 
@@ -75,6 +76,7 @@ int main(int argc, char *argv[])
        QApplication::setOrganizationDomain("sigrok.org");
 
 #ifdef ANDROID
+       srau_init_environment();
        pv::AndroidLogHandler::install_callbacks();
 #endif