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() override fun getAll(): MutableMap = map override fun getString(key: String, defValue: String?) = map[key] as String? ?: defValue override fun getStringSet(key: String, defValues: MutableSet?) = 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?) = 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() {} } }