From 5f197709105c72898ce72c9e3e0906e08e4ca841 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 May 2016 15:48:04 +0200 Subject: [PATCH] Fix first read of debug value and enable/disable logs accordingly --- res/raw-sw600dp/linphonerc_default | 1 + res/raw/linphonerc_default | 1 + src/org/linphone/LinphonePreferences.java | 26 ++++++++++++++++++++++- src/org/linphone/LinphoneService.java | 6 ++++-- submodules/linphone | 2 +- 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/res/raw-sw600dp/linphonerc_default b/res/raw-sw600dp/linphonerc_default index e05864072..bb1ff0146 100644 --- a/res/raw-sw600dp/linphonerc_default +++ b/res/raw-sw600dp/linphonerc_default @@ -14,6 +14,7 @@ size=vga [app] tunnel=disabled push_notification=1 +debug=0 [tunnel] host= diff --git a/res/raw/linphonerc_default b/res/raw/linphonerc_default index 490709b92..61e812811 100644 --- a/res/raw/linphonerc_default +++ b/res/raw/linphonerc_default @@ -15,6 +15,7 @@ size=qvga tunnel=disabled push_notification=1 auto_start=1 +debug=0 [tunnel] host= diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index ea1cee5a0..bf09dafb7 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -19,6 +19,12 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneAddress.TransportType; import org.linphone.core.LinphoneAuthInfo; @@ -81,7 +87,25 @@ public class LinphonePreferences { } if (!LinphoneManager.isInstanciated()) { - return LinphoneCoreFactory.instance().createLpConfig(mContext.getFilesDir().getAbsolutePath() + "/.linphonerc"); + File linphonerc = new File(mContext.getFilesDir().getAbsolutePath() + "/.linphonerc"); + if (linphonerc.exists()) { + return LinphoneCoreFactory.instance().createLpConfig(linphonerc.getAbsolutePath()); + } else { + InputStream inputStream = mContext.getResources().openRawResource(R.raw.linphonerc_default); + InputStreamReader inputreader = new InputStreamReader(inputStream); + BufferedReader buffreader = new BufferedReader(inputreader); + StringBuilder text = new StringBuilder(); + String line; + try { + while ((line = buffreader.readLine()) != null) { + text.append(line); + text.append('\n'); + } + } catch (IOException ioe) { + + } + return LinphoneCoreFactory.instance().createLpConfigFromString(text.toString()); + } } return LinphoneCoreFactory.instance().createLpConfig(LinphoneManager.getInstance().mLinphoneConfigFile); diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index a25ed0769..c73277966 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -135,9 +135,11 @@ public final class LinphoneService extends Service { mNotificationTitle = getString(R.string.service_name); // Needed in order for the two next calls to succeed, libraries must have been loaded first - LinphonePreferences.instance().setContext(getApplicationContext()); + LinphonePreferences.instance().setContext(getBaseContext()); LinphoneCoreFactory.instance().setLogCollectionPath(getFilesDir().getAbsolutePath()); - LinphoneCoreFactory.instance().enableLogCollection(LinphonePreferences.instance().isDebugEnabled()); + boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); + LinphoneCoreFactory.instance().enableLogCollection(isDebugEnabled); + LinphoneCoreFactory.instance().setDebugMode(isDebugEnabled, getString(R.string.app_name)); // Dump some debugging information to the logs Log.i(START_LINPHONE_LOGS); diff --git a/submodules/linphone b/submodules/linphone index 5872dddc3..618661f0b 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 5872dddc3c49838899a1eec80cbb61eaa0fbf299 +Subproject commit 618661f0b72e8a0284afd779ba4773e3e80af5da