From 146e7661151d19b880e83738d1d14b52ec5619a3 Mon Sep 17 00:00:00 2001 From: ShirosakiMio <852468399@qq.com> Date: Tue, 11 Jul 2023 20:48:44 +0800 Subject: [PATCH] fix copy to clipboard 1.13- --- .../cacio-androidnw-1.10-SNAPSHOT.jar | Bin 39115 -> 39115 bytes .../cacio-shared-1.10-SNAPSHOT.jar | Bin 102755 -> 103974 bytes .../assets/app_runtime/caciocavallo/version | 2 +- FCLauncher/src/main/jni/Android.mk | 1 + FCLauncher/src/main/jni/awt/awt_bridge.c | 48 +++++++++++------- 5 files changed, 33 insertions(+), 18 deletions(-) diff --git a/FCL/src/main/assets/app_runtime/caciocavallo/cacio-androidnw-1.10-SNAPSHOT.jar b/FCL/src/main/assets/app_runtime/caciocavallo/cacio-androidnw-1.10-SNAPSHOT.jar index 207f581bc0b290de6d07ae322c94f2f950d639e3..cb58da637d394f25ca6c2cd09cf684b04a35d41d 100644 GIT binary patch delta 845 zcmX@Tk?HhCCf)#VW)?065GYQ4J&{+1xd=#^%vJ?bVPIh>!2+c7QcLs^>Ol&>fYncy zX4C=co9xAC#0)fMay_FNh`)IU<1S_}qm)&U1uWCa`4B{J&gD{N;sY|mEN6Fr-_69p zu%2b|#eBudA^oD8ukjpZ0xO!wf1DA_$PhfvA_!8=A}E~C&&t411az{|S71m`ZM$h+i##b8T^wQSQR(_50r(d zl#h7H0oKBuD8~$D=%i>eflZ4@OMn=%JHs8~Db}2Q5H-j0Ss+qp3){d_lfz1Hfpr^~ z6>@p z-N5{g-V`wXzBdjm9?%yLrZ@Gaf@!J#XfR#Tp8}@u_s4>1`w0+w{)8wn|IdUlusNX< zA?9qG2oV>almyW~2_k-TQYe^jI2odU;^Y{xz7J4-z?5V#f7=v@eX>&__E%4h1&iOF q8UxmEH7x>6Pn`y_=hHMRFkgRqAee5Ro(PJq$3T*p5WRT^<1S_}qm)&U1uWCa`4B9S%caW12eQL*cK7$)ObiU`Stei1 zSDYNuFS_{}&rv3@qIvws8NrMU!Q(7~Ak{2_!ukBH3=Bm;CmT(E7$~b*Hbo1(B2iy8H^a$H;pg9@*lN(qSH~$Zmg{YK|c*z0Q z!ks7wak);4CPZ&US^|WzJHs6!#hSAZ!Z?=C0+Bjf*ajAv99DV@Y>aVPA;c}q8v-CQ zznZl`GLzL?9Km#UOCYlaFsSyon6q(!ytpUzh34dcUGepkni3Xr7d~YFCD$HLS5KemhATrOd=|EPF?HzSh> zGdv*xqki(8ZbMLFm@Lp^4|Zu#k3N{b*)2VJevc%Wy}QQ-O#kX}0@L=rZeY5jHw8?; z?~Mb~0e$gcdQ)F2n3n2~2GbS&5Ow$aW5Im;2@rbzgeWlo&x9~A9Xb(W&bEmVap6fx z5dD)N;x{LSg87D%A^Imyjsf#OK=}bvlEM6KQy})qPKDTCJr$z<_Ed;^t7#EnbyKH7 f?D;g!3e4A^9tftJrze79Yx48y8HmUVpHTt;6(2&C diff --git a/FCL/src/main/assets/app_runtime/caciocavallo/cacio-shared-1.10-SNAPSHOT.jar b/FCL/src/main/assets/app_runtime/caciocavallo/cacio-shared-1.10-SNAPSHOT.jar index 766c68fb3feb59905a9cc0015aab30ce8098d46c..2f5ecb6826adf0a67282845bd140845bef4a92be 100644 GIT binary patch delta 8435 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 ABLDyZ delta 7325 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 #include #include +#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); }