|
@@ -31,6 +31,9 @@ open class ReaderSettingDialogFragment : DialogFragment() {
|
|
private var readerSettingListener: ReaderSettingListener? = null
|
|
private var readerSettingListener: ReaderSettingListener? = null
|
|
private var initialized = true
|
|
private var initialized = true
|
|
|
|
|
|
|
|
+ protected open fun hasPermissionToUseSmartCrop(): Boolean { return false }
|
|
|
|
+ protected open fun hasPermissionToChangeTheme(): Boolean { return false }
|
|
|
|
+ protected open fun onNoPermissionToUSeSmartCrop() {}
|
|
protected open fun onNoPermissionToChangeTheme() {}
|
|
protected open fun onNoPermissionToChangeTheme() {}
|
|
|
|
|
|
fun setReaderSettingListener(readerSettingListener: ReaderSettingListener?) {
|
|
fun setReaderSettingListener(readerSettingListener: ReaderSettingListener?) {
|
|
@@ -97,6 +100,12 @@ open class ReaderSettingDialogFragment : DialogFragment() {
|
|
setupToolbarSettingView()
|
|
setupToolbarSettingView()
|
|
|
|
|
|
rowSwitchView_smartCrop.onCheckedChangeListener = CompoundButton.OnCheckedChangeListener { _, isChecked ->
|
|
rowSwitchView_smartCrop.onCheckedChangeListener = CompoundButton.OnCheckedChangeListener { _, isChecked ->
|
|
|
|
+ if (viewModel.isCropModeEnable.value == isChecked) return@OnCheckedChangeListener
|
|
|
|
+ if (isChecked && !hasPermissionToUseSmartCrop()) {
|
|
|
|
+ rowSwitchView_smartCrop.isChecked = false
|
|
|
|
+ onNoPermissionToUSeSmartCrop()
|
|
|
|
+ return@OnCheckedChangeListener
|
|
|
|
+ }
|
|
viewModel.setCropModeEnable(isChecked)
|
|
viewModel.setCropModeEnable(isChecked)
|
|
if (!initialized) {
|
|
if (!initialized) {
|
|
readerSettingListener?.onCropModeEnableChanged(isChecked)
|
|
readerSettingListener?.onCropModeEnableChanged(isChecked)
|
|
@@ -122,7 +131,7 @@ open class ReaderSettingDialogFragment : DialogFragment() {
|
|
}
|
|
}
|
|
|
|
|
|
private fun setupReadingModeView() {
|
|
private fun setupReadingModeView() {
|
|
- readingModeSelectView.isLock = true
|
|
|
|
|
|
+ readingModeSelectView.isLock = !hasPermissionToChangeTheme()
|
|
readingModeSelectView.onReadModeSelectListener = object : ReadingModeSelectView.OnReadModeSelectListener {
|
|
readingModeSelectView.onReadModeSelectListener = object : ReadingModeSelectView.OnReadModeSelectListener {
|
|
override fun onReadModeSelect(readMode: Int) {
|
|
override fun onReadModeSelect(readMode: Int) {
|
|
viewModel.setReadMode(readMode)
|
|
viewModel.setReadMode(readMode)
|