Lines Matching refs:env

46     static String8 getStringValue(JNIEnv* env, jobject object, const char* fieldName);
49 JNIEnv* env, jobject object, const char* fieldName, int* dataLength);
52 JNIEnv* env, jbyteArray byteArray, int* dataLength);
54 static String8 getStringValue(JNIEnv* env, jstring string);
56 static int getIntValue(JNIEnv* env, jobject object, const char* fieldName);
59 String8 Utility::getStringValue(JNIEnv* env, jobject object, const char* fieldName) {
64 = env->GetFieldID(env->GetObjectClass(object), fieldName , "Ljava/lang/String;");
67 jstring valueString = (jstring) env->GetObjectField(object, fieldID);
69 if (NULL != valueString && valueString != env->NewStringUTF("")) {
70 char* bytes = const_cast< char* > (env->GetStringUTFChars(valueString, NULL));
77 env->ReleaseStringUTFChars(valueString, bytes);
86 String8 Utility::getStringValue(JNIEnv* env, jstring string) {
89 if (NULL != string && string != env->NewStringUTF("")) {
90 char* bytes = const_cast< char* > (env->GetStringUTFChars(string, NULL));
97 env->ReleaseStringUTFChars(string, bytes);
104 JNIEnv* env, jobject object, const char* fieldName, int* dataLength) {
108 jfieldID fieldID = env->GetFieldID(env->GetObjectClass(object), fieldName , "[B");
111 jbyteArray byteArray = (jbyteArray) env->GetObjectField(object, fieldID);
113 jint length = env->GetArrayLength(byteArray);
118 env->GetByteArrayRegion(byteArray, (jint)0, length, (jbyte *) data);
125 char* Utility::getByteArrayValue(JNIEnv* env, jbyteArray byteArray, int* dataLength) {
128 jint length = env->GetArrayLength(byteArray);
133 env->GetByteArrayRegion(byteArray, (jint)0, length, (jbyte *) data);
139 int Utility::getIntValue(JNIEnv* env, jobject object, const char* fieldName) {
144 jclass clazz = env->GetObjectClass(object);
146 fieldID = env->GetFieldID(clazz, fieldName , "I");
149 intValue = (int) env->GetIntField(object, fieldID);
157 JNIOnInfoListener(JNIEnv* env, jobject thiz, jobject weak_thiz);
168 JNIOnInfoListener::JNIOnInfoListener(JNIEnv* env, jobject thiz, jobject weak_thiz) {
169 jclass clazz = env->GetObjectClass(thiz);
173 jniThrowException(env, "java/lang/Exception", NULL);
176 mClass = (jclass)env->NewGlobalRef(clazz);
177 mObject = env->NewGlobalRef(weak_thiz);
181 JNIEnv *env = AndroidRuntime::getJNIEnv();
182 env->DeleteGlobalRef(mObject);
183 env->DeleteGlobalRef(mClass);
189 JNIEnv *env = AndroidRuntime::getJNIEnv();
190 jstring message = env->NewStringUTF(event.getMessage().string());
193 env->CallStaticVoidMethod(
195 env->GetStaticMethodID(mClass, "notify", "(Ljava/lang/Object;IILjava/lang/String;)V"),
202 JNIEnv* env, jobject thiz, const sp<DrmManagerClientImpl>& client) {
204 jclass clazz = env->FindClass("android/drm/DrmManagerClient");
205 jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "I");
207 sp<DrmManagerClientImpl> old = (DrmManagerClientImpl*)env->GetIntField(thiz, fieldId);
214 env->SetIntField(thiz, fieldId, (int)client.get());
218 static sp<DrmManagerClientImpl> getDrmManagerClientImpl(JNIEnv* env, jobject thiz) {
220 jclass clazz = env->FindClass("android/drm/DrmManagerClient");
221 jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "I");
223 DrmManagerClientImpl* const client = (DrmManagerClientImpl*)env->GetIntField(thiz, fieldId);
228 JNIEnv* env, jobject thiz, jobject weak_thiz) {
236 sp<DrmManagerClient::OnInfoListener> listener = new JNIOnInfoListener(env, thiz, weak_thiz);
239 setDrmManagerClientImpl(env, thiz, drmManager);
245 static void android_drm_DrmManagerClient_finalize(JNIEnv* env, jobject thiz, jint uniqueId) {
248 getDrmManagerClientImpl(env, thiz)->setOnInfoListener(uniqueId, NULL);
250 sp<DrmManagerClientImpl> oldClient = setDrmManagerClientImpl(env, thiz, NULL);
259 JNIEnv* env, jobject thiz, jint uniqueId, jstring jpath, jint usage) {
262 const String8 pathString = Utility::getStringValue(env, jpath);
264 = getDrmManagerClientImpl(env, thiz)->getConstraints(uniqueId, &pathString, usage);
266 jclass localRef = env->FindClass("android/content/ContentValues");
271 jmethodID constructorId = env->GetMethodID(localRef, "<init>", "()V");
273 constraints = env->NewObject(localRef, constructorId);
284 jbyteArray dataArray = env->NewByteArray(strlen(value));
285 env->SetByteArrayRegion(dataArray, 0, strlen(value), (jbyte*)value);
286 env->CallVoidMethod(
287 constraints, env->GetMethodID(localRef, "put", "(Ljava/lang/String;[B)V"),
288 env->NewStringUTF(key.string()), dataArray);
292 env->CallVoidMethod(
294 env->GetMethodID(localRef, "put", "(Ljava/lang/String;Ljava/lang/String;)V"),
295 env->NewStringUTF(key.string()), env->NewStringUTF(value.string()));
306 JNIEnv* env, jobject thiz, jint uniqueId, jstring jpath) {
308 const String8 pathString = Utility::getStringValue(env, jpath);
310 getDrmManagerClientImpl(env, thiz)->getMetadata(uniqueId, &pathString);
315 localRef = env->FindClass("android/content/ContentValues");
319 constructorId = env->GetMethodID(localRef, "<init>", "()V");
322 metadata = env->NewObject(localRef, constructorId);
330 env->CallVoidMethod(metadata, env->GetMethodID(localRef, "put",
332 env->NewStringUTF(key.string()), env->NewStringUTF(value.string()));
343 JNIEnv* env, jobject thiz, jint uniqueId) {
348 getDrmManagerClientImpl(env, thiz)->getAllSupportInfo(uniqueId, &length, &drmSupportInfoArray);
350 jclass clazz = env->FindClass("android/drm/DrmSupportInfo");
352 jobjectArray array = (jobjectArray)env->NewObjectArray(length, clazz, NULL);
357 jobject drmSupportInfo = env->NewObject(clazz, env->GetMethodID(clazz, "<init>", "()V"));
360 = env->GetMethodID(clazz, "addMimeType", "(Ljava/lang/String;)V");
362 = env->GetMethodID(clazz, "addFileSuffix", "(Ljava/lang/String;)V");
364 env->CallVoidMethod(
365 drmSupportInfo, env->GetMethodID(clazz, "setDescription", "(Ljava/lang/String;)V"),
366 env->NewStringUTF(info.getDescription().string()));
371 env->CallVoidMethod(drmSupportInfo, addMimeTypeId, env->NewStringUTF(value.string()));
377 env->CallVoidMethod(
378 drmSupportInfo, addFileSuffixId, env->NewStringUTF(value.string()));
381 env->SetObjectArrayElement(array, i, drmSupportInfo);
390 JNIEnv* env, jobject thiz, jint uniqueId, jstring engineFilePath) {
392 //getDrmManagerClient(env, thiz)
393 // ->installDrmEngine(uniqueId, Utility::getStringValue(env, engineFilePath));
398 JNIEnv* env, jobject thiz, jint uniqueId,
403 char* mData = Utility::getByteArrayValue(env, drmRights, "mData", &dataLength);
407 Utility::getStringValue(env, drmRights, "mMimeType"),
408 Utility::getStringValue(env, drmRights, "mAccountId"),
409 Utility::getStringValue(env, drmRights, "mSubscriptionId"));
410 result = getDrmManagerClientImpl(env, thiz)
411 ->saveRights(uniqueId, rights, Utility::getStringValue(env, rightsPath),
412 Utility::getStringValue(env, contentPath));
421 JNIEnv* env, jobject thiz, jint uniqueId, jstring path, jstring mimeType) {
424 = getDrmManagerClientImpl(env, thiz)
425 ->canHandle(uniqueId, Utility::getStringValue(env, path),
426 Utility::getStringValue(env, mimeType));
432 JNIEnv* env, jobject thiz, jint uniqueId, jobject drmInfoObject) {
435 const String8 mMimeType = Utility::getStringValue(env, drmInfoObject, "mMimeType");
436 char* mData = Utility::getByteArrayValue(env, drmInfoObject, "mData", &dataLength);
437 int mInfoType = Utility::getIntValue(env, drmInfoObject, "mInfoType");
442 jclass clazz = env->FindClass("android/drm/DrmInfo");
444 = env->CallObjectMethod(drmInfoObject,
445 env->GetMethodID(clazz, "keyIterator", "()Ljava/util/Iterator;"));
447 jmethodID hasNextId = env->GetMethodID(env->FindClass("java/util/Iterator"), "hasNext", "()Z");
449 while (env->CallBooleanMethod(keyIterator, hasNextId)) {
450 jstring key = (jstring) env->CallObjectMethod(keyIterator,
451 env->GetMethodID(env->FindClass("java/util/Iterator"),
454 jobject valueObject = env->CallObjectMethod(drmInfoObject,
455 env->GetMethodID(clazz, "get", "(Ljava/lang/String;)Ljava/lang/Object;"), key);
459 valString = (jstring) env->CallObjectMethod(valueObject,
460 env->GetMethodID(env->FindClass("java/lang/Object"),
464 String8 keyString = Utility::getStringValue(env, key);
465 String8 valueString = Utility::getStringValue(env, valString);
472 = getDrmManagerClientImpl(env, thiz)->processDrmInfo(uniqueId, &drmInfo);
474 jclass localRef = env->FindClass("android/drm/DrmInfoStatus");
484 dataArray = env->NewByteArray(length);
485 env->SetByteArrayRegion(
491 jclass clazz = env->FindClass("android/drm/ProcessedData");
493 = env->GetMethodID(clazz, "<init>", "([BLjava/lang/String;Ljava/lang/String;)V");
494 jobject processedData = env->NewObject(clazz, constructorId, dataArray,
495 env->NewStringUTF((drmInfo.get(DrmInfoRequest::ACCOUNT_ID)).string()),
496 env->NewStringUTF((drmInfo.get(DrmInfoRequest::SUBSCRIPTION_ID)).string()));
499 = env->GetMethodID(localRef,
502 drmInfoStatus = env->NewObject(localRef, constructorId, statusCode, infoType,
503 processedData, env->NewStringUTF(pDrmInfoStatus->mimeType.string()));
514 JNIEnv* env, jobject thiz, jint uniqueId, jobject drmInfoRequest) {
516 const String8 mMimeType = Utility::getStringValue(env, drmInfoRequest, "mMimeType");
517 int mInfoType = Utility::getIntValue(env, drmInfoRequest, "mInfoType");
521 jclass clazz = env->FindClass("android/drm/DrmInfoRequest");
523 = env->CallObjectMethod(drmInfoRequest,
524 env->GetMethodID(clazz, "keyIterator", "()Ljava/util/Iterator;"));
526 jmethodID hasNextId = env->GetMethodID(env->FindClass("java/util/Iterator"), "hasNext", "()Z");
528 while (env->CallBooleanMethod(keyIterator, hasNextId)) {
530 = (jstring) env->CallObjectMethod(keyIterator,
531 env->GetMethodID(env->FindClass("java/util/Iterator"),
534 jstring value = (jstring) env->CallObjectMethod(drmInfoRequest,
535 env->GetMethodID(clazz, "get", "(Ljava/lang/String;)Ljava/lang/Object;"), key);
537 String8 keyString = Utility::getStringValue(env, key);
538 String8 valueString = Utility::getStringValue(env, value);
544 DrmInfo* pDrmInfo = getDrmManagerClientImpl(env, thiz)->acquireDrmInfo(uniqueId, &drmInfoReq);
549 jclass localRef = env->FindClass("android/drm/DrmInfo");
554 jbyteArray dataArray = env->NewByteArray(length);
555 env->SetByteArrayRegion(dataArray, 0, length, (jbyte*)pDrmInfo->getData().data);
558 = env->NewObject(localRef,
559 env->GetMethodID(localRef, "<init>", "(I[BLjava/lang/String;)V"),
560 mInfoType, dataArray, env->NewStringUTF(pDrmInfo->getMimeType().string()));
564 = env->GetMethodID(localRef, "put", "(Ljava/lang/String;Ljava/lang/Object;)V");
570 env->CallVoidMethod(drmInfoObject, putMethodId,
571 env->NewStringUTF(key.string()), env->NewStringUTF(value.string()));
584 JNIEnv* env, jobject thiz, jint uniqueId, jstring path, jstring mimeType) {
587 = getDrmManagerClientImpl(env, thiz)
588 ->getDrmObjectType(uniqueId, Utility::getStringValue(env, path),
589 Utility::getStringValue(env, mimeType));
595 JNIEnv* env, jobject thiz, jint uniqueId, jstring path) {
598 = getDrmManagerClientImpl(env, thiz)
599 ->getOriginalMimeType(uniqueId, Utility::getStringValue(env, path));
601 return env->NewStringUTF(mimeType.string());
605 JNIEnv* env, jobject thiz, jint uniqueId, jstring path, int action) {
608 = getDrmManagerClientImpl(env, thiz)
609 ->checkRightsStatus(uniqueId, Utility::getStringValue(env, path), action);
615 JNIEnv* env, jobject thiz, jint uniqueId, jstring path) {
617 return getDrmManagerClientImpl(env, thiz)
618 ->removeRights(uniqueId, Utility::getStringValue(env, path));
622 JNIEnv* env, jobject thiz, jint uniqueId) {
624 return getDrmManagerClientImpl(env, thiz)->removeAllRights(uniqueId);
628 JNIEnv* env, jobject thiz, jint uniqueId, jstring mimeType) {
631 = getDrmManagerClientImpl(env, thiz)
632 ->openConvertSession(uniqueId, Utility::getStringValue(env, mimeType));
638 JNIEnv* env, jobject thiz, jint uniqueId, jint convertId, jbyteArray inputData) {
642 char* mData = Utility::getByteArrayValue(env, inputData, &dataLength);
646 = getDrmManagerClientImpl(env, thiz)->convertData(uniqueId, convertId, &buffer);
648 jclass localRef = env->FindClass("android/drm/DrmConvertedStatus");
658 dataArray = env->NewByteArray(length);
659 env->SetByteArrayRegion(dataArray, 0, length,
665 jmethodID constructorId = env->GetMethodID(localRef, "<init>", "(I[BI)V");
667 = env->NewObject(localRef, constructorId,
679 JNIEnv* env, jobject thiz, int uniqueId, jint convertId) {
684 = getDrmManagerClientImpl(env, thiz)->closeConvertSession(uniqueId, convertId);
686 jclass localRef = env->FindClass("android/drm/DrmConvertedStatus");
696 dataArray = env->NewByteArray(length);
697 env->SetByteArrayRegion(
703 jmethodID constructorId = env->GetMethodID(localRef, "<init>", "(I[BI)V");
705 = env->NewObject(localRef, constructorId,
772 static int registerNativeMethods(JNIEnv* env) {
776 jclass clazz = env->FindClass("android/drm/DrmManagerClient");
779 if (env->RegisterNatives(clazz, nativeMethods, sizeof(nativeMethods)
788 JNIEnv* env = NULL;
791 if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) == JNI_OK) {
792 if (NULL != env && registerNativeMethods(env) == 0) {