From cea56600b8fbac20b6736a16894b0af269c84c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 10 Aug 2018 16:31:15 -0400 Subject: [PATCH] account: reset default ringtone path if empty Change-Id: I477699c13343512830f82289bdef331f37282cff Reviewed-by: Sebastien Blin <sebastien.blin@savoirfairelinux.com> --- src/account.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/account.cpp b/src/account.cpp index fe9e475c46..1937e4f92b 100644 --- a/src/account.cpp +++ b/src/account.cpp @@ -86,6 +86,12 @@ const char * const Account::HAS_CUSTOM_USER_AGENT_KEY = "hasCustomUserAgent" const char * const Account::PRESENCE_MODULE_ENABLED_KEY = "presenceModuleEnabled"; const char * const Account::UPNP_ENABLED_KEY = "upnpEnabled"; +#ifdef __ANDROID__ +constexpr char * const DEFAULT_RINGTONE_PATH = "/data/data/cx.ring/files/ringtones/default.wav"; +#else +constexpr char * const DEFAULT_RINGTONE_PATH = "/usr/share/ring/ringtones/default.wav"; +#endif + Account::Account(const std::string &accountID) : accountID_(accountID) , username_() @@ -109,11 +115,7 @@ Account::Account(const std::string &accountID) // Initialize the codec order, used when creating a new account loadDefaultCodecs(); - #ifdef __ANDROID__ - ringtonePath_ = "/data/data/cx.ring/files/ringtones/default.wav"; - #else - ringtonePath_ = "/usr/share/ring/ringtones/default.wav"; - #endif + ringtonePath_ = DEFAULT_RINGTONE_PATH; } Account::~Account() @@ -254,6 +256,9 @@ Account::unserialize(const YAML::Node& node) parseValue(node, USER_AGENT_KEY, userAgent_); parseValue(node, RINGTONE_PATH_KEY, ringtonePath_); parseValue(node, RINGTONE_ENABLED_KEY, ringtoneEnabled_); + if (ringtonePath_.empty()) { + ringtonePath_ = DEFAULT_RINGTONE_PATH; + } bool enabled; parseValue(node, UPNP_ENABLED_KEY, enabled); @@ -274,6 +279,9 @@ Account::setAccountDetails(const std::map<std::string, std::string> &details) parseInt(details, DRing::Account::ConfProperties::ACTIVE_CALL_LIMIT, activeCallLimit_); parseBool(details, Conf::CONFIG_RINGTONE_ENABLED, ringtoneEnabled_); parseString(details, Conf::CONFIG_RINGTONE_PATH, ringtonePath_); + if (ringtonePath_.empty()) { + ringtonePath_ = DEFAULT_RINGTONE_PATH; + } parseBool(details, Conf::CONFIG_ACCOUNT_HAS_CUSTOM_USERAGENT, hasCustomUserAgent_); if (hasCustomUserAgent_) parseString(details, Conf::CONFIG_ACCOUNT_USERAGENT, userAgent_); -- GitLab