Allow silent sound

pull/172/head
M66B 6 years ago
parent 5ca58988ef
commit 9f1fe2784c

@ -3149,8 +3149,10 @@ class Core {
Log.i("Notify light enabled"); Log.i("Notify light enabled");
} }
if (!"".equals(sound)) {
// Not silent sound
Uri uri = (sound == null ? null : Uri.parse(sound)); Uri uri = (sound == null ? null : Uri.parse(sound));
if (uri == null || !"content".equals(uri.getScheme())) if (uri != null && !"content".equals(uri.getScheme()))
uri = null; uri = null;
Log.i("Notify sound=" + uri); Log.i("Notify sound=" + uri);
@ -3158,6 +3160,7 @@ class Core {
def |= DEFAULT_SOUND; def |= DEFAULT_SOUND;
else else
builder.setSound(uri); builder.setSound(uri);
}
builder.setDefaults(def); builder.setDefaults(def);
} }

@ -436,7 +436,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
switch (requestCode) { switch (requestCode) {
case ActivitySetup.REQUEST_SOUND: case ActivitySetup.REQUEST_SOUND:
if (resultCode == RESULT_OK && data != null) if (resultCode == RESULT_OK && data != null)
onSelectSound((Uri) data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI)); onSelectSound(data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI));
break; break;
} }
} catch (Throwable ex) { } catch (Throwable ex) {
@ -446,13 +446,16 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
private void onSelectSound(Uri uri) { private void onSelectSound(Uri uri) {
Log.i("Selected ringtone=" + uri); Log.i("Selected ringtone=" + uri);
if (uri != null && !"content".equals(uri.getScheme()))
uri = null;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
if (uri == null)
prefs.edit().remove("sound").apply(); if (uri == null) // silent sound
else prefs.edit().putString("sound", "").apply();
else {
if ("content".equals(uri.getScheme()))
prefs.edit().putString("sound", uri.toString()).apply(); prefs.edit().putString("sound", uri.toString()).apply();
else
prefs.edit().remove("sound").apply();
}
} }
} }

Loading…
Cancel
Save