From 03bbe054ad8c13b68c0d2e6ff9bac8634d8beb48 Mon Sep 17 00:00:00 2001 From: Ergyun Syuleyman Date: Fri, 12 Jun 2020 20:26:45 +0300 Subject: [PATCH] -properly initializing incoming calls ringing sound on clean install --- .../data/db/PreferenceHelper.java | 2 +- .../data/models/SettingNotifications.kt | 2 + .../mobile/communicator/utils/Consts.java | 39 ++++++++++++++----- .../mobile/communicator/utils/FileUtils.java | 2 +- .../utils/NotificationHelper.java | 1 + 5 files changed, 35 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/nynja/mobile/communicator/data/db/PreferenceHelper.java b/app/src/main/java/com/nynja/mobile/communicator/data/db/PreferenceHelper.java index 3194807e6f..2416ed5143 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/data/db/PreferenceHelper.java +++ b/app/src/main/java/com/nynja/mobile/communicator/data/db/PreferenceHelper.java @@ -187,7 +187,7 @@ public class PreferenceHelper { boolean newMessgeAlerts = mSharedPreferences.getBoolean(NOTIFICATION_NEW_MESSAGE_ALERTS, true); boolean isMutedDuringCall = mSharedPreferences.getBoolean(NOTIFICATIONS_MUTE_DURING_CALL, true); boolean isIncomingSoundInMutedChat = mSharedPreferences.getBoolean(NOTIFICATION_INCOMING_SOUND, true); - String ringerSound = mSharedPreferences.getString(NOTIFICATION_RINGER_SOUND, Consts.RINGER_SOUND_DEFAULT); + String ringerSound = mSharedPreferences.getString(NOTIFICATION_RINGER_SOUND, ""); boolean isSentMessageSound = mSharedPreferences.getBoolean(NOTIFICATION_SENT_MESSAGE_SOUND, false); String defaultNotificationSound = mSharedPreferences.getString(NOTIFICATION_DEFAULT_SOUND, Consts.NotificationSounds.NYNJA.getDisplayName()); Long version = mSharedPreferences.getLong(NOTIFICATION_PREFERENCE_VERSION, 0L); diff --git a/app/src/main/java/com/nynja/mobile/communicator/data/models/SettingNotifications.kt b/app/src/main/java/com/nynja/mobile/communicator/data/models/SettingNotifications.kt index 3fce7b1602..ae3f79e7a3 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/data/models/SettingNotifications.kt +++ b/app/src/main/java/com/nynja/mobile/communicator/data/models/SettingNotifications.kt @@ -22,6 +22,8 @@ class SettingNotifications (var isNewMessageAlerts: Boolean, private var version: Long = 0L companion object { + // NOTE: On changhing the version you SHOULD make upgrade the current state to new one in: + // NotificationHelper->onUpgrade() const val VERSION: Long = 6 const val RESET_VERSION: Long = 5 diff --git a/app/src/main/java/com/nynja/mobile/communicator/utils/Consts.java b/app/src/main/java/com/nynja/mobile/communicator/utils/Consts.java index f4a3e9eda8..c0df2e0dff 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/utils/Consts.java +++ b/app/src/main/java/com/nynja/mobile/communicator/utils/Consts.java @@ -80,20 +80,22 @@ public interface Consts { }; public enum NotificationRingingSounds { - AQUA(mRingingSounds[0], R.raw.aqua), - CHEERFUL(mRingingSounds[1], R.raw.cheerful), - DISCREET(mRingingSounds[2], R.raw.discreet), - IMPORTAN_STUFF(mRingingSounds[3], R.raw.important_stuff), - NYNJA(mRingingSounds[4], R.raw.nynja_ringing), - OPTIMISTIC(mRingingSounds[5], R.raw.optimistic), - SUNRUSE(mRingingSounds[6], R.raw.sunrise); + AQUA(mRingingSounds[0], R.raw.aqua, "Aqua"), + CHEERFUL(mRingingSounds[1], R.raw.cheerful, "Cheerful"), + DISCREET(mRingingSounds[2], R.raw.discreet, "Discreet"), + IMPORTAN_STUFF(mRingingSounds[3], R.raw.important_stuff, "Important stuff"), + NYNJA(mRingingSounds[4], R.raw.nynja_ringing, "Nynja"), + OPTIMISTIC(mRingingSounds[5], R.raw.optimistic, "Optimistic"), + SUNRUSE(mRingingSounds[6], R.raw.sunrise, "Sunrise"); private String name; + private String nick; private int id; - NotificationRingingSounds(String name, int id) { + NotificationRingingSounds(String name, int id, String nick) { this.name = name; this.id = id; + this.nick = nick; } public String getName() { @@ -123,9 +125,28 @@ public interface Consts { return R.raw.nynja_ringing; } + public static String getNickByName(String name) { + if (SUNRUSE.name.contentEquals(name)) { + return SUNRUSE.nick; + } else if (AQUA.name.contentEquals(name)) { + return AQUA.nick; + } else if (CHEERFUL.name.contentEquals(name)) { + return CHEERFUL.nick; + } else if (DISCREET.name.contentEquals(name)) { + return DISCREET.nick; + } else if (IMPORTAN_STUFF.name.contentEquals(name)) { + return IMPORTAN_STUFF.nick; + } else if (NYNJA.name.contentEquals(name)) { + return NYNJA.nick; + } else if (OPTIMISTIC.name.contentEquals(name)) { + return OPTIMISTIC.nick; + } + return NYNJA.nick; + } + } - String RINGER_SOUND_DEFAULT = RINGER_SOUND_FOLDER_NAME + "/nynja.mp3"; + String RINGER_SOUND_DEFAULT = NotificationRingingSounds.NYNJA.nick; String MEMBER_ROOM_NAME_DELIMITER = " @ "; String URL_SCHEME_WS = "ws"; String URL_SCHEME_WSS = "wss"; diff --git a/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java b/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java index b8acaf6013..aab6a7515a 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java +++ b/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java @@ -664,7 +664,7 @@ public class FileUtils { for (String file : fileNames) { String name = FileUtils.getFileName(file); String path = folder + Consts.NotificationRingingSounds.getIdByName(name); - fileNamesWithFolderPrefix.put(name, path); + fileNamesWithFolderPrefix.put(Consts.NotificationRingingSounds.getNickByName(name), path); } } } catch (Exception e) { diff --git a/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java b/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java index 29ef622f6e..f1e1b5c342 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java +++ b/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java @@ -118,6 +118,7 @@ public class NotificationHelper extends ContextWrapper { private void onUpgrade(SettingNotifications settingNotifications, long oldVersion, long newVersion) { if (oldVersion == 0) { + settingNotifications.setRingerSound(getCallNotificationSoundName(settingNotifications.getRingerSound())); initChannels(settingNotifications); } else { for (long i = oldVersion; i < newVersion; i++) { -- GitLab