mirror of
https://github.com/fromchat-messenger/app.git
synced 2026-09-22 19:15:05 +03:00
Improve settings interface, move iOS project
This commit is contained in:
@@ -6,65 +6,40 @@ import platform.Foundation.NSUserDefaults
|
||||
class IosSettings : Settings {
|
||||
private val defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults
|
||||
|
||||
override fun putString(key: String, value: String) {
|
||||
defaults.setObject(value, key)
|
||||
override suspend fun putString(key: String, value: String) = defaults.setObject(value, key)
|
||||
|
||||
override suspend fun getString(key: String, default: String) = defaults.stringForKey(key) ?: default
|
||||
|
||||
override suspend fun putInt(key: String, value: Int) = defaults.setInteger(value.toLong(), key)
|
||||
|
||||
override suspend fun getInt(key: String, default: Int) = defaults.integerForKey(key).toInt()
|
||||
|
||||
override suspend fun putLong(key: String, value: Long) = defaults.setObject(value, key)
|
||||
|
||||
override suspend fun getLong(key: String, default: Long) = defaults.objectForKey(key) as? Long ?: default
|
||||
|
||||
override suspend fun putFloat(key: String, value: Float) = defaults.setFloat(value, key)
|
||||
|
||||
override suspend fun getFloat(key: String, default: Float) = defaults.floatForKey(key)
|
||||
|
||||
override suspend fun putBoolean(key: String, value: Boolean) = defaults.setBool(value, key)
|
||||
|
||||
override suspend fun getBoolean(key: String, default: Boolean) = defaults.boolForKey(key)
|
||||
|
||||
override suspend fun putStringSet(key: String, value: Set<String>) = defaults.setObject(value.toList(), key)
|
||||
|
||||
override suspend fun getStringSet(key: String, default: Set<String>): Set<String> {
|
||||
return (defaults.objectForKey(key) as? List<*> ?: return default)
|
||||
.filterIsInstance<String>()
|
||||
.toSet()
|
||||
}
|
||||
|
||||
override fun getString(key: String, default: String): String {
|
||||
return defaults.stringForKey(key) ?: default
|
||||
override suspend fun putStringList(key: String, value: List<String>) = defaults.setObject(value, key)
|
||||
|
||||
override suspend fun getStringList(key: String, default: List<String>): List<String> {
|
||||
return (defaults.objectForKey(key) as? List<*> ?: return default)
|
||||
.filterIsInstance<String>()
|
||||
}
|
||||
|
||||
override fun putInt(key: String, value: Int) {
|
||||
defaults.setInteger(value.toLong(), key)
|
||||
}
|
||||
|
||||
override fun getInt(key: String, default: Int): Int {
|
||||
return defaults.integerForKey(key).toInt()
|
||||
}
|
||||
|
||||
override fun putLong(key: String, value: Long) {
|
||||
defaults.setObject(value, key)
|
||||
}
|
||||
|
||||
override fun getLong(key: String, default: Long): Long {
|
||||
return defaults.objectForKey(key) as? Long ?: default
|
||||
}
|
||||
|
||||
override fun putFloat(key: String, value: Float) {
|
||||
defaults.setFloat(value, key)
|
||||
}
|
||||
|
||||
override fun getFloat(key: String, default: Float): Float {
|
||||
return defaults.floatForKey(key)
|
||||
}
|
||||
|
||||
override fun putBoolean(key: String, value: Boolean) {
|
||||
defaults.setBool(value, key)
|
||||
}
|
||||
|
||||
override fun getBoolean(key: String, default: Boolean): Boolean {
|
||||
return defaults.boolForKey(key)
|
||||
}
|
||||
|
||||
override fun putStringSet(key: String, value: Set<String>) {
|
||||
defaults.setObject(value.toList(), key)
|
||||
}
|
||||
|
||||
override fun getStringSet(key: String, default: Set<String>): Set<String> {
|
||||
val list = defaults.objectForKey(key) as? List<*> ?: return default
|
||||
return list.filterIsInstance<String>().toSet()
|
||||
}
|
||||
|
||||
override fun putStringList(key: String, value: List<String>) {
|
||||
defaults.setObject(value, key)
|
||||
}
|
||||
|
||||
override fun getStringList(key: String, default: List<String>): List<String> {
|
||||
val list = defaults.objectForKey(key) as? List<*> ?: return default
|
||||
return list.filterIsInstance<String>()
|
||||
}
|
||||
|
||||
override fun remove(key: String) {
|
||||
defaults.removeObjectForKey(key)
|
||||
}
|
||||
override suspend fun remove(key: String) = defaults.removeObjectForKey(key)
|
||||
}
|
||||
Reference in New Issue
Block a user