diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 5017e199b..995e6ef4a 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -106,7 +106,7 @@ public class LinphoneActivity extends TabActivity { instance = this; setContentView(R.layout.main); - LinphonePreferenceManager.setContext(this); + LinphonePreferenceManager.getInstance(this); useFirstLoginActivity = getResources().getBoolean(R.bool.useFirstLoginActivity); useMenuSettings = getResources().getBoolean(R.bool.useMenuSettings); useMenuAbout = getResources().getBoolean(R.bool.useMenuAbout); diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 6af5613a2..6908eb09b 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -112,7 +112,7 @@ public final class LinphoneManager implements LinphoneCoreListener { private LinphoneCore mLc; private int mPhoneOrientation; private static Transports initialTransports; - private static LinphonePreferenceManager lpm = LinphonePreferenceManager.getInstance(); + private static LinphonePreferenceManager lpm; @@ -123,6 +123,7 @@ public final class LinphoneManager implements LinphoneCoreListener { ringSoundFile = basePath + "/oldphone_mono.wav"; ringbackSoundFile = basePath + "/ringback.wav"; + lpm = LinphonePreferenceManager.getInstance(c); mAudioManager = ((AudioManager) c.getSystemService(Context.AUDIO_SERVICE)); mVibrator = (Vibrator) c.getSystemService(Context.VIBRATOR_SERVICE); mPref = PreferenceManager.getDefaultSharedPreferences(c); diff --git a/src/org/linphone/LinphonePreferenceManager.java b/src/org/linphone/LinphonePreferenceManager.java index 7965bf93c..449155fa5 100644 --- a/src/org/linphone/LinphonePreferenceManager.java +++ b/src/org/linphone/LinphonePreferenceManager.java @@ -15,7 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ + */ package org.linphone; import android.content.Context; @@ -25,28 +25,26 @@ import android.preference.PreferenceManager; public class LinphonePreferenceManager { private static LinphonePreferenceManager instance; - private static Context c; - private static SharedPreferences p; - - public LinphonePreferenceManager() { + private Context c; + private SharedPreferences p; + + public LinphonePreferenceManager(Context context) { + c = context.getApplicationContext(); p = PreferenceManager.getDefaultSharedPreferences(c); } - + private String getString(int key) { return c.getString(key); } - + public static final synchronized LinphonePreferenceManager getInstance() { - if (c == null) throw new RuntimeException("need a context"); - if (instance == null) instance = new LinphonePreferenceManager(); + if (instance == null) { + throw new RuntimeException("LinphonePreferenceManager not instanciated"); + } return instance; } - public static final void setContext(Context context) { - c = context.getApplicationContext(); - } - public boolean useSoftvolume() { return p.getBoolean( getString(R.string.pref_audio_soft_volume_key), false); @@ -65,4 +63,12 @@ public class LinphonePreferenceManager { public int useSpecificAudioModeHack() { return Integer.parseInt(p.getString(getString(R.string.pref_audio_use_specific_mode_key), "0")); } + + public static final synchronized LinphonePreferenceManager getInstance(Context c) { + if (instance == null) { + instance = new LinphonePreferenceManager(c.getApplicationContext()); + } + return instance; + } + } diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index 1165cd1c8..cbb6f539b 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -100,7 +100,8 @@ public final class LinphoneService extends Service implements LinphoneServiceLis super.onCreate(); instance = this; - LinphonePreferenceManager.setContext(this); // In case restart after a crash . Main in LinphoneActivity + // In case restart after a crash. Main in LinphoneActivity + LinphonePreferenceManager.getInstance(this); // Set default preferences PreferenceManager.setDefaultValues(this, R.xml.preferences, true); diff --git a/src/org/linphone/core/video/AndroidCameraRecord5.java b/src/org/linphone/core/video/AndroidCameraRecord5.java index 90ca02d05..8ee2c8303 100644 --- a/src/org/linphone/core/video/AndroidCameraRecord5.java +++ b/src/org/linphone/core/video/AndroidCameraRecord5.java @@ -77,7 +77,7 @@ class AndroidCameraRecord5 extends AndroidCameraRecord implements PreviewCallbac + " whereas expected is " + expectedBuffLength + " don't calling putImage"); return; } - + long curTime = System.currentTimeMillis(); if (lastFrameTime == 0) { lastFrameTime = curTime;