package com.gaiagps.iburn; import android.content.Context; import android.content.SharedPreferences; /** * Created by davidbrodsky on 7/1/15. */ public class PrefsHelper { private static final String SHOWED_WELCOME = "welcomed_2016_preivew"; // boolean private static final String POPULATED_DB_VERSION = "db_populated_ver"; // long private static final String VALID_UNLOCK_CODE = "unlocked_2015"; // boolean private static final String SCHEDULED_UPDATE = "sched_update"; // boolean private static final String DEFAULT_RESOURCE_VERSION = "resver"; // long private static final String RESOURCE_VERSION_PREFIX = "res-"; // long private static final String SHARED_PREFS_NAME = PrefsHelper.class.getSimpleName(); private SharedPreferences sharedPrefs; private SharedPreferences.Editor editor; public PrefsHelper(Context context) { sharedPrefs = context.getSharedPreferences(SHARED_PREFS_NAME, Context.MODE_PRIVATE); editor = sharedPrefs.edit(); } /** * @return whether a valid unlock code has been presented for this year */ public boolean enteredValidUnlockCode() { return sharedPrefs.getBoolean(VALID_UNLOCK_CODE, false); } public void setEnteredValidUnlockCode(boolean didEnter) { editor.putBoolean(VALID_UNLOCK_CODE, didEnter).apply(); } public boolean didShowWelcome() { return sharedPrefs.getBoolean(SHOWED_WELCOME, false); } public void setDidShowWelcome(boolean didShow) { editor.putBoolean(SHOWED_WELCOME, didShow).commit(); } public void setDatabaseVersion(long version) { editor.putLong(POPULATED_DB_VERSION, version).commit(); } public long getDatabaseVersion() { return sharedPrefs.getLong(POPULATED_DB_VERSION, 0); } /** * @return whether the application successfully registered a {@link com.gaiagps.iburn.service.DataUpdateService} task */ public boolean didScheduleUpdate() { return sharedPrefs.getBoolean(SCHEDULED_UPDATE, false); } public void setDidScheduleUpdate(boolean didScheduleUpdate) { editor.putBoolean(SCHEDULED_UPDATE, didScheduleUpdate).apply(); } public void setBaseResourcesVersion(long version) { editor.putLong(DEFAULT_RESOURCE_VERSION, version).commit(); } public long getResourceVersion(String resourceName) { return sharedPrefs.getLong(RESOURCE_VERSION_PREFIX + resourceName, sharedPrefs.getLong(DEFAULT_RESOURCE_VERSION, 0)); } public void setResourceVersion(String resourceName, long resourceVersion) { editor.putLong(RESOURCE_VERSION_PREFIX + resourceName, resourceVersion).apply(); } }