Move MTP JNI code from libandroid_runtime to libmedia_jni

Signed-off-by: Mike Lockwood <lockwood@android.com>

Change-Id: I0c54bbe4e6146beba7d22e782e02ded420f50dbd
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index c4138b6..722dacb 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -112,9 +112,6 @@
 	android_media_AudioSystem.cpp \
 	android_media_AudioTrack.cpp \
 	android_media_JetPlayer.cpp \
-	android_media_MtpClient.cpp \
-	android_media_MtpCursor.cpp \
-	android_media_MtpServer.cpp \
 	android_media_ToneGenerator.cpp \
 	android_hardware_Camera.cpp \
 	android_hardware_SensorManager.cpp \
@@ -149,7 +146,6 @@
 	$(call include-path-for, libhardware_legacy)/hardware_legacy \
 	$(LOCAL_PATH)/../../include/ui \
 	$(LOCAL_PATH)/../../include/utils \
-	$(LOCAL_PATH)/../../media/mtp \
 	external/skia/include/core \
 	external/skia/include/effects \
 	external/skia/include/images \
@@ -194,10 +190,7 @@
 	libicudata \
 	libmedia \
 	libwpa_client \
-	libjpeg \
-	libstagefright
-
-LOCAL_STATIC_LIBRARIES := libmtp libusbhost
+	libjpeg
 
 ifeq ($(BOARD_HAVE_BLUETOOTH),true)
 LOCAL_C_INCLUDES += \
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 58b3097..19bb36f 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -126,9 +126,6 @@
 extern int register_android_database_SQLiteQuery(JNIEnv* env);
 extern int register_android_database_SQLiteStatement(JNIEnv* env);
 extern int register_android_debug_JNITest(JNIEnv* env);
-extern int register_android_media_MtpClient(JNIEnv *env);
-extern int register_android_media_MtpCursor(JNIEnv *env);
-extern int register_android_media_MtpServer(JNIEnv *env);
 extern int register_android_nio_utils(JNIEnv* env);
 extern int register_android_pim_EventRecurrence(JNIEnv* env);
 extern int register_android_text_format_Time(JNIEnv* env);
@@ -1282,9 +1279,6 @@
     REG_JNI(register_android_media_AudioSystem),
     REG_JNI(register_android_media_AudioTrack),
     REG_JNI(register_android_media_JetPlayer),
-    REG_JNI(register_android_media_MtpClient),
-    REG_JNI(register_android_media_MtpCursor),
-    REG_JNI(register_android_media_MtpServer),
     REG_JNI(register_android_media_ToneGenerator),
 
     REG_JNI(register_android_opengl_classes),
diff --git a/include/android_runtime/AndroidRuntime.h b/include/android_runtime/AndroidRuntime.h
index 97a96b2..2ded5be 100644
--- a/include/android_runtime/AndroidRuntime.h
+++ b/include/android_runtime/AndroidRuntime.h
@@ -30,7 +30,9 @@
 
 
 namespace android {
-    
+
+class CursorWindow;
+
 class AndroidRuntime
 {
 public:
@@ -121,6 +123,8 @@
 // Returns the Unix file descriptor for a ParcelFileDescriptor object
 extern int getParcelFileDescriptorFD(JNIEnv* env, jobject object);
 
+extern CursorWindow * get_window_from_object(JNIEnv * env, jobject javaWindow);
+
 }
 
 #endif
diff --git a/media/jni/Android.mk b/media/jni/Android.mk
index 6eec215a..3a7291f 100644
--- a/media/jni/Android.mk
+++ b/media/jni/Android.mk
@@ -12,7 +12,10 @@
     android_media_MediaMetadataRetriever.cpp \
     android_media_ResampleInputStream.cpp \
     android_media_MediaProfiles.cpp \
-    android_media_AmrInputStream.cpp
+    android_media_AmrInputStream.cpp \
+	android_media_MtpClient.cpp \
+	android_media_MtpCursor.cpp \
+	android_media_MtpServer.cpp \
 
 LOCAL_SHARED_LIBRARIES := \
     libandroid_runtime \
@@ -25,7 +28,8 @@
     libcutils \
     libsurfaceflinger_client \
     libstagefright \
-    libcamera_client
+    libcamera_client \
+	libsqlite
 
 ifneq ($(BUILD_WITHOUT_PV),true)
 
@@ -35,7 +39,7 @@
     LOCAL_CFLAGS += -DNO_OPENCORE
 endif
 
-LOCAL_STATIC_LIBRARIES :=
+LOCAL_STATIC_LIBRARIES := libmtp libusbhost
 
 LOCAL_C_INCLUDES += \
     external/tremor/Tremor \
@@ -44,6 +48,7 @@
     frameworks/base/media/libstagefright/codecs/amrnb/enc/src \
     frameworks/base/media/libstagefright/codecs/amrnb/common \
     frameworks/base/media/libstagefright/codecs/amrnb/common/include \
+    frameworks/base/media/mtp \
     $(PV_INCLUDES) \
     $(JNI_H_INCLUDE) \
     $(call include-path-for, corecg graphics)
diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp
index c5250d7..ca88bcc 100644
--- a/media/jni/android_media_MediaPlayer.cpp
+++ b/media/jni/android_media_MediaPlayer.cpp
@@ -777,6 +777,9 @@
 extern int register_android_media_MediaScanner(JNIEnv *env);
 extern int register_android_media_ResampleInputStream(JNIEnv *env);
 extern int register_android_media_MediaProfiles(JNIEnv *env);
+extern int register_android_media_MtpClient(JNIEnv *env);
+extern int register_android_media_MtpCursor(JNIEnv *env);
+extern int register_android_media_MtpServer(JNIEnv *env);
 
 #ifndef NO_OPENCORE
 extern int register_android_media_AmrInputStream(JNIEnv *env);
@@ -830,6 +833,21 @@
         goto bail;
     }
 
+    if (register_android_media_MtpClient(env) < 0) {
+        LOGE("ERROR: MtpClient native registration failed");
+        goto bail;
+    }
+
+    if (register_android_media_MtpCursor(env) < 0) {
+        LOGE("ERROR: MtpCursor native registration failed");
+        goto bail;
+    }
+
+    if (register_android_media_MtpServer(env) < 0) {
+        LOGE("ERROR: MtpServer native registration failed");
+        goto bail;
+    }
+
     /* success -- return valid version number */
     result = JNI_VERSION_1_4;
 
diff --git a/core/jni/android_media_MtpClient.cpp b/media/jni/android_media_MtpClient.cpp
similarity index 99%
rename from core/jni/android_media_MtpClient.cpp
rename to media/jni/android_media_MtpClient.cpp
index 56eed2c..2328889 100644
--- a/core/jni/android_media_MtpClient.cpp
+++ b/media/jni/android_media_MtpClient.cpp
@@ -31,7 +31,7 @@
 #include "MtpClient.h"
 #include "MtpDevice.h"
 
-namespace android {
+using namespace android;
 
 // ----------------------------------------------------------------------------
 
@@ -261,5 +261,3 @@
     return AndroidRuntime::registerNativeMethods(env,
                 "android/media/MtpClient", gMethods, NELEM(gMethods));
 }
-
-} // namespace android
diff --git a/core/jni/android_media_MtpCursor.cpp b/media/jni/android_media_MtpCursor.cpp
similarity index 95%
rename from core/jni/android_media_MtpCursor.cpp
rename to media/jni/android_media_MtpCursor.cpp
index 7b0b7b7..470fa05 100644
--- a/core/jni/android_media_MtpCursor.cpp
+++ b/media/jni/android_media_MtpCursor.cpp
@@ -31,13 +31,12 @@
 #include "MtpClient.h"
 #include "MtpCursor.h"
 
-namespace android {
+using namespace android;
+
+// ----------------------------------------------------------------------------
 
 static jfieldID field_context;
 
-// From android_database_CursorWindow.cpp
-CursorWindow * get_window_from_object(JNIEnv * env, jobject javaWindow);
-
 // From android_media_MtpClient.cpp
 MtpClient * get_client_from_object(JNIEnv * env, jobject javaClient);
 
@@ -127,5 +126,3 @@
     return AndroidRuntime::registerNativeMethods(env,
                 "android/media/MtpCursor", gMethods, NELEM(gMethods));
 }
-
-} // namespace android
diff --git a/core/jni/android_media_MtpServer.cpp b/media/jni/android_media_MtpServer.cpp
similarity index 98%
rename from core/jni/android_media_MtpServer.cpp
rename to media/jni/android_media_MtpServer.cpp
index 9f961a2..355a5eb 100644
--- a/core/jni/android_media_MtpServer.cpp
+++ b/media/jni/android_media_MtpServer.cpp
@@ -30,7 +30,7 @@
 
 #include "MtpServer.h"
 
-namespace android {
+using namespace android;
 
 // ----------------------------------------------------------------------------
 
@@ -158,5 +158,3 @@
     return AndroidRuntime::registerNativeMethods(env,
                 "android/media/MtpServer", gMethods, NELEM(gMethods));
 }
-
-} // namespace android