diff --git a/tests/org/kde/kdeconnect/MockSharedPreference.java b/tests/org/kde/kdeconnect/MockSharedPreference.java deleted file mode 100644 index 9a500618..00000000 --- a/tests/org/kde/kdeconnect/MockSharedPreference.java +++ /dev/null @@ -1,159 +0,0 @@ -package org.kde.kdeconnect; - -import android.content.SharedPreferences; - -import androidx.annotation.Nullable; - -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - - -/** - * Mock implementation of shared preference, which just saves data in memory using map. - * - * It DOES NOT support transactions, changes are immediate - * - * From https://gist.github.com/amardeshbd/354173d00b988574ee5019c4ba0c8a0b - */ -class MockSharedPreference implements SharedPreferences { - - private final HashMap preferenceMap; - private final MockSharedPreferenceEditor preferenceEditor; - - public MockSharedPreference() { - preferenceMap = new HashMap<>(); - preferenceEditor = new MockSharedPreferenceEditor(preferenceMap); - } - - @Override - public Map getAll() { - return preferenceMap; - } - - @Nullable - @Override - public String getString(final String s, @Nullable final String def) { - if (!preferenceMap.containsKey(s)) return def; - return (String) preferenceMap.get(s); - } - - @Nullable - @Override - public Set getStringSet(final String s, @Nullable final Set def) { - if (!preferenceMap.containsKey(s)) return def; - return (Set) preferenceMap.get(s); - } - - @Override - public int getInt(final String s, final int def) { - if (!preferenceMap.containsKey(s)) return def; - return (int) preferenceMap.get(s); - } - - @Override - public long getLong(final String s, final long def) { - if (!preferenceMap.containsKey(s)) return def; - return (long) preferenceMap.get(s); - } - - @Override - public float getFloat(final String s, final float def) { - if (!preferenceMap.containsKey(s)) return def; - return (float) preferenceMap.get(s); - } - - @Override - public boolean getBoolean(final String s, final boolean def) { - if (!preferenceMap.containsKey(s)) return def; - return (boolean) preferenceMap.get(s); - } - - @Override - public boolean contains(final String s) { - return preferenceMap.containsKey(s); - } - - @Override - public Editor edit() { - return preferenceEditor; - } - - @Override - public void registerOnSharedPreferenceChangeListener(final OnSharedPreferenceChangeListener onSharedPreferenceChangeListener) { - - } - - @Override - public void unregisterOnSharedPreferenceChangeListener(final OnSharedPreferenceChangeListener onSharedPreferenceChangeListener) { - - } - - static class MockSharedPreferenceEditor implements Editor { - - private final HashMap preferenceMap; - - MockSharedPreferenceEditor(final HashMap preferenceMap) { - this.preferenceMap = preferenceMap; - } - - @Override - public Editor putString(final String s, @Nullable final String s1) { - preferenceMap.put(s, s1); - return this; - } - - @Override - public Editor putStringSet(final String s, @Nullable final Set set) { - preferenceMap.put(s, set); - return this; - } - - @Override - public Editor putInt(final String s, final int i) { - preferenceMap.put(s, i); - return this; - } - - @Override - public Editor putLong(final String s, final long l) { - preferenceMap.put(s, l); - return this; - } - - @Override - public Editor putFloat(final String s, final float v) { - preferenceMap.put(s, v); - return this; - } - - @Override - public Editor putBoolean(final String s, final boolean b) { - preferenceMap.put(s, b); - return this; - } - - @Override - public Editor remove(final String s) { - preferenceMap.remove(s); - return this; - } - - @Override - public Editor clear() { - preferenceMap.clear(); - return this; - } - - @Override - public boolean commit() { - return true; - } - - @Override - public void apply() { - // Nothing to do, everything is saved in memory. - } - } - -} diff --git a/tests/org/kde/kdeconnect/MockSharedPreference.kt b/tests/org/kde/kdeconnect/MockSharedPreference.kt new file mode 100644 index 00000000..1559259c --- /dev/null +++ b/tests/org/kde/kdeconnect/MockSharedPreference.kt @@ -0,0 +1,79 @@ +package org.kde.kdeconnect + +import android.content.SharedPreferences +import android.content.SharedPreferences.OnSharedPreferenceChangeListener + +/** + * Mock implementation of shared preference, which just saves data in memory using map. + * + * It DOES NOT support transactions, changes are immediate + * + * From https://gist.github.com/amardeshbd/354173d00b988574ee5019c4ba0c8a0b + */ +internal class MockSharedPreference : SharedPreferences { + private val preferenceMap = mutableMapOf() + private val preferenceEditor = MockSharedPreferenceEditor(preferenceMap) + + override fun getAll(): Map = preferenceMap + override fun getString(s: String, def: String?): String? = preferenceMap.getOrDefault(s, def) as String? + override fun getBoolean(s: String, def: Boolean): Boolean = preferenceMap.getOrDefault(s, def) as Boolean + override fun getInt(s: String, def: Int): Int = preferenceMap.getOrDefault(s, def) as Int + override fun getLong(s: String, def: Long): Long = preferenceMap.getOrDefault(s, def) as Long + override fun getFloat(s: String, def: Float): Float = preferenceMap.getOrDefault(s, def) as Float + override fun getStringSet(s: String, def: Set?): Set? = preferenceMap.getOrDefault(s, def) as Set? + override fun contains(s: String): Boolean = preferenceMap.containsKey(s) + override fun edit(): SharedPreferences.Editor = preferenceEditor + + override fun registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener) {} + override fun unregisterOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener) {} + + internal class MockSharedPreferenceEditor(private val preferenceMap: MutableMap) : SharedPreferences.Editor { + override fun putString(s: String, s1: String?): SharedPreferences.Editor { + preferenceMap[s] = s1 + return this + } + + override fun putStringSet(s: String, set: Set?): SharedPreferences.Editor { + preferenceMap[s] = set + return this + } + + override fun putInt(s: String, i: Int): SharedPreferences.Editor { + preferenceMap[s] = i + return this + } + + override fun putLong(s: String, l: Long): SharedPreferences.Editor { + preferenceMap[s] = l + return this + } + + override fun putFloat(s: String, v: Float): SharedPreferences.Editor { + preferenceMap[s] = v + return this + } + + override fun putBoolean(s: String, b: Boolean): SharedPreferences.Editor { + preferenceMap[s] = b + return this + } + + override fun remove(s: String): SharedPreferences.Editor { + preferenceMap.remove(s) + return this + } + + override fun clear(): SharedPreferences.Editor { + preferenceMap.clear() + return this + } + + override fun commit(): Boolean { + return true + } + + override fun apply() { + // Nothing to do, everything is saved in memory. + } + } +}