[Android/Api] change package name
authorJaeyun <jy1210.jung@samsung.com>
Mon, 9 Sep 2019 06:06:11 +0000 (15:06 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Mon, 9 Sep 2019 07:35:10 +0000 (16:35 +0900)
1. Change package name of Android API. (com.samsung.android.nnstreamer > org.nnsuite.nnstreamer)
2. Change directory structure (src > src/main)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
20 files changed:
api/android/api/build.gradle
api/android/api/src/main/AndroidManifest.xml [moved from api/android/api/AndroidManifest.xml with 85% similarity]
api/android/api/src/main/java/org/nnsuite/nnstreamer/CustomFilter.java [moved from api/android/api/src/com/samsung/android/nnstreamer/CustomFilter.java with 99% similarity]
api/android/api/src/main/java/org/nnsuite/nnstreamer/NNStreamer.java [moved from api/android/api/src/com/samsung/android/nnstreamer/NNStreamer.java with 97% similarity]
api/android/api/src/main/java/org/nnsuite/nnstreamer/Pipeline.java [moved from api/android/api/src/com/samsung/android/nnstreamer/Pipeline.java with 99% similarity]
api/android/api/src/main/java/org/nnsuite/nnstreamer/SingleShot.java [moved from api/android/api/src/com/samsung/android/nnstreamer/SingleShot.java with 99% similarity]
api/android/api/src/main/java/org/nnsuite/nnstreamer/TensorsData.java [moved from api/android/api/src/com/samsung/android/nnstreamer/TensorsData.java with 99% similarity]
api/android/api/src/main/java/org/nnsuite/nnstreamer/TensorsInfo.java [moved from api/android/api/src/com/samsung/android/nnstreamer/TensorsInfo.java with 99% similarity]
api/android/api/src/main/jni/Android-nnstreamer.mk [moved from api/android/api/jni/Android-nnstreamer.mk with 100% similarity]
api/android/api/src/main/jni/Android-tensorflow-lite-prebuilt.mk [moved from api/android/api/jni/Android-tensorflow-lite-prebuilt.mk with 100% similarity]
api/android/api/src/main/jni/Android.mk [moved from api/android/api/jni/Android.mk with 100% similarity]
api/android/api/src/main/jni/Application.mk [moved from api/android/api/jni/Application.mk with 100% similarity]
api/android/api/src/main/jni/nnstreamer-native-api.c [moved from api/android/api/jni/nnstreamer-native-api.c with 97% similarity]
api/android/api/src/main/jni/nnstreamer-native-customfilter.c [moved from api/android/api/jni/nnstreamer-native-customfilter.c with 94% similarity]
api/android/api/src/main/jni/nnstreamer-native-pipeline.c [moved from api/android/api/jni/nnstreamer-native-pipeline.c with 93% similarity]
api/android/api/src/main/jni/nnstreamer-native-singleshot.c [moved from api/android/api/jni/nnstreamer-native-singleshot.c with 91% similarity]
api/android/api/src/main/jni/nnstreamer-native.h [moved from api/android/api/jni/nnstreamer-native.h with 100% similarity]
api/android/build-android-lib.sh
api/android/sample/src/main/AndroidManifest.xml
api/android/sample/src/main/java/org/nnsuite/nnstreamer/sample/MainActivity.java [moved from api/android/sample/src/main/java/com/samsung/android/nnstreamer/sample/MainActivity.java with 98% similarity]

index 6b4e273..b89f24c 100644 (file)
@@ -30,7 +30,11 @@ android {
                 if (nnsRoot == null)
                     throw new GradleException('NNSTREAMER_ROOT must be set, or "nnstreamerRoot" must be defined in your gradle.properties')
 
-                arguments "NDK_APPLICATION_MK=jni/Application.mk", "GSTREAMER_JAVA_SRC_DIR=src", "GSTREAMER_ROOT_ANDROID=$gstRoot", "GSTREAMER_ASSETS_DIR=src/assets", "NNSTREAMER_ROOT=$nnsRoot"
+                arguments "NDK_APPLICATION_MK=src/main/jni/Application.mk",
+                          "GSTREAMER_JAVA_SRC_DIR=src/main/java",
+                          "GSTREAMER_ROOT_ANDROID=$gstRoot",
+                          "GSTREAMER_ASSETS_DIR=src/main/assets",
+                          "NNSTREAMER_ROOT=$nnsRoot"
 
                 targets "nnstreamer-native"
 
@@ -42,22 +46,11 @@ android {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
-            sourceSets {
-                main {
-                    manifest.srcFile 'AndroidManifest.xml'
-                    java.srcDirs = ['src']
-                    resources.srcDirs = ['src']
-                    aidl.srcDirs = ['src']
-                    renderscript.srcDirs = ['src']
-                    res.srcDirs = ['res']
-                    assets.srcDirs = ['assets']
-                }
-            }
         }
     }
     externalNativeBuild {
         ndkBuild {
-            path 'jni/Android.mk'
+            path 'src/main/jni/Android.mk'
         }
     }
     productFlavors {
similarity index 85%
rename from api/android/api/AndroidManifest.xml
rename to api/android/api/src/main/AndroidManifest.xml
index 2ad5e7e..a06dd5e 100644 (file)
@@ -1,5 +1,5 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.samsung.android.nnstreamer" >
+    package="org.nnsuite.nnstreamer" >
 
     <uses-feature android:glEsVersion="0x00020000"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
@@ -13,7 +13,7 @@
  * Library General Public License for more details.
  */
 
-package com.samsung.android.nnstreamer;
+package org.nnsuite.nnstreamer;
 
 import android.support.annotation.NonNull;
 
@@ -13,7 +13,7 @@
  * Library General Public License for more details.
  */
 
-package com.samsung.android.nnstreamer;
+package org.nnsuite.nnstreamer;
 
 import android.content.Context;
 
@@ -133,11 +133,11 @@ public final class NNStreamer {
         try {
             System.loadLibrary("nnstreamer-native");
             GStreamer.init(context);
-            return nativeInitialize(context);
         } catch (Exception e) {
             e.printStackTrace();
-            return false;
         }
+
+        return nativeInitialize(context);
     }
 
     /**
@@ -13,7 +13,7 @@
  * Library General Public License for more details.
  */
 
-package com.samsung.android.nnstreamer;
+package org.nnsuite.nnstreamer;
 
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -13,7 +13,7 @@
  * Library General Public License for more details.
  */
 
-package com.samsung.android.nnstreamer;
+package org.nnsuite.nnstreamer;
 
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -13,7 +13,7 @@
  * Library General Public License for more details.
  */
 
-package com.samsung.android.nnstreamer;
+package org.nnsuite.nnstreamer;
 
 import android.support.annotation.NonNull;
 
@@ -13,7 +13,7 @@
  * Library General Public License for more details.
  */
 
-package com.samsung.android.nnstreamer;
+package org.nnsuite.nnstreamer;
 
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -127,11 +127,11 @@ nns_construct_pipe_info (JNIEnv * env, jobject thiz, gpointer handle, const gcha
   pipe_info->version = (*env)->GetVersion (env);
   pipe_info->instance = (*env)->NewGlobalRef (env, thiz);
 
-  jclass cls_data = (*env)->FindClass (env, "com/samsung/android/nnstreamer/TensorsData");
+  jclass cls_data = (*env)->FindClass (env, "org/nnsuite/nnstreamer/TensorsData");
   pipe_info->cls_tensors_data = (*env)->NewGlobalRef (env, cls_data);
   (*env)->DeleteLocalRef (env, cls_data);
 
-  jclass cls_info = (*env)->FindClass (env, "com/samsung/android/nnstreamer/TensorsInfo");
+  jclass cls_info = (*env)->FindClass (env, "org/nnsuite/nnstreamer/TensorsInfo");
   pipe_info->cls_tensors_info = (*env)->NewGlobalRef (env, cls_info);
   (*env)->DeleteLocalRef (env, cls_info);
 
@@ -470,7 +470,7 @@ nns_parse_tensors_info (pipeline_info_s * pipe_info, JNIEnv * env,
  * @brief Native method to initialize NNStreamer.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_NNStreamer_nativeInitialize (JNIEnv * env, jclass clazz,
+Java_org_nnsuite_nnstreamer_NNStreamer_nativeInitialize (JNIEnv * env, jclass clazz,
     jobject context)
 {
   nns_logi ("Called native initialize.");
@@ -499,7 +499,7 @@ Java_com_samsung_android_nnstreamer_NNStreamer_nativeInitialize (JNIEnv * env, j
  * @brief Native method to get the version string of NNStreamer and GStreamer.
  */
 jstring
-Java_com_samsung_android_nnstreamer_NNStreamer_nativeGetVersion (JNIEnv * env, jclass clazz)
+Java_org_nnsuite_nnstreamer_NNStreamer_nativeGetVersion (JNIEnv * env, jclass clazz)
 {
   gchar *gst_ver = gst_version_string ();
   gchar *version_str = g_strdup_printf ("NNStreamer %s, %s", VERSION, gst_ver);
@@ -100,10 +100,10 @@ nns_customfilter_invoke (const GstTensorFilterProperties * prop, void **private_
 
   jclass cls_custom = (*env)->GetObjectClass (env, pipe_info->instance);
   jmethodID mid_invoke = (*env)->GetMethodID (env, cls_custom, "invoke",
-      "(Lcom/samsung/android/nnstreamer/TensorsData;"
-      "Lcom/samsung/android/nnstreamer/TensorsInfo;"
-      "Lcom/samsung/android/nnstreamer/TensorsInfo;)"
-      "Lcom/samsung/android/nnstreamer/TensorsData;");
+      "(Lorg/nnsuite/nnstreamer/TensorsData;"
+      "Lorg/nnsuite/nnstreamer/TensorsInfo;"
+      "Lorg/nnsuite/nnstreamer/TensorsInfo;)"
+      "Lorg/nnsuite/nnstreamer/TensorsData;");
 
   obj_out_data = (*env)->CallObjectMethod (env, pipe_info->instance, mid_invoke,
       obj_in_data, obj_in_info, obj_out_info);
@@ -188,7 +188,8 @@ nns_customfilter_set_dimension (const GstTensorFilterProperties * prop, void **p
 
   jclass cls_custom = (*env)->GetObjectClass (env, pipe_info->instance);
   jmethodID mid_info = (*env)->GetMethodID (env, cls_custom, "getOutputInfo",
-      "(Lcom/samsung/android/nnstreamer/TensorsInfo;)Lcom/samsung/android/nnstreamer/TensorsInfo;");
+      "(Lorg/nnsuite/nnstreamer/TensorsInfo;)"
+      "Lorg/nnsuite/nnstreamer/TensorsInfo;");
 
   obj_out_info = (*env)->CallObjectMethod (env, pipe_info->instance, mid_info, obj_in_info);
   if (!obj_out_info || !nns_parse_tensors_info (pipe_info, env, obj_out_info, out)) {
@@ -218,7 +219,7 @@ done:
  * @brief Native method for custom filter.
  */
 jlong
-Java_com_samsung_android_nnstreamer_CustomFilter_nativeInitialize (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_CustomFilter_nativeInitialize (JNIEnv * env, jobject thiz,
     jstring name)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -274,7 +275,7 @@ done:
  * @brief Native method for custom filter.
  */
 void
-Java_com_samsung_android_nnstreamer_CustomFilter_nativeDestroy (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_CustomFilter_nativeDestroy (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -86,7 +86,9 @@ nns_sink_data_cb (const ml_tensors_data_h data, const ml_tensors_info_h info, vo
     /* method for sink callback */
     jclass cls_pipeline = (*env)->GetObjectClass (env, pipe_info->instance);
     jmethodID mid_callback = (*env)->GetMethodID (env, cls_pipeline, "newDataReceived",
-        "(Ljava/lang/String;Lcom/samsung/android/nnstreamer/TensorsData;Lcom/samsung/android/nnstreamer/TensorsInfo;)V");
+        "(Ljava/lang/String;"
+        "Lorg/nnsuite/nnstreamer/TensorsData;"
+        "Lorg/nnsuite/nnstreamer/TensorsInfo;)V");
     jstring sink_name = (*env)->NewStringUTF (env, cb_data->name);
 
     (*env)->CallVoidMethod (env, pipe_info->instance, mid_callback, sink_name, obj_data, obj_info);
@@ -277,7 +279,7 @@ nns_get_valve_handle (pipeline_info_s * pipe_info, const gchar * element_name)
  * @brief Native method for pipeline API.
  */
 jlong
-Java_com_samsung_android_nnstreamer_Pipeline_nativeConstruct (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeConstruct (JNIEnv * env, jobject thiz,
     jstring description, jboolean add_state_cb)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -309,7 +311,7 @@ Java_com_samsung_android_nnstreamer_Pipeline_nativeConstruct (JNIEnv * env, jobj
  * @brief Native method for pipeline API.
  */
 void
-Java_com_samsung_android_nnstreamer_Pipeline_nativeDestroy (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeDestroy (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -323,7 +325,7 @@ Java_com_samsung_android_nnstreamer_Pipeline_nativeDestroy (JNIEnv * env, jobjec
  * @brief Native method for pipeline API.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_Pipeline_nativeStart (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeStart (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -346,7 +348,7 @@ Java_com_samsung_android_nnstreamer_Pipeline_nativeStart (JNIEnv * env, jobject
  * @brief Native method for pipeline API.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_Pipeline_nativeStop (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeStop (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -369,7 +371,7 @@ Java_com_samsung_android_nnstreamer_Pipeline_nativeStop (JNIEnv * env, jobject t
  * @brief Native method for pipeline API.
  */
 jint
-Java_com_samsung_android_nnstreamer_Pipeline_nativeGetState (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeGetState (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -393,7 +395,7 @@ Java_com_samsung_android_nnstreamer_Pipeline_nativeGetState (JNIEnv * env, jobje
  * @brief Native method for pipeline API.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_Pipeline_nativeInputData (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeInputData (JNIEnv * env, jobject thiz,
     jlong handle, jstring name, jobject in)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -440,7 +442,7 @@ done:
  * @brief Native method for pipeline API.
  */
 jobjectArray
-Java_com_samsung_android_nnstreamer_Pipeline_nativeGetSwitchPads (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeGetSwitchPads (JNIEnv * env, jobject thiz,
     jlong handle, jstring name)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -506,7 +508,7 @@ done:
  * @brief Native method for pipeline API.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_Pipeline_nativeSelectSwitchPad (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeSelectSwitchPad (JNIEnv * env, jobject thiz,
     jlong handle, jstring name, jstring pad)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -541,7 +543,7 @@ done:
  * @brief Native method for pipeline API.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_Pipeline_nativeControlValve (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeControlValve (JNIEnv * env, jobject thiz,
     jlong handle, jstring name, jboolean open)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -574,7 +576,7 @@ done:
  * @brief Native method for pipeline API.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_Pipeline_nativeAddSinkCallback (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeAddSinkCallback (JNIEnv * env, jobject thiz,
     jlong handle, jstring name)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -600,7 +602,7 @@ done:
  * @brief Native method for pipeline API.
  */
 jboolean
-Java_com_samsung_android_nnstreamer_Pipeline_nativeRemoveSinkCallback (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_Pipeline_nativeRemoveSinkCallback (JNIEnv * env, jobject thiz,
     jlong handle, jstring name)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -27,7 +27,7 @@
  * @brief Native method for single-shot API.
  */
 jlong
-Java_com_samsung_android_nnstreamer_SingleShot_nativeOpen (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_SingleShot_nativeOpen (JNIEnv * env, jobject thiz,
     jstring model, jobject in, jobject out)
 {
   pipeline_info_s *pipe_info = NULL;
@@ -70,7 +70,7 @@ done:
  * @brief Native method for single-shot API.
  */
 void
-Java_com_samsung_android_nnstreamer_SingleShot_nativeClose (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_SingleShot_nativeClose (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info;
@@ -84,7 +84,7 @@ Java_com_samsung_android_nnstreamer_SingleShot_nativeClose (JNIEnv * env, jobjec
  * @brief Native method for single-shot API.
  */
 jobject
-Java_com_samsung_android_nnstreamer_SingleShot_nativeInvoke (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_SingleShot_nativeInvoke (JNIEnv * env, jobject thiz,
     jlong handle, jobject in)
 {
   pipeline_info_s *pipe_info;
@@ -129,7 +129,7 @@ done:
  * @brief Native method for single-shot API.
  */
 jobject
-Java_com_samsung_android_nnstreamer_SingleShot_nativeGetInputInfo (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_SingleShot_nativeGetInputInfo (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info;
@@ -161,7 +161,7 @@ done:
  * @brief Native method for single-shot API.
  */
 jobject
-Java_com_samsung_android_nnstreamer_SingleShot_nativeGetOutputInfo (JNIEnv * env, jobject thiz,
+Java_org_nnsuite_nnstreamer_SingleShot_nativeGetOutputInfo (JNIEnv * env, jobject thiz,
     jlong handle)
 {
   pipeline_info_s *pipe_info;
index a209e8f..deb81af 100644 (file)
@@ -62,7 +62,7 @@ svn --force export https://github.com/nnsuite/nnstreamer-android-resource/trunk/
 
 pushd ./build_android_lib
 
-tar xJf ./ext-files/tensorflow-lite-$nnstreamer_tf_lite_ver.tar.xz -C ./api/jni
+tar xJf ./ext-files/tensorflow-lite-$nnstreamer_tf_lite_ver.tar.xz -C ./api/src/main/jni
 
 sed -i "s|abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'|abiFilters $nnstreamer_target_abi|" api/build.gradle
 
@@ -70,7 +70,7 @@ echo "Starting gradle build for Android library."
 nnstreamer_android_api_lib=./api/build/outputs/aar/api-release.aar
 
 # Build Android library.
-./gradlew api:assembleRelease
+./gradlew api:build
 
 # Check if build procedure is done.
 if [[ -e $nnstreamer_android_api_lib ]]; then
index e3f3789..d2e3dec 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.samsung.android.nnstreamer.sample">
+    package="org.nnsuite.nnstreamer.sample">
 
     <application
         android:allowBackup="true"
@@ -1,4 +1,4 @@
-package com.samsung.android.nnstreamer.sample;
+package org.nnsuite.nnstreamer.sample;
 
 import android.Manifest;
 import android.app.Activity;
@@ -10,12 +10,12 @@ import android.support.v4.app.ActivityCompat;
 import android.support.v4.content.ContextCompat;
 import android.util.Log;
 
-import com.samsung.android.nnstreamer.CustomFilter;
-import com.samsung.android.nnstreamer.NNStreamer;
-import com.samsung.android.nnstreamer.Pipeline;
-import com.samsung.android.nnstreamer.SingleShot;
-import com.samsung.android.nnstreamer.TensorsData;
-import com.samsung.android.nnstreamer.TensorsInfo;
+import org.nnsuite.nnstreamer.CustomFilter;
+import org.nnsuite.nnstreamer.NNStreamer;
+import org.nnsuite.nnstreamer.Pipeline;
+import org.nnsuite.nnstreamer.SingleShot;
+import org.nnsuite.nnstreamer.TensorsData;
+import org.nnsuite.nnstreamer.TensorsInfo;
 
 import java.io.File;
 import java.nio.ByteBuffer;
@@ -137,7 +137,7 @@ public class MainActivity extends Activity {
             @Override
             public void onFinish() {
                 /* run the examples repeatedly */
-                if (exampleRun > 15) {
+                if (exampleRun > 5) {
                     Log.d(TAG, "Stop timer to run example");
 
                     if (isFailed) {