SharePrefsModel.kt 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.kdanmobile.reader.screen.model
  2. import android.arch.lifecycle.LiveData
  3. import android.arch.lifecycle.MutableLiveData
  4. import android.content.Context
  5. import com.kdanmobile.reader.screen.data.ViewerSettingSharePrefs
  6. class SharePrefsModel(context: Context) {
  7. companion object {
  8. const val viewerSettingFileName = "viewer_setting"
  9. }
  10. val readMode: LiveData<Int>
  11. get() = mReadMode
  12. val isCropModeEnable: LiveData<Boolean>
  13. get() = mIsCropModeEnable
  14. val isShowStateBarEnable: LiveData<Boolean>
  15. get() = mIsShowStateBarEnable
  16. val turnPageDirection: LiveData<Int>
  17. get() = mTurnPageDirection
  18. val isShowTurnPageBtnEnable: LiveData<Boolean>
  19. get() = mIsShowTurnPageBtnEnable
  20. val isLockScreenSleepEnable: LiveData<Boolean>
  21. get() = mIsLockScreenSleepEnable
  22. val isShowCommentToolEnable: LiveData<Boolean>
  23. get() = mIsShowCommentToolEnable
  24. val isShowBOTAToolEnable: LiveData<Boolean>
  25. get() = mIsShowBOTAToolEnable
  26. private var mReadMode = MutableLiveData<Int>()
  27. private var mIsCropModeEnable = MutableLiveData<Boolean>()
  28. private var mIsShowStateBarEnable = MutableLiveData<Boolean>()
  29. private var mTurnPageDirection = MutableLiveData<Int>()
  30. private var mIsShowTurnPageBtnEnable = MutableLiveData<Boolean>()
  31. private var mIsLockScreenSleepEnable = MutableLiveData<Boolean>()
  32. private var mIsShowCommentToolEnable = MutableLiveData<Boolean>()
  33. private var mIsShowBOTAToolEnable = MutableLiveData<Boolean>()
  34. private val viewSettingSharePrefs = ViewerSettingSharePrefs(context, viewerSettingFileName).apply {
  35. mReadMode.value = this.getReadMode()
  36. mIsCropModeEnable.value = this.isCropModeEnable()
  37. mIsShowStateBarEnable.value = this.isShowStateBarEnable()
  38. mTurnPageDirection.value = this.getTurnPageDirection()
  39. mIsShowTurnPageBtnEnable.value = this.isShowTurnPageButtonEnable()
  40. mIsLockScreenSleepEnable.value = this.isLockScreenSleepEnable()
  41. mIsShowCommentToolEnable.value = this.isShowCommentToolEnable()
  42. mIsShowBOTAToolEnable.value = this.isShowBOTAToolEnable()
  43. }
  44. fun setReadMode(readMode: Int) {
  45. viewSettingSharePrefs.setReadMode(readMode)
  46. mReadMode.value = readMode
  47. }
  48. fun setCropModeEnable(enable: Boolean) {
  49. viewSettingSharePrefs.setCropModeEnable(enable)
  50. mIsCropModeEnable.value = enable
  51. }
  52. fun setShowStateBarEnable(enable: Boolean) {
  53. viewSettingSharePrefs.setShowStateBarEnable(enable)
  54. mIsShowStateBarEnable.value = enable
  55. }
  56. fun setTurnPageDirection(direction: Int) {
  57. viewSettingSharePrefs.setTurnPageDirection(direction)
  58. mTurnPageDirection.value = direction
  59. }
  60. fun setTurnPageButtonEnable(enable: Boolean) {
  61. viewSettingSharePrefs.setShowTurnPageButtonEnable(enable)
  62. mIsShowTurnPageBtnEnable.value = enable
  63. }
  64. fun setLockScreenSleepEnable(enable: Boolean) {
  65. viewSettingSharePrefs.setLockScreenSleepEnable(enable)
  66. mIsLockScreenSleepEnable.value = enable
  67. }
  68. fun setShowCommentToolEnable(enable: Boolean) {
  69. viewSettingSharePrefs.setShowCommentToolEnable(enable)
  70. mIsShowCommentToolEnable.value = enable
  71. }
  72. fun setShowBOTAToolEnable(enable: Boolean) {
  73. viewSettingSharePrefs.setShowBOTAToolEnable(enable)
  74. mIsShowBOTAToolEnable.value = enable
  75. }
  76. }