mirror of
https://github.com/Tencent/MMKV.git
synced 2026-10-29 03:46:43 +08:00
add rootPath paramter for isFileValid() on Android
This commit is contained in:
@@ -576,10 +576,15 @@ MMKV_JNI void sync(JNIEnv *env, jobject instance, jboolean sync) {
|
||||
}
|
||||
}
|
||||
|
||||
MMKV_JNI jboolean isFileValid(JNIEnv *env, jclass type, jstring oMmapID) {
|
||||
MMKV_JNI jboolean isFileValid(JNIEnv *env, jclass type, jstring oMmapID, jstring rootPath) {
|
||||
if (oMmapID) {
|
||||
string mmapID = jstring2string(env, oMmapID);
|
||||
return (jboolean) MMKV::isFileValid(mmapID);
|
||||
if (rootPath) {
|
||||
return (jboolean) MMKV::isFileValid(mmapID, nullptr);
|
||||
} else {
|
||||
auto root = jstring2string(env, rootPath);
|
||||
return (jboolean) MMKV::isFileValid(mmapID, &root);
|
||||
}
|
||||
}
|
||||
return (jboolean) false;
|
||||
}
|
||||
@@ -793,7 +798,7 @@ static JNINativeMethod g_methods[] = {
|
||||
{"close", "()V", (void *) mmkv::close},
|
||||
{"clearMemoryCache", "()V", (void *) mmkv::clearMemoryCache},
|
||||
{"sync", "(Z)V", (void *) mmkv::sync},
|
||||
{"isFileValid", "(Ljava/lang/String;)Z", (void *) mmkv::isFileValid},
|
||||
{"isFileValid", "(Ljava/lang/String;Ljava/lang/String;)Z", (void *) mmkv::isFileValid},
|
||||
{"ashmemFD", "()I", (void *) mmkv::ashmemFD},
|
||||
{"ashmemMetaFD", "()I", (void *) mmkv::ashmemMetaFD},
|
||||
{"jniInitialize", "(Ljava/lang/String;I)V", (void *) mmkv::jniInitialize},
|
||||
|
||||
@@ -578,7 +578,11 @@ public class MMKV implements SharedPreferences, SharedPreferences.Editor {
|
||||
|
||||
// detect if the MMKV file is valid or not
|
||||
// Note: Don't use this to check the existence of the instance, the return value is undefined if the file was never created.
|
||||
public static native boolean isFileValid(String mmapID);
|
||||
public static boolean isFileValid(String mmapID) {
|
||||
return isFileValid(mmapID, null);
|
||||
}
|
||||
|
||||
public static native boolean isFileValid(String mmapID, @Nullable String rootPath);
|
||||
|
||||
// SharedPreferences migration
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
@@ -218,7 +218,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
//kv.clearAll();
|
||||
kv.clearMemoryCache();
|
||||
Log.i("MMKV", "allKeys: " + Arrays.toString(kv.allKeys()));
|
||||
Log.i("MMKV", "isFileValid[" + kv.mmapID() + "]: " + MMKV.isFileValid(kv.mmapID()));
|
||||
Log.i("MMKV", "isFileValid[" + kv.mmapID() + "]: " + MMKV.isFileValid(kv.mmapID(), rootPath));
|
||||
|
||||
return kv;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user