Show empty ringtone name in case of RuntimeException

Fixes #116
This commit is contained in:
2016-05-29 11:47:36 -04:00
parent 88e8aad0d8
commit 59d42fe62f
2 changed files with 22 additions and 12 deletions

View File

@@ -134,6 +134,7 @@ public class SettingsFragment extends PreferenceFragmentCompat
private void updateRingtoneDescription()
{
String ringtoneName = ReminderHelper.getRingtoneName(getContext());
if(ringtoneName == null) return;
Preference ringtonePreference = findPreference("reminderSound");
ringtonePreference.setSummary(ringtoneName);
}

View File

@@ -144,15 +144,18 @@ public class ReminderHelper
fragment.startActivityForResult(intent, requestCode);
}
@Nullable
public static String getRingtoneName(Context context)
{
try
{
Uri ringtoneUri = getRingtoneUri(context);
String ringtoneName = context.getResources().getString(R.string.none);
if(ringtoneUri != null)
if (ringtoneUri != null)
{
Ringtone ringtone = RingtoneManager.getRingtone(context, ringtoneUri);
if(ringtone != null)
if (ringtone != null)
{
ringtoneName = ringtone.getTitle(context);
ringtone.stop();
@@ -161,4 +164,10 @@ public class ReminderHelper
return ringtoneName;
}
catch (RuntimeException e)
{
e.printStackTrace();
return null;
}
}
}