static void android_media_MediaScanner_setLocale(JNIEnv *env, jobject thiz, jstring locale) { MediaScanner *mp = (MediaScanner *)env->GetIntField(thiz, fields.context); if (locale == NULL) { jniThrowException(env, "java/lang/IllegalArgumentException", NULL); return; } const char *localeStr = env->GetStringUTFChars(locale, NULL); if (localeStr == NULL) { // Out of memory jniThrowException(env, "java/lang/RuntimeException", "Out of memory"); return; } mp->setLocale(localeStr); env->ReleaseStringUTFChars(locale, localeStr); }
static void android_media_MediaScanner_setLocale( JNIEnv *env, jobject thiz, jstring locale) { LOGV("setLocale"); MediaScanner *mp = getNativeScanner_l(env, thiz); if (mp == NULL) { jniThrowException(env, kRunTimeException, "No scanner available"); return; } if (locale == NULL) { jniThrowException(env, kIllegalArgumentException, NULL); return; } const char *localeStr = env->GetStringUTFChars(locale, NULL); if (localeStr == NULL) { // Out of memory return; } mp->setLocale(localeStr); env->ReleaseStringUTFChars(locale, localeStr); }