StateStorage

public class StateStorage extends Storage implements SharedPreferences.OnSharedPreferenceChangeListener

Created by RedSnail on 23.03.2018.

Fields

context

static Context context

listenerMap

ArrayMap<String, OnDBChangeListener> listenerMap

sPref

SharedPreferences sPref

Constructors

StateStorage

StateStorage(Context context, String prefName)

Methods

addMoney

synchronized void addMoney(BigInteger amount)

addOnDBChangeListener

void addOnDBChangeListener(String key, OnDBChangeListener listener)

enoughMoney

boolean enoughMoney(BigInteger price)

getBigInteger

synchronized BigInteger getBigInteger(String key, BigInteger defVal)

getMoney

BigInteger getMoney()

getMusicShouldBe

synchronized boolean getMusicShouldBe()

getShopItemCount

int getShopItemCount(String itemCountKey)

getSoundsShouldBe

synchronized boolean getSoundsShouldBe()

getTotalMoney

BigInteger getTotalMoney()

incrementShopItemCount

synchronized void incrementShopItemCount(String itemCountKey)

onSharedPreferenceChanged

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)

Implements SharedPreferences listener interface IMPORTANT: SharedPreferences object holds a weak ref to the registered listener, so we implement this listener interface in StateStorage class and pass the reference into the registerOnSharedPreferenceChangeListener method. https://developer.android.com/reference/android/content/SharedPreferences.html#registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener)

putBigInteger

synchronized void putBigInteger(String key, BigInteger bigInteger)

setMusicShouldBe

synchronized void setMusicShouldBe(boolean shouldBe)

setSoundsShouldBe

synchronized void setSoundsShouldBe(boolean shouldBe)

updateAutomataThreadActionTime

synchronized void updateAutomataThreadActionTime(AutomataMoneyCalculator calculator)