fix copy to clipboard 1.13-
This commit is contained in:
parent
3e4faf43d2
commit
146e766115
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
||||||
4
|
5
|
|
@ -82,6 +82,7 @@ include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
LOCAL_MODULE := fcl_awt
|
LOCAL_MODULE := fcl_awt
|
||||||
|
LOCAL_SHARED_LIBRARIES := fcl
|
||||||
LOCAL_SRC_FILES := awt/awt_bridge.c
|
LOCAL_SRC_FILES := awt/awt_bridge.c
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
|
|
@ -2,47 +2,61 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "fcl/include/fcl_internal.h"
|
||||||
|
|
||||||
static JavaVM* dalvikJavaVMPtr;
|
static JavaVM *dalvikJavaVMPtr;
|
||||||
|
|
||||||
jclass class_FCLBridge;
|
jclass class_FCLBridge;
|
||||||
jmethodID method_OpenLink;
|
jmethodID method_OpenLink;
|
||||||
jmethodID method_OpenPath;
|
|
||||||
|
|
||||||
jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
jint JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||||
if (dalvikJavaVMPtr == NULL) {
|
if (dalvikJavaVMPtr == NULL) {
|
||||||
dalvikJavaVMPtr = vm;
|
dalvikJavaVMPtr = vm;
|
||||||
JNIEnv *env = NULL;
|
JNIEnv *env = NULL;
|
||||||
(*vm)->GetEnv(vm, (void**)&env, JNI_VERSION_1_4);
|
(*vm)->GetEnv(vm, (void **) &env, JNI_VERSION_1_4);
|
||||||
class_FCLBridge = (*env)->NewGlobalRef(env, (*env)->FindClass(env, "com/tungsten/fclauncher/bridge/FCLBridge"));
|
class_FCLBridge = fcl.class_FCLBridge;
|
||||||
method_OpenLink = (*env)->GetStaticMethodID(env, class_FCLBridge, "openLink", "(Ljava/lang/String;)V");
|
method_OpenLink = (*env)->GetStaticMethodID(env, class_FCLBridge, "openLink",
|
||||||
method_OpenPath = (*env)->GetStaticMethodID(env, class_FCLBridge, "openLink", "(Ljava/lang/String;)V");
|
"(Ljava/lang/String;)V");
|
||||||
}
|
}
|
||||||
return JNI_VERSION_1_4;
|
return JNI_VERSION_1_4;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_net_java_openjdk_cacio_ctc_CTCDesktopPeer_openFile(JNIEnv *env, jclass clazz, jstring filePath) {
|
JNIEXPORT void JNICALL
|
||||||
|
Java_net_java_openjdk_cacio_ctc_CTCDesktopPeer_openFile(JNIEnv *env, jclass clazz,
|
||||||
|
jstring filePath) {
|
||||||
JNIEnv *dalvikEnv;
|
JNIEnv *dalvikEnv;
|
||||||
char detachable = 0;
|
char detachable = 0;
|
||||||
if((*dalvikJavaVMPtr)->GetEnv(dalvikJavaVMPtr, (void **) &dalvikEnv, JNI_VERSION_1_6) == JNI_EDETACHED) {
|
if ((*dalvikJavaVMPtr)->GetEnv(dalvikJavaVMPtr, (void **) &dalvikEnv, JNI_VERSION_1_6) ==
|
||||||
|
JNI_EDETACHED) {
|
||||||
(*dalvikJavaVMPtr)->AttachCurrentThread(dalvikJavaVMPtr, &dalvikEnv, NULL);
|
(*dalvikJavaVMPtr)->AttachCurrentThread(dalvikJavaVMPtr, &dalvikEnv, NULL);
|
||||||
detachable = 1;
|
detachable = 1;
|
||||||
}
|
}
|
||||||
const char* stringChars = (*env)->GetStringUTFChars(env, filePath, NULL);
|
const char *stringChars = (*env)->GetStringUTFChars(env, filePath, NULL);
|
||||||
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenPath, (*dalvikEnv)->NewStringUTF(dalvikEnv, stringChars));
|
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenLink,
|
||||||
|
(*dalvikEnv)->NewStringUTF(dalvikEnv, stringChars));
|
||||||
(*env)->ReleaseStringUTFChars(env, filePath, stringChars);
|
(*env)->ReleaseStringUTFChars(env, filePath, stringChars);
|
||||||
if(detachable) (*dalvikJavaVMPtr)->DetachCurrentThread(dalvikJavaVMPtr);
|
if (detachable) (*dalvikJavaVMPtr)->DetachCurrentThread(dalvikJavaVMPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_net_java_openjdk_cacio_ctc_CTCDesktopPeer_openUri(JNIEnv *env, jclass clazz, jstring uri) {
|
JNIEXPORT void JNICALL
|
||||||
|
Java_net_java_openjdk_cacio_ctc_CTCDesktopPeer_openUri(JNIEnv *env, jclass clazz, jstring uri) {
|
||||||
JNIEnv *dalvikEnv;
|
JNIEnv *dalvikEnv;
|
||||||
char detachable = 0;
|
char detachable = 0;
|
||||||
if((*dalvikJavaVMPtr)->GetEnv(dalvikJavaVMPtr, (void **) &dalvikEnv, JNI_VERSION_1_6) == JNI_EDETACHED) {
|
if ((*dalvikJavaVMPtr)->GetEnv(dalvikJavaVMPtr, (void **) &dalvikEnv, JNI_VERSION_1_6) ==
|
||||||
|
JNI_EDETACHED) {
|
||||||
(*dalvikJavaVMPtr)->AttachCurrentThread(dalvikJavaVMPtr, &dalvikEnv, NULL);
|
(*dalvikJavaVMPtr)->AttachCurrentThread(dalvikJavaVMPtr, &dalvikEnv, NULL);
|
||||||
detachable = 1;
|
detachable = 1;
|
||||||
}
|
}
|
||||||
const char* stringChars = (*env)->GetStringUTFChars(env, uri, NULL);
|
const char *stringChars = (*env)->GetStringUTFChars(env, uri, NULL);
|
||||||
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenLink, (*dalvikEnv)->NewStringUTF(dalvikEnv, stringChars));
|
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenLink,
|
||||||
|
(*dalvikEnv)->NewStringUTF(dalvikEnv, stringChars));
|
||||||
(*env)->ReleaseStringUTFChars(env, uri, stringChars);
|
(*env)->ReleaseStringUTFChars(env, uri, stringChars);
|
||||||
if(detachable) (*dalvikJavaVMPtr)->DetachCurrentThread(dalvikJavaVMPtr);
|
if (detachable) (*dalvikJavaVMPtr)->DetachCurrentThread(dalvikJavaVMPtr);
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL
|
||||||
|
Java_sun_awt_peer_cacio_FCLClipboard_clipboardCopy(JNIEnv *env, jclass clazz, jstring str) {
|
||||||
|
const char *stringChars = (*env)->GetStringUTFChars(env, str, NULL);
|
||||||
|
fclSetPrimaryClipString(stringChars);
|
||||||
|
(*env)->ReleaseStringUTFChars(env, str, stringChars);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue