|
|
@@ -7,7 +7,13 @@ import android.content.res.Configuration
|
|
|
import android.net.Uri
|
|
|
import android.os.Bundle
|
|
|
import android.os.Looper
|
|
|
-import android.view.*
|
|
|
+import android.view.Gravity
|
|
|
+import android.view.InputDevice
|
|
|
+import android.view.KeyEvent
|
|
|
+import android.view.Menu
|
|
|
+import android.view.MenuItem
|
|
|
+import android.view.MotionEvent
|
|
|
+import android.view.View
|
|
|
import androidx.activity.addCallback
|
|
|
import androidx.activity.result.contract.ActivityResultContracts
|
|
|
import androidx.appcompat.app.AlertDialog
|
|
|
@@ -19,7 +25,12 @@ import androidx.lifecycle.lifecycleScope
|
|
|
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
|
|
|
import io.legado.app.BuildConfig
|
|
|
import io.legado.app.R
|
|
|
-import io.legado.app.constant.*
|
|
|
+import io.legado.app.constant.AppConst
|
|
|
+import io.legado.app.constant.AppLog
|
|
|
+import io.legado.app.constant.BookType
|
|
|
+import io.legado.app.constant.EventBus
|
|
|
+import io.legado.app.constant.PreferKey
|
|
|
+import io.legado.app.constant.Status
|
|
|
import io.legado.app.data.appDb
|
|
|
import io.legado.app.data.entities.Book
|
|
|
import io.legado.app.data.entities.BookChapter
|
|
|
@@ -29,7 +40,14 @@ import io.legado.app.exception.NoStackTraceException
|
|
|
import io.legado.app.help.AppWebDav
|
|
|
import io.legado.app.help.IntentData
|
|
|
import io.legado.app.help.TTS
|
|
|
-import io.legado.app.help.book.*
|
|
|
+import io.legado.app.help.book.BookHelp
|
|
|
+import io.legado.app.help.book.ContentProcessor
|
|
|
+import io.legado.app.help.book.isAudio
|
|
|
+import io.legado.app.help.book.isEpub
|
|
|
+import io.legado.app.help.book.isLocal
|
|
|
+import io.legado.app.help.book.isLocalTxt
|
|
|
+import io.legado.app.help.book.isMobi
|
|
|
+import io.legado.app.help.book.removeType
|
|
|
import io.legado.app.help.config.AppConfig
|
|
|
import io.legado.app.help.config.ReadBookConfig
|
|
|
import io.legado.app.help.config.ReadTipConfig
|
|
|
@@ -42,9 +60,9 @@ import io.legado.app.lib.theme.accentColor
|
|
|
import io.legado.app.model.ReadAloud
|
|
|
import io.legado.app.model.ReadBook
|
|
|
import io.legado.app.model.analyzeRule.AnalyzeRule
|
|
|
-import io.legado.app.receiver.NetworkChangedListener
|
|
|
import io.legado.app.model.localBook.EpubFile
|
|
|
import io.legado.app.model.localBook.MobiFile
|
|
|
+import io.legado.app.receiver.NetworkChangedListener
|
|
|
import io.legado.app.receiver.TimeBatteryReceiver
|
|
|
import io.legado.app.service.BaseReadAloudService
|
|
|
import io.legado.app.ui.about.AppLogDialog
|
|
|
@@ -53,7 +71,7 @@ import io.legado.app.ui.book.bookmark.BookmarkDialog
|
|
|
import io.legado.app.ui.book.changesource.ChangeBookSourceDialog
|
|
|
import io.legado.app.ui.book.changesource.ChangeChapterSourceDialog
|
|
|
import io.legado.app.ui.book.info.BookInfoActivity
|
|
|
-import io.legado.app.ui.book.read.config.*
|
|
|
+import io.legado.app.ui.book.read.config.AutoReadDialog
|
|
|
import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.BG_COLOR
|
|
|
import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.TEXT_COLOR
|
|
|
import io.legado.app.ui.book.read.config.MoreConfigDialog
|
|
|
@@ -80,10 +98,40 @@ import io.legado.app.ui.replace.ReplaceRuleActivity
|
|
|
import io.legado.app.ui.replace.edit.ReplaceEditActivity
|
|
|
import io.legado.app.ui.widget.PopupAction
|
|
|
import io.legado.app.ui.widget.dialog.PhotoDialog
|
|
|
-import io.legado.app.utils.*
|
|
|
+import io.legado.app.utils.ACache
|
|
|
+import io.legado.app.utils.Debounce
|
|
|
+import io.legado.app.utils.LogUtils
|
|
|
+import io.legado.app.utils.NetworkUtils
|
|
|
+import io.legado.app.utils.StartActivityContract
|
|
|
+import io.legado.app.utils.applyOpenTint
|
|
|
+import io.legado.app.utils.buildMainHandler
|
|
|
+import io.legado.app.utils.getPrefBoolean
|
|
|
+import io.legado.app.utils.getPrefString
|
|
|
+import io.legado.app.utils.hexString
|
|
|
+import io.legado.app.utils.iconItemOnLongClick
|
|
|
+import io.legado.app.utils.invisible
|
|
|
+import io.legado.app.utils.isAbsUrl
|
|
|
+import io.legado.app.utils.isTrue
|
|
|
+import io.legado.app.utils.launch
|
|
|
+import io.legado.app.utils.navigationBarGravity
|
|
|
+import io.legado.app.utils.observeEvent
|
|
|
+import io.legado.app.utils.observeEventSticky
|
|
|
+import io.legado.app.utils.postEvent
|
|
|
+import io.legado.app.utils.showDialogFragment
|
|
|
+import io.legado.app.utils.showHelp
|
|
|
+import io.legado.app.utils.startActivity
|
|
|
+import io.legado.app.utils.sysScreenOffTime
|
|
|
+import io.legado.app.utils.throttle
|
|
|
+import io.legado.app.utils.toastOnUi
|
|
|
+import io.legado.app.utils.visible
|
|
|
import kotlinx.coroutines.Dispatchers.IO
|
|
|
import kotlinx.coroutines.Dispatchers.Main
|
|
|
-import kotlinx.coroutines.*
|
|
|
+import kotlinx.coroutines.Job
|
|
|
+import kotlinx.coroutines.Runnable
|
|
|
+import kotlinx.coroutines.delay
|
|
|
+import kotlinx.coroutines.ensureActive
|
|
|
+import kotlinx.coroutines.launch
|
|
|
+import kotlinx.coroutines.withContext
|
|
|
|
|
|
/**
|
|
|
* 阅读界面
|
|
|
@@ -297,7 +345,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
networkChangedListener.onNetworkChanged = {
|
|
|
// 当网络是可用状态且无需初始化时同步进度(初始化中已有同步进度逻辑)
|
|
|
if (AppConfig.syncBookProgressPlus && NetworkUtils.isAvailable() && !justInitData) {
|
|
|
- ReadBook.syncProgress({progress -> sureNewProgress(progress)}, null)
|
|
|
+ ReadBook.syncProgress({ progress -> sureNewProgress(progress) })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -782,6 +830,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
1 -> lifecycleScope.launch {
|
|
|
binding.readView.aloudStartSelect()
|
|
|
}
|
|
|
+
|
|
|
else -> speak(binding.readView.getSelectText())
|
|
|
}
|
|
|
|