From 85d988b5fffd35c8bed0de963f9b3e496d580f38 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 19 Jul 2012 10:30:59 +0200 Subject: [PATCH] Fix ringtone --- src/org/linphone/LinphoneService.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index 76aab926d..d11d2b627 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -47,7 +47,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.media.MediaPlayer; -import android.media.RingtoneManager; +import android.net.Uri; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.WifiLock; import android.os.Build; @@ -586,12 +586,17 @@ public final class LinphoneService extends Service implements LinphoneServiceLis } public void onRingerPlayerCreated(MediaPlayer mRingerPlayer) { - String uriString = PreferenceManager.getDefaultSharedPreferences(this).getString(getString(R.string.pref_audio_ringtone), RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE).toString()); + String uriString = PreferenceManager.getDefaultSharedPreferences(this).getString(getString(R.string.pref_audio_ringtone), + android.provider.Settings.System.DEFAULT_RINGTONE_URI.toString()); try { - FileInputStream fis = new FileInputStream(uriString); - mRingerPlayer.setDataSource(fis.getFD()); + if (uriString.startsWith("content://")) { + mRingerPlayer.setDataSource(this, Uri.parse(uriString)); + } else { + FileInputStream fis = new FileInputStream(uriString); + mRingerPlayer.setDataSource(fis.getFD()); + } } catch (IOException e) { - Log.e(e, "cannot set ringtone"); + Log.e(e, "Cannot set ringtone"); } }