Fix ringtone

This commit is contained in:
Sylvain Berfini 2012-07-19 10:30:59 +02:00
parent 7581e5a2b8
commit 85d988b5ff

View file

@ -47,7 +47,7 @@ import android.content.SharedPreferences;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager.NameNotFoundException;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.media.RingtoneManager; import android.net.Uri;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.WifiLock; import android.net.wifi.WifiManager.WifiLock;
import android.os.Build; import android.os.Build;
@ -586,12 +586,17 @@ public final class LinphoneService extends Service implements LinphoneServiceLis
} }
public void onRingerPlayerCreated(MediaPlayer mRingerPlayer) { 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 { try {
if (uriString.startsWith("content://")) {
mRingerPlayer.setDataSource(this, Uri.parse(uriString));
} else {
FileInputStream fis = new FileInputStream(uriString); FileInputStream fis = new FileInputStream(uriString);
mRingerPlayer.setDataSource(fis.getFD()); mRingerPlayer.setDataSource(fis.getFD());
}
} catch (IOException e) { } catch (IOException e) {
Log.e(e, "cannot set ringtone"); Log.e(e, "Cannot set ringtone");
} }
} }