From a323e3c3579775311260c65b1d15b1583d73e8a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 26 Aug 2014 04:00:52 +0200 Subject: [PATCH] Add the setAndroidPowerManager private method to the LinphoneCoreImpl class --- coreapi/linphonecore_jni.cc | 5 ++--- java/impl/org/linphone/core/LinphoneCoreImpl.java | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index e14842254..30ab20685 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -3462,9 +3462,8 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setAudioDscp(JNIEnv* env extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setAndroidPowerManager(JNIEnv *env, jclass cls, jobject pm) { #ifdef ANDROID - JavaVM *jvm; - env->GetJavaVM(&jvm); - bellesip_wake_lock_init(jvm, pm); + if(pm != NULL) bellesip_wake_lock_init(env, pm); + else bellesip_wake_lock_uninit(env); #endif } diff --git a/java/impl/org/linphone/core/LinphoneCoreImpl.java b/java/impl/org/linphone/core/LinphoneCoreImpl.java index c7dd9f0fa..2e3d64efa 100644 --- a/java/impl/org/linphone/core/LinphoneCoreImpl.java +++ b/java/impl/org/linphone/core/LinphoneCoreImpl.java @@ -153,6 +153,7 @@ class LinphoneCoreImpl implements LinphoneCore { private native void enableSdp200Ack(long nativePtr,boolean enable); private native boolean isSdp200AckEnabled(long nativePtr); private native void stopRinging(long nativePtr); + private native static void setAndroidPowerManager(Object pm); LinphoneCoreImpl(LinphoneCoreListener listener, File userConfig, File factoryConfig, Object userdata) throws IOException { mListener = listener; @@ -179,6 +180,7 @@ class LinphoneCoreImpl implements LinphoneCore { public void setContext(Object context) { mContext = (Context)context; mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); + setAndroidPowerManager(mContext.getSystemService(Context.POWER_SERVICE)); } public synchronized void addAuthInfo(LinphoneAuthInfo info) { @@ -272,6 +274,7 @@ class LinphoneCoreImpl implements LinphoneCore { } public synchronized void destroy() { isValid(); + setAndroidPowerManager(null); delete(nativePtr); nativePtr = 0; }