Skip to content
Snippets Groups Projects
Unverified Commit 822017c6 authored by akwizgran's avatar akwizgran
Browse files

Don't crash if the chosen ringtone can't be loaded.

parent eb6561b9
No related branches found
No related tags found
No related merge requests found
...@@ -15,6 +15,7 @@ import android.support.v7.preference.PreferenceFragmentCompat; ...@@ -15,6 +15,7 @@ import android.support.v7.preference.PreferenceFragmentCompat;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Toast;
import org.acra.ACRA; import org.acra.ACRA;
import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.db.DbException;
...@@ -46,6 +47,7 @@ import static android.media.RingtoneManager.EXTRA_RINGTONE_TITLE; ...@@ -46,6 +47,7 @@ import static android.media.RingtoneManager.EXTRA_RINGTONE_TITLE;
import static android.media.RingtoneManager.EXTRA_RINGTONE_TYPE; import static android.media.RingtoneManager.EXTRA_RINGTONE_TYPE;
import static android.media.RingtoneManager.TYPE_NOTIFICATION; import static android.media.RingtoneManager.TYPE_NOTIFICATION;
import static android.provider.Settings.System.DEFAULT_NOTIFICATION_URI; import static android.provider.Settings.System.DEFAULT_NOTIFICATION_URI;
import static android.widget.Toast.LENGTH_SHORT;
import static java.util.logging.Level.INFO; import static java.util.logging.Level.INFO;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
import static org.briarproject.bramble.api.plugin.BluetoothConstants.PREF_BT_ENABLE; import static org.briarproject.bramble.api.plugin.BluetoothConstants.PREF_BT_ENABLE;
...@@ -400,10 +402,15 @@ public class SettingsFragment extends PreferenceFragmentCompat ...@@ -400,10 +402,15 @@ public class SettingsFragment extends PreferenceFragmentCompat
} else { } else {
// The user chose a ringtone other than the default // The user chose a ringtone other than the default
Ringtone r = RingtoneManager.getRingtone(getContext(), uri); Ringtone r = RingtoneManager.getRingtone(getContext(), uri);
String name = r.getTitle(getContext()); if (r == null) {
s.putBoolean(PREF_NOTIFY_SOUND, true); Toast.makeText(getContext(), R.string.cannot_load_ringtone,
s.put(PREF_NOTIFY_RINGTONE_NAME, name); LENGTH_SHORT).show();
s.put(PREF_NOTIFY_RINGTONE_URI, uri.toString()); } else {
String name = r.getTitle(getContext());
s.putBoolean(PREF_NOTIFY_SOUND, true);
s.put(PREF_NOTIFY_RINGTONE_NAME, name);
s.put(PREF_NOTIFY_RINGTONE_URI, uri.toString());
}
} }
storeSettings(s); storeSettings(s);
} }
......
...@@ -357,6 +357,7 @@ ...@@ -357,6 +357,7 @@
<string name="notify_sound_setting_default">Default ringtone</string> <string name="notify_sound_setting_default">Default ringtone</string>
<string name="notify_sound_setting_disabled">None</string> <string name="notify_sound_setting_disabled">None</string>
<string name="choose_ringtone_title">Choose ringtone</string> <string name="choose_ringtone_title">Choose ringtone</string>
<string name="cannot_load_ringtone">Cannot load ringtone</string>
<!-- Settings Feedback --> <!-- Settings Feedback -->
<string name="feedback_settings_title">Feedback</string> <string name="feedback_settings_title">Feedback</string>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment