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() private void updateRingtoneDescription()
{ {
String ringtoneName = ReminderHelper.getRingtoneName(getContext()); String ringtoneName = ReminderHelper.getRingtoneName(getContext());
if(ringtoneName == null) return;
Preference ringtonePreference = findPreference("reminderSound"); Preference ringtonePreference = findPreference("reminderSound");
ringtonePreference.setSummary(ringtoneName); ringtonePreference.setSummary(ringtoneName);
} }

View File

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