1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package org.meshbay.client
import android.content.SharedPreferences
/** SharedPreferences is an interface; a map is enough for the JVM tests. */
class FakePrefs : SharedPreferences {
val map = HashMap<String, Any?>()
override fun getAll(): MutableMap<String, *> = map
override fun getString(key: String, defValue: String?) = map[key] as String? ?: defValue
override fun getStringSet(key: String, defValues: MutableSet<String>?) = defValues
override fun getInt(key: String, defValue: Int) = map[key] as Int? ?: defValue
override fun getLong(key: String, defValue: Long) = map[key] as Long? ?: defValue
override fun getFloat(key: String, defValue: Float) = map[key] as Float? ?: defValue
override fun getBoolean(key: String, defValue: Boolean) = map[key] as Boolean? ?: defValue
override fun contains(key: String) = map.containsKey(key)
override fun registerOnSharedPreferenceChangeListener(l: SharedPreferences.OnSharedPreferenceChangeListener?) {}
override fun unregisterOnSharedPreferenceChangeListener(l: SharedPreferences.OnSharedPreferenceChangeListener?) {}
override fun edit(): SharedPreferences.Editor = object : SharedPreferences.Editor {
override fun putString(k: String, v: String?) = apply { map[k] = v }
override fun putStringSet(k: String, v: MutableSet<String>?) = apply { map[k] = v }
override fun putInt(k: String, v: Int) = apply { map[k] = v }
override fun putLong(k: String, v: Long) = apply { map[k] = v }
override fun putFloat(k: String, v: Float) = apply { map[k] = v }
override fun putBoolean(k: String, v: Boolean) = apply { map[k] = v }
override fun remove(k: String) = apply { map.remove(k) }
override fun clear() = apply { map.clear() }
override fun commit() = true
override fun apply() {}
}
}
|