Advertisement
Guest User

Untitled

a guest
Oct 26th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.76 KB | None | 0 0
  1.  
  2. fun main(args: Array<String>) {
  3.  
  4.     assert(Prefs2.lastLogin == "")
  5.     assert(Prefs2.updateDate == 0L)
  6.  
  7.     Prefs2.lastLogin = "some login"
  8.     Prefs2.updateDate = 12345L
  9.  
  10.     assert(Prefs2.lastLogin == "some login")
  11.     assert(Prefs2.updateDate == 12345L)
  12. }
  13.  
  14. val preferenceImitator2 = mutableMapOf<String, Any>()
  15.  
  16. object Prefs2 {
  17.     private const val UPDATE_DATE_KEY = "update_date"
  18.     private const val UPDATE_DATE_DEFAULT = 0L
  19.  
  20.     private const val LAST_LOGIN_KEY = "Last_login"
  21.     private const val LAST_LOGIN_DEFAULT = ""
  22.  
  23.     var updateDate: Long
  24.         get() {
  25.             val temp = preferenceImitator2.getLong(UPDATE_DATE_KEY, UPDATE_DATE_DEFAULT)
  26.             println("Get value '$temp' with key '$UPDATE_DATE_KEY'")
  27.             return temp
  28.         }
  29.         set(value) {
  30.             preferenceImitator2.putLong(UPDATE_DATE_KEY, value)
  31.             println("Set value '$value' with key '$UPDATE_DATE_KEY'")
  32.         }
  33.  
  34.     var lastLogin: String
  35.         get() {
  36.             val temp = preferenceImitator2.getString(LAST_LOGIN_KEY, LAST_LOGIN_DEFAULT)
  37.             println("Get value '$temp' with key '$LAST_LOGIN_KEY'")
  38.             return temp
  39.         }
  40.         set(value) {
  41.             preferenceImitator2.putString(LAST_LOGIN_KEY, value)
  42.             println("Set value '$value' with key '$LAST_LOGIN_KEY'")
  43.         }
  44.  
  45.     private fun Map<String, Any>.getLong(key: String, default: Long) = this[key] as? Long ?: default
  46.     private fun MutableMap<String, Any>.putLong(key: String, value: Long) { this[key] = value as Any }
  47.  
  48.     private fun Map<String, Any>.getString(key: String, default: String) = this[key] as? String ?: default
  49.     private fun MutableMap<String, Any>.putString(key: String, value: String) { this[key] = value as Any }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement