The repeated calls to isToneInUse are pretty inefficient.  You're going to query the settings database twice for every single ringtone.  For a user with many custom ringtones, this might start to get out of hand.

If you convert utils.js to the module that handles everything about the settings db, then it could query these properties at start up and keep the state in sync after that. If that modules had a single async initialization method, then after that, I think after that the methods could be synchronous.