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)
|
||||
LOCAL_MODULE := fcl_awt
|
||||
LOCAL_SHARED_LIBRARIES := fcl
|
||||
LOCAL_SRC_FILES := awt/awt_bridge.c
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -2,47 +2,61 @@
|
|||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "fcl/include/fcl_internal.h"
|
||||
|
||||
static JavaVM* dalvikJavaVMPtr;
|
||||
static JavaVM *dalvikJavaVMPtr;
|
||||
|
||||
jclass class_FCLBridge;
|
||||
jmethodID method_OpenLink;
|
||||
jmethodID method_OpenPath;
|
||||
|
||||
jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
||||
jint JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
if (dalvikJavaVMPtr == NULL) {
|
||||
dalvikJavaVMPtr = vm;
|
||||
JNIEnv *env = NULL;
|
||||
(*vm)->GetEnv(vm, (void**)&env, JNI_VERSION_1_4);
|
||||
class_FCLBridge = (*env)->NewGlobalRef(env, (*env)->FindClass(env, "com/tungsten/fclauncher/bridge/FCLBridge"));
|
||||
method_OpenLink = (*env)->GetStaticMethodID(env, class_FCLBridge, "openLink", "(Ljava/lang/String;)V");
|
||||
method_OpenPath = (*env)->GetStaticMethodID(env, class_FCLBridge, "openLink", "(Ljava/lang/String;)V");
|
||||
(*vm)->GetEnv(vm, (void **) &env, JNI_VERSION_1_4);
|
||||
class_FCLBridge = fcl.class_FCLBridge;
|
||||
method_OpenLink = (*env)->GetStaticMethodID(env, class_FCLBridge, "openLink",
|
||||
"(Ljava/lang/String;)V");
|
||||
}
|
||||
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;
|
||||
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);
|
||||
detachable = 1;
|
||||
}
|
||||
const char* stringChars = (*env)->GetStringUTFChars(env, filePath, NULL);
|
||||
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenPath, (*dalvikEnv)->NewStringUTF(dalvikEnv, stringChars));
|
||||
const char *stringChars = (*env)->GetStringUTFChars(env, filePath, NULL);
|
||||
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenLink,
|
||||
(*dalvikEnv)->NewStringUTF(dalvikEnv, 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;
|
||||
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);
|
||||
detachable = 1;
|
||||
}
|
||||
const char* stringChars = (*env)->GetStringUTFChars(env, uri, NULL);
|
||||
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenLink, (*dalvikEnv)->NewStringUTF(dalvikEnv, stringChars));
|
||||
const char *stringChars = (*env)->GetStringUTFChars(env, uri, NULL);
|
||||
(*dalvikEnv)->CallStaticVoidMethod(dalvikEnv, class_FCLBridge, method_OpenLink,
|
||||
(*dalvikEnv)->NewStringUTF(dalvikEnv, 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