From 330368e8948411d8f1b1a9c9084b4dc110a7e19f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 3 Mar 2014 15:59:03 +0100 Subject: [PATCH] Improved core init in manager --- src/org/linphone/LinphoneManager.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index aebc5d3a1..c3cc451e7 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -102,6 +102,7 @@ import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; import android.os.Build; +import android.os.Handler; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.os.Vibrator; @@ -144,6 +145,7 @@ public class LinphoneManager implements LinphoneCoreListener { private boolean mAudioFocused; private int mLastNetworkType=-1; private ConnectivityManager mConnectivityManager; + private Handler mHandler = new Handler(); private WakeLock mIncallWakeLock; @@ -586,7 +588,7 @@ public class LinphoneManager implements LinphoneCoreListener { LinphoneCoreFactory.instance().setDebugMode(isDebugLogEnabled, getString(R.string.app_name)); mLc = LinphoneCoreFactory.instance().createLinphoneCore(this, mLinphoneConfigFile, mLinphoneFactoryConfigFile, null, c); - initLiblinphone(); + //initLiblinphone(); TimerTask lTask = new TimerTask() { @Override @@ -885,6 +887,22 @@ public class LinphoneManager implements LinphoneCoreListener { public void globalState(final LinphoneCore lc, final GlobalState state, final String message) { Log.i("new state [",state,"]"); + + if (state == GlobalState.GlobalOn) { + mHandler.post(new Runnable() { + @Override + public void run() { + synchronized (this) { + try { + initLiblinphone(); + } catch (LinphoneCoreException e) { + e.printStackTrace(); + } + } + } + }); + } + mListenerDispatcher.onGlobalStateChanged(state, message); }