mirror of
https://github.com/fumiama/copymanga.git
synced 2026-06-27 14:20:30 +08:00
v2.0.beta17
修复 1. 无法保持上页状态 2. 一些闪退
This commit is contained in:
1
.idea/misc.xml
generated
1
.idea/misc.xml
generated
@@ -4,6 +4,7 @@
|
|||||||
<option name="filePathToZoomLevelMap">
|
<option name="filePathToZoomLevelMap">
|
||||||
<map>
|
<map>
|
||||||
<entry key="../../.gradle/caches/transforms-3/530137dbe1613faf299d06bd64f02665/transformed/jetified-search-2.4.1/res/layout/search_view.xml" value="0.46557971014492755" />
|
<entry key="../../.gradle/caches/transforms-3/530137dbe1613faf299d06bd64f02665/transformed/jetified-search-2.4.1/res/layout/search_view.xml" value="0.46557971014492755" />
|
||||||
|
<entry key="../../Library/Android/sdk/platforms/android-33/data/res/drawable-car/car_button_background.xml" value="0.316" />
|
||||||
<entry key="app/src/main/res/drawable-anydpi/ic_like.xml" value="0.5572916666666666" />
|
<entry key="app/src/main/res/drawable-anydpi/ic_like.xml" value="0.5572916666666666" />
|
||||||
<entry key="app/src/main/res/drawable-anydpi/ic_setting_search.xml" value="0.5572916666666666" />
|
<entry key="app/src/main/res/drawable-anydpi/ic_setting_search.xml" value="0.5572916666666666" />
|
||||||
<entry key="app/src/main/res/layout/activity_dl.xml" value="0.5025484199796126" />
|
<entry key="app/src/main/res/layout/activity_dl.xml" value="0.5025484199796126" />
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ android {
|
|||||||
applicationId 'top.fumiama.copymanga'
|
applicationId 'top.fumiama.copymanga'
|
||||||
minSdkVersion 23
|
minSdkVersion 23
|
||||||
targetSdkVersion 33
|
targetSdkVersion 33
|
||||||
versionCode 28
|
versionCode 29
|
||||||
versionName '2.0.beta16'
|
versionName '2.0.beta17'
|
||||||
resConfigs 'zh', 'zh-rCN'
|
resConfigs 'zh', 'zh-rCN'
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
@@ -51,16 +51,13 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
|
||||||
implementation 'androidx.core:core-ktx:1.9.0'
|
implementation 'androidx.core:core-ktx:1.9.0'
|
||||||
implementation 'androidx.appcompat:appcompat:1.5.1'
|
implementation 'androidx.appcompat:appcompat:1.5.1'
|
||||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||||
implementation 'com.google.android.material:material:1.6.1'
|
implementation 'com.google.android.material:material:1.7.0'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
|
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3'
|
||||||
implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'
|
implementation 'androidx.navigation:navigation-ui-ktx:2.5.3'
|
||||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
|
|
||||||
implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'
|
|
||||||
testImplementation 'junit:junit:4.13.2'
|
testImplementation 'junit:junit:4.13.2'
|
||||||
implementation "androidx.preference:preference-ktx:1.2.0"
|
implementation "androidx.preference:preference-ktx:1.2.0"
|
||||||
implementation 'com.afollestad.material-dialogs:input:3.3.0'
|
implementation 'com.afollestad.material-dialogs:input:3.3.0'
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import top.fumiama.copymanga.tools.api.UITools
|
|||||||
|
|
||||||
open class ActivityTemplate:Activity() {
|
open class ActivityTemplate:Activity() {
|
||||||
lateinit var toolsBox: UITools
|
lateinit var toolsBox: UITools
|
||||||
val p = IntPref()
|
|
||||||
val pb = BoolPref()
|
val pb = BoolPref()
|
||||||
private val allFullScreen
|
private val allFullScreen
|
||||||
get() = getPreferences(MODE_PRIVATE).getBoolean("allFullScreen", false)
|
get() = getPreferences(MODE_PRIVATE).getBoolean("allFullScreen", false)
|
||||||
@@ -24,14 +23,6 @@ open class ActivityTemplate:Activity() {
|
|||||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
||||||
}
|
}
|
||||||
|
|
||||||
inner class IntPref {
|
|
||||||
operator fun get(key: String) = getPreferences(MODE_PRIVATE).getInt(key, -5)
|
|
||||||
operator fun set(key: String, value: Int) = getPreferences(MODE_PRIVATE).edit {
|
|
||||||
putInt(key, value)
|
|
||||||
apply()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inner class BoolPref {
|
inner class BoolPref {
|
||||||
operator fun get(key: String) = getPreferences(MODE_PRIVATE).getBoolean(key, false)
|
operator fun get(key: String) = getPreferences(MODE_PRIVATE).getBoolean(key, false)
|
||||||
operator fun set(key: String, value: Boolean) = getPreferences(MODE_PRIVATE).edit {
|
operator fun set(key: String, value: Boolean) = getPreferences(MODE_PRIVATE).edit {
|
||||||
|
|||||||
@@ -40,6 +40,14 @@ open class MangaPagesFragmentTemplate(inflateRes:Int, val isLazy: Boolean = true
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
cardList.exitCardList = true
|
||||||
|
mh = null
|
||||||
|
row = null
|
||||||
|
jsonReaderNow = null
|
||||||
|
}
|
||||||
|
|
||||||
fun setLayouts() {
|
fun setLayouts() {
|
||||||
val toolsBox = this.context?.let { UITools(it) }
|
val toolsBox = this.context?.let { UITools(it) }
|
||||||
val widthData = toolsBox?.calcWidthFromDp(8, 135)
|
val widthData = toolsBox?.calcWidthFromDp(8, 135)
|
||||||
|
|||||||
@@ -7,17 +7,18 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
|
||||||
open class NoBackRefreshFragment(private val layoutToLoad: Int):Fragment() {
|
open class NoBackRefreshFragment(private val layoutToLoad: Int): Fragment() {
|
||||||
var rootView: View? = null
|
private var _rootView: View? = null
|
||||||
|
val rootView: View get() = _rootView!!
|
||||||
var isFirstInflate = true
|
var isFirstInflate = true
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
if(rootView == null){
|
if(_rootView == null){
|
||||||
isFirstInflate = true
|
isFirstInflate = true
|
||||||
rootView = inflater.inflate(layoutToLoad, container, false)
|
_rootView = inflater.inflate(layoutToLoad, container, false)
|
||||||
Log.d("MyNBRF", "is first inflate")
|
Log.d("MyNBRF", "is first inflate")
|
||||||
} else {
|
} else {
|
||||||
isFirstInflate = false
|
isFirstInflate = false
|
||||||
@@ -25,9 +26,9 @@ open class NoBackRefreshFragment(private val layoutToLoad: Int):Fragment() {
|
|||||||
}
|
}
|
||||||
return rootView
|
return rootView
|
||||||
}
|
}
|
||||||
override fun onDestroyView() {
|
override fun onDestroy() {
|
||||||
super.onDestroyView()
|
super.onDestroy()
|
||||||
rootView = null
|
_rootView = null
|
||||||
isFirstInflate = true
|
isFirstInflate = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,13 @@ import android.util.Log
|
|||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import top.fumiama.dmzj.copymanga.R
|
import top.fumiama.dmzj.copymanga.R
|
||||||
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
||||||
import top.fumiama.copymanga.json.Chapter2Return
|
|
||||||
import top.fumiama.copymanga.json.ReturnBase
|
import top.fumiama.copymanga.json.ReturnBase
|
||||||
import top.fumiama.copymanga.tools.http.DownloadTools
|
import top.fumiama.copymanga.tools.http.DownloadTools
|
||||||
import top.fumiama.copymanga.tools.thread.TimeThread
|
import top.fumiama.copymanga.tools.thread.TimeThread
|
||||||
|
import java.io.File
|
||||||
|
import java.security.MessageDigest
|
||||||
|
|
||||||
open class AutoDownloadHandler(private val url: String, private val jsonClass: Class<*>, looper: Looper, private val callCheckMsg: Int = -1): Handler(looper) {
|
open class AutoDownloadHandler(private val url: String, private val jsonClass: Class<*>, looper: Looper, private val callCheckMsg: Int = -1, private val loadFromCache: Boolean = false, private val customCacheFile: File? = null): Handler(looper) {
|
||||||
var exit = false
|
var exit = false
|
||||||
private var timeThread: TimeThread? = null
|
private var timeThread: TimeThread? = null
|
||||||
private var checkTimes = 0
|
private var checkTimes = 0
|
||||||
@@ -40,7 +41,34 @@ open class AutoDownloadHandler(private val url: String, private val jsonClass: C
|
|||||||
timeThread?.canDo = true
|
timeThread?.canDo = true
|
||||||
timeThread?.start()
|
timeThread?.start()
|
||||||
}
|
}
|
||||||
|
private fun toHexStr(byteArray: ByteArray) =
|
||||||
|
with(StringBuilder()) {
|
||||||
|
byteArray.forEach {
|
||||||
|
val hex = it.toInt() and (0xFF)
|
||||||
|
val hexStr = Integer.toHexString(hex)
|
||||||
|
if (hexStr.length == 1) append("0").append(hexStr)
|
||||||
|
else append(hexStr)
|
||||||
|
}
|
||||||
|
toString()
|
||||||
|
}
|
||||||
private fun dlThread() {
|
private fun dlThread() {
|
||||||
|
val cacheName = toHexStr(MessageDigest.getInstance("MD5").digest(url.encodeToByteArray()))
|
||||||
|
val cacheFile = customCacheFile?:(mainWeakReference?.get()?.externalCacheDir?.let { File(it, cacheName) })
|
||||||
|
if(loadFromCache) {
|
||||||
|
cacheFile?.let {
|
||||||
|
if (it.exists()) {
|
||||||
|
var pass = true
|
||||||
|
val fi = it.inputStream()
|
||||||
|
try {
|
||||||
|
pass = setGsonItem(Gson().fromJson(fi.reader(), jsonClass))
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
}
|
||||||
|
fi.close()
|
||||||
|
if (pass) return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
DownloadTools.getHttpContent(url, null, mainWeakReference?.get()?.getString(R.string.pc_ua)!!).let {
|
DownloadTools.getHttpContent(url, null, mainWeakReference?.get()?.getString(R.string.pc_ua)!!).let {
|
||||||
if(exit) return
|
if(exit) return
|
||||||
if(it == null) {
|
if(it == null) {
|
||||||
@@ -51,6 +79,9 @@ open class AutoDownloadHandler(private val url: String, private val jsonClass: C
|
|||||||
var pass = true
|
var pass = true
|
||||||
try {
|
try {
|
||||||
pass = setGsonItem(Gson().fromJson(fi.reader(), jsonClass))
|
pass = setGsonItem(Gson().fromJson(fi.reader(), jsonClass))
|
||||||
|
if (pass && loadFromCache) {
|
||||||
|
cacheFile?.writeBytes(it)
|
||||||
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,15 +27,17 @@ class CardList(
|
|||||||
private var index = 0
|
private var index = 0
|
||||||
private var count = 0
|
private var count = 0
|
||||||
var initClickListeners: InitClickListeners? = null
|
var initClickListeners: InitClickListeners? = null
|
||||||
|
var exitCardList = false
|
||||||
|
|
||||||
fun reset(){
|
fun reset(){
|
||||||
rows = arrayOfNulls(20)
|
rows = arrayOfNulls(20)
|
||||||
index = 0
|
index = 0
|
||||||
count = 0
|
count = 0
|
||||||
|
exitCardList = false
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun manageRow(){
|
private fun manageRow(){
|
||||||
if(count++ % cardPerRow == 0) inflateRow()
|
if(!exitCardList && count++ % cardPerRow == 0) inflateRow()
|
||||||
Log.d("MyCL", "index: $index, cardPR: $cardPerRow")
|
Log.d("MyCL", "index: $index, cardPR: $cardPerRow")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,9 +45,9 @@ class CardList(
|
|||||||
that?.layoutInflater?.inflate(R.layout.line_horizonal_empty, that.mydll, false)?.let {
|
that?.layoutInflater?.inflate(R.layout.line_horizonal_empty, that.mydll, false)?.let {
|
||||||
it.layoutParams.height = cardHeight + 16
|
it.layoutParams.height = cardHeight + 16
|
||||||
mainWeakReference?.get()?.runOnUiThread {
|
mainWeakReference?.get()?.runOnUiThread {
|
||||||
that.mydll.addView(it)
|
if(!exitCardList) that.mydll.addView(it)
|
||||||
}
|
}
|
||||||
recycleOneRow(it)
|
if(!exitCardList) recycleOneRow(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private fun recycleOneRow(v:View?){
|
private fun recycleOneRow(v:View?){
|
||||||
@@ -54,7 +56,7 @@ class CardList(
|
|||||||
else {
|
else {
|
||||||
val victim = rows[relativeIndex]
|
val victim = rows[relativeIndex]
|
||||||
mainWeakReference?.get()?.runOnUiThread {
|
mainWeakReference?.get()?.runOnUiThread {
|
||||||
that?.apply {
|
if(!exitCardList) that?.apply {
|
||||||
mydll?.removeView(victim)
|
mydll?.removeView(victim)
|
||||||
mys?.scrollY = that.mys?.scrollY?.minus(cardHeight + 16)?:0
|
mys?.scrollY = that.mys?.scrollY?.minus(cardHeight + 16)?:0
|
||||||
}
|
}
|
||||||
@@ -65,8 +67,8 @@ class CardList(
|
|||||||
|
|
||||||
@ExperimentalStdlibApi
|
@ExperimentalStdlibApi
|
||||||
fun addCard(name: String, append: String? = null, head: String? = null, path: String? = null, chapterUUID: String? = null, pn: Int? = null, isFinish: Boolean = false){
|
fun addCard(name: String, append: String? = null, head: String? = null, path: String? = null, chapterUUID: String? = null, pn: Int? = null, isFinish: Boolean = false){
|
||||||
manageRow()
|
if(!exitCardList) manageRow()
|
||||||
that?.layoutInflater?.inflate(R.layout.card_book, that.mydll.ltbtn, false)?.let {
|
if(!exitCardList) that?.layoutInflater?.inflate(R.layout.card_book, that.mydll.ltbtn, false)?.let {
|
||||||
val card = it.cic
|
val card = it.cic
|
||||||
card.name = name
|
card.name = name
|
||||||
card.append = append
|
card.append = append
|
||||||
@@ -77,7 +79,7 @@ class CardList(
|
|||||||
card.pageNumber = pn
|
card.pageNumber = pn
|
||||||
card.isFinish = isFinish
|
card.isFinish = isFinish
|
||||||
mainWeakReference?.get()?.runOnUiThread{
|
mainWeakReference?.get()?.runOnUiThread{
|
||||||
addCard(it)
|
if(!exitCardList) addCard(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -88,11 +90,11 @@ class CardList(
|
|||||||
val name = card.name + (card.append?:"")
|
val name = card.name + (card.append?:"")
|
||||||
val head = card.headImageUrl
|
val head = card.headImageUrl
|
||||||
val file = File(that?.context?.getExternalFilesDir(""), card.name)
|
val file = File(that?.context?.getExternalFilesDir(""), card.name)
|
||||||
cardFrame.let {
|
if(!exitCardList) cardFrame.let {
|
||||||
it.tic.text = name
|
it.tic.text = name
|
||||||
if(!file.exists()){
|
if(!file.exists()){
|
||||||
that?.context?.let { context ->
|
that?.context?.let { context ->
|
||||||
Glide.with(context).load(GlideUrl(head, CMApi.myGlideHeaders)).into(it.imic)
|
if(!exitCardList) Glide.with(context).load(GlideUrl(head, CMApi.myGlideHeaders)).into(it.imic)
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
val img = File(file, "head.jpg")
|
val img = File(file, "head.jpg")
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import android.os.Bundle
|
|||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.navigation.Navigation
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import top.fumiama.copymanga.json.BookListStructure
|
import top.fumiama.copymanga.json.BookListStructure
|
||||||
import top.fumiama.copymanga.json.HistoryBookListStructure
|
import top.fumiama.copymanga.json.HistoryBookListStructure
|
||||||
@@ -83,7 +83,7 @@ open class InfoCardLoader(inflateRes:Int, private val navId:Int, private val isT
|
|||||||
v.setOnClickListener {
|
v.setOnClickListener {
|
||||||
val bundle = Bundle()
|
val bundle = Bundle()
|
||||||
bundle.putString("path", path)
|
bundle.putString("path", path)
|
||||||
rootView?.let { Navigation.findNavController(it).navigate(navId, bundle) }
|
findNavController().navigate(navId, bundle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,13 @@ package top.fumiama.copymanga.ui.book
|
|||||||
|
|
||||||
import android.content.Context.MODE_PRIVATE
|
import android.content.Context.MODE_PRIVATE
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.Navigation
|
|
||||||
import kotlinx.android.synthetic.main.app_bar_main.*
|
|
||||||
import kotlinx.android.synthetic.main.line_booktandb.*
|
import kotlinx.android.synthetic.main.line_booktandb.*
|
||||||
import top.fumiama.dmzj.copymanga.R
|
|
||||||
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
||||||
import top.fumiama.copymanga.manga.Reader
|
import top.fumiama.copymanga.manga.Reader
|
||||||
import top.fumiama.copymanga.template.general.NoBackRefreshFragment
|
import top.fumiama.copymanga.template.general.NoBackRefreshFragment
|
||||||
|
import top.fumiama.dmzj.copymanga.R
|
||||||
import java.lang.Thread.sleep
|
import java.lang.Thread.sleep
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
|
|
||||||
@@ -31,14 +28,14 @@ class BookFragment: NoBackRefreshFragment(R.layout.fragment_book) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
/*override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
mainWeakReference?.get()?.apply {
|
mainWeakReference?.get()?.apply {
|
||||||
toolbar.title = bookHandler?.book?.results?.comic?.name
|
toolbar.title = bookHandler?.book?.results?.comic?.name
|
||||||
}
|
}
|
||||||
setStartRead()
|
setStartRead()
|
||||||
fbibinfo?.layoutParams?.height = ((fbibinfo?.width?:0) * 4.0 / 9.0 + 0.5).toInt()
|
fbibinfo?.layoutParams?.height = ((fbibinfo?.width?:0) * 4.0 / 9.0 + 0.5).toInt()
|
||||||
}
|
}*/
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
@@ -78,7 +75,7 @@ class BookFragment: NoBackRefreshFragment(R.layout.fragment_book) {
|
|||||||
bundle.putStringArray("group", bookHandler!!.gpws)
|
bundle.putStringArray("group", bookHandler!!.gpws)
|
||||||
bundle.putStringArray("groupNames", bookHandler!!.keys)
|
bundle.putStringArray("groupNames", bookHandler!!.keys)
|
||||||
bundle.putIntArray("count", bookHandler!!.cnts)
|
bundle.putIntArray("count", bookHandler!!.cnts)
|
||||||
rootView?.let { Navigation.findNavController(it).navigate(R.id.action_nav_book_to_nav_group, bundle) }
|
findNavController().navigate(R.id.action_nav_book_to_nav_group, bundle)
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -5,26 +5,22 @@ import android.os.Looper
|
|||||||
import android.os.Message
|
import android.os.Message
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.LinearLayout
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.content.edit
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.Navigation
|
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.bumptech.glide.load.model.GlideUrl
|
import com.bumptech.glide.load.model.GlideUrl
|
||||||
import com.bumptech.glide.request.RequestOptions
|
import com.bumptech.glide.request.RequestOptions
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import kotlinx.android.synthetic.main.app_bar_main.*
|
import kotlinx.android.synthetic.main.app_bar_main.*
|
||||||
import kotlinx.android.synthetic.main.button_tbutton.view.*
|
|
||||||
import kotlinx.android.synthetic.main.card_book.*
|
import kotlinx.android.synthetic.main.card_book.*
|
||||||
import kotlinx.android.synthetic.main.fragment_book.*
|
import kotlinx.android.synthetic.main.fragment_book.*
|
||||||
import kotlinx.android.synthetic.main.line_2chapters.view.*
|
import kotlinx.android.synthetic.main.line_2chapters.view.*
|
||||||
import kotlinx.android.synthetic.main.line_bookinfo.*
|
import kotlinx.android.synthetic.main.line_bookinfo.*
|
||||||
import kotlinx.android.synthetic.main.line_bookinfo_text.*
|
import kotlinx.android.synthetic.main.line_bookinfo_text.*
|
||||||
import kotlinx.android.synthetic.main.line_booktandb.*
|
|
||||||
import kotlinx.android.synthetic.main.line_caption.view.*
|
import kotlinx.android.synthetic.main.line_caption.view.*
|
||||||
import kotlinx.android.synthetic.main.line_chapter.view.*
|
import kotlinx.android.synthetic.main.line_chapter.view.*
|
||||||
import kotlinx.android.synthetic.main.widget_downloadbar.*
|
|
||||||
import top.fumiama.dmzj.copymanga.R
|
|
||||||
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
||||||
import top.fumiama.copymanga.json.BookInfoStructure
|
import top.fumiama.copymanga.json.BookInfoStructure
|
||||||
import top.fumiama.copymanga.json.ChapterStructure
|
import top.fumiama.copymanga.json.ChapterStructure
|
||||||
@@ -38,6 +34,7 @@ import top.fumiama.copymanga.tools.api.GlideBlurTransformation
|
|||||||
import top.fumiama.copymanga.ui.comicdl.ComicDlFragment
|
import top.fumiama.copymanga.ui.comicdl.ComicDlFragment
|
||||||
import top.fumiama.copymanga.ui.comicdl.ComicDlFragment.Companion.json
|
import top.fumiama.copymanga.ui.comicdl.ComicDlFragment.Companion.json
|
||||||
import top.fumiama.copymanga.ui.vm.ViewMangaActivity
|
import top.fumiama.copymanga.ui.vm.ViewMangaActivity
|
||||||
|
import top.fumiama.dmzj.copymanga.R
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.lang.Thread.sleep
|
import java.lang.Thread.sleep
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
@@ -82,9 +79,7 @@ class BookHandler(private val th: WeakReference<BookFragment>, private val path:
|
|||||||
if(exit) return
|
if(exit) return
|
||||||
if(!hasToastedError) {
|
if(!hasToastedError) {
|
||||||
Toast.makeText(that?.context, R.string.null_book, Toast.LENGTH_SHORT).show()
|
Toast.makeText(that?.context, R.string.null_book, Toast.LENGTH_SHORT).show()
|
||||||
that?.rootView?.let { it1 ->
|
that?.apply { findNavController().popBackStack() }
|
||||||
Navigation.findNavController(it1).navigateUp()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,14 +94,17 @@ class BookHandler(private val th: WeakReference<BookFragment>, private val path:
|
|||||||
super.doWhenFinishDownload()
|
super.doWhenFinishDownload()
|
||||||
if(exit) return
|
if(exit) return
|
||||||
inflateComponents()
|
inflateComponents()
|
||||||
book?.results?.groups?.values?.forEach{
|
if(keys.isEmpty()) book?.results?.groups?.values?.forEach{
|
||||||
keys += it.name
|
keys += it.name
|
||||||
gpws += it.path_word
|
gpws += it.path_word
|
||||||
cnts += it.count
|
cnts += it.count
|
||||||
Log.d("MyBFH", "Add caption: ${it.name} @ ${it.path_word} of ${it.count}")
|
Log.d("MyBFH", "Add caption: ${it.name} @ ${it.path_word} of ${it.count}")
|
||||||
}
|
}
|
||||||
initComicData()
|
if(vols?.isEmpty() != false) initComicData()
|
||||||
Thread{ for (i in 1..5) sendEmptyMessage(i) }.start()
|
Thread{ for (i in 1..5) {
|
||||||
|
sleep(512)
|
||||||
|
sendEmptyMessage(i)
|
||||||
|
} }.start()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun endSetLayouts(){
|
private fun endSetLayouts(){
|
||||||
@@ -117,8 +115,8 @@ class BookHandler(private val th: WeakReference<BookFragment>, private val path:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun inflateComponents(){
|
private fun inflateComponents(){
|
||||||
that?.fbibinfo = that?.layoutInflater?.inflate(R.layout.line_bookinfo, that?.fbl, false)
|
if(that?.fbibinfo == null) that?.fbibinfo = that?.layoutInflater?.inflate(R.layout.line_bookinfo, that?.fbl, false)
|
||||||
that?.fbtinfo = that?.layoutInflater?.inflate(R.layout.line_text_info, that?.fbl, false)
|
if(that?.fbtinfo == null) that?.fbtinfo = that?.layoutInflater?.inflate(R.layout.line_text_info, that?.fbl, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setOverScale(){
|
private fun setOverScale(){
|
||||||
@@ -127,7 +125,13 @@ class BookHandler(private val th: WeakReference<BookFragment>, private val path:
|
|||||||
|
|
||||||
private fun setCover(){
|
private fun setCover(){
|
||||||
that?.apply {
|
that?.apply {
|
||||||
fbl.addView(fbibinfo)
|
try {
|
||||||
|
fbl.addView(fbibinfo)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
(fbibinfo!!.parent as LinearLayout).removeAllViews()
|
||||||
|
fbl.addView(fbibinfo)
|
||||||
|
}
|
||||||
val load = Glide.with(this).load(
|
val load = Glide.with(this).load(
|
||||||
GlideUrl(book?.results?.comic?.cover, CMApi.myGlideHeaders)
|
GlideUrl(book?.results?.comic?.cover, CMApi.myGlideHeaders)
|
||||||
).timeout(10000)
|
).timeout(10000)
|
||||||
@@ -281,7 +285,7 @@ class BookHandler(private val th: WeakReference<BookFragment>, private val path:
|
|||||||
val bundle = Bundle()
|
val bundle = Bundle()
|
||||||
bundle.putString("name", name)
|
bundle.putString("name", name)
|
||||||
bundle.putString("path", path)
|
bundle.putString("path", path)
|
||||||
that?.rootView?.let { Navigation.findNavController(it).navigate(nav, bundle) }
|
that?.apply { findNavController().navigate(nav, bundle) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class HistoryFragment : InfoCardLoader(R.layout.fragment_history, R.id.action_na
|
|||||||
override fun onLoadFinish() {
|
override fun onLoadFinish() {
|
||||||
super.onLoadFinish()
|
super.onLoadFinish()
|
||||||
MainActivity.mainWeakReference?.get()?.runOnUiThread {
|
MainActivity.mainWeakReference?.get()?.runOnUiThread {
|
||||||
mypl.visibility = View.GONE
|
if(ad?.exit == false) mypl.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class NewestFragment : InfoCardLoader(R.layout.fragment_newest, R.id.action_nav_
|
|||||||
override fun onLoadFinish() {
|
override fun onLoadFinish() {
|
||||||
super.onLoadFinish()
|
super.onLoadFinish()
|
||||||
mainWeakReference?.get()?.runOnUiThread {
|
mainWeakReference?.get()?.runOnUiThread {
|
||||||
mypl.visibility = View.GONE
|
if(ad?.exit == false) mypl.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class RankFragment : InfoCardLoader(R.layout.fragment_rank, R.id.action_nav_rank
|
|||||||
override fun onLoadFinish() {
|
override fun onLoadFinish() {
|
||||||
super.onLoadFinish()
|
super.onLoadFinish()
|
||||||
mainWeakReference?.get()?.runOnUiThread {
|
mainWeakReference?.get()?.runOnUiThread {
|
||||||
mypl.visibility = View.GONE
|
if(ad?.exit == false) mypl.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ class RankFragment : InfoCardLoader(R.layout.fragment_rank, R.id.action_nav_rank
|
|||||||
sortValue = value
|
sortValue = value
|
||||||
Thread{
|
Thread{
|
||||||
sleep(400)
|
sleep(400)
|
||||||
mh?.sendEmptyMessage(4)
|
if(ad?.exit == false) mh?.sendEmptyMessage(4)
|
||||||
}.start()
|
}.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,7 +16,7 @@ class RecFragment : InfoCardLoader(R.layout.fragment_recommend, R.id.action_nav_
|
|||||||
override fun onLoadFinish() {
|
override fun onLoadFinish() {
|
||||||
super.onLoadFinish()
|
super.onLoadFinish()
|
||||||
mainWeakReference?.get()?.runOnUiThread {
|
mainWeakReference?.get()?.runOnUiThread {
|
||||||
mypl.visibility = View.GONE
|
if(ad?.exit == false) mypl.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,7 @@ class SortFragment : InfoCardLoader(R.layout.fragment_sort, R.id.action_nav_sort
|
|||||||
filter = Gson().fromJson(it.inputStream().reader(), FilterStructure::class.java)
|
filter = Gson().fromJson(it.inputStream().reader(), FilterStructure::class.java)
|
||||||
if(ad?.exit == true) return@AutoDownloadThread
|
if(ad?.exit == true) return@AutoDownloadThread
|
||||||
mainWeakReference?.get()?.runOnUiThread{
|
mainWeakReference?.get()?.runOnUiThread{
|
||||||
setClasses()
|
if(ad?.exit == false) setClasses()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.start()
|
}.start()
|
||||||
@@ -50,7 +50,7 @@ class SortFragment : InfoCardLoader(R.layout.fragment_sort, R.id.action_nav_sort
|
|||||||
override fun onLoadFinish() {
|
override fun onLoadFinish() {
|
||||||
super.onLoadFinish()
|
super.onLoadFinish()
|
||||||
mainWeakReference?.get()?.runOnUiThread {
|
mainWeakReference?.get()?.runOnUiThread {
|
||||||
mypl.visibility = View.GONE
|
if(ad?.exit == false) mypl.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class TopicFragment : InfoCardLoader(R.layout.fragment_topic, R.id.action_nav_to
|
|||||||
topic?.apply {
|
topic?.apply {
|
||||||
if(ad?.exit == true) return@AutoDownloadThread
|
if(ad?.exit == true) return@AutoDownloadThread
|
||||||
mainWeakReference?.get()?.let {
|
mainWeakReference?.get()?.let {
|
||||||
it.runOnUiThread {
|
if(ad?.exit == false) it.runOnUiThread {
|
||||||
it.toolbar.title = results.title
|
it.toolbar.title = results.title
|
||||||
ftttime.text = results.datetime_created
|
ftttime.text = results.datetime_created
|
||||||
fttintro.text = results.intro
|
fttintro.text = results.intro
|
||||||
@@ -47,7 +47,7 @@ class TopicFragment : InfoCardLoader(R.layout.fragment_topic, R.id.action_nav_to
|
|||||||
override fun onLoadFinish() {
|
override fun onLoadFinish() {
|
||||||
super.onLoadFinish()
|
super.onLoadFinish()
|
||||||
mainWeakReference?.get()?.runOnUiThread {
|
mainWeakReference?.get()?.runOnUiThread {
|
||||||
mypl.visibility = View.GONE
|
if(ad?.exit == false) mypl.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -54,6 +54,7 @@ class ComicDlFragment: NoBackRefreshFragment(R.layout.fragment_dlcomic) {
|
|||||||
it.exit = true
|
it.exit = true
|
||||||
}
|
}
|
||||||
exit = true
|
exit = true
|
||||||
|
handler = null
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun start2load(volumes: Array<VolumeStructure>, isFromFile: Boolean = false, groupArray: Array<String>? =null){
|
private fun start2load(volumes: Array<VolumeStructure>, isFromFile: Boolean = false, groupArray: Array<String>? =null){
|
||||||
|
|||||||
@@ -3,19 +3,18 @@ package top.fumiama.copymanga.ui.download
|
|||||||
import android.app.AlertDialog
|
import android.app.AlertDialog
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Looper
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.navigation.Navigation
|
import androidx.navigation.fragment.findNavController
|
||||||
import kotlinx.android.synthetic.main.app_bar_main.*
|
import kotlinx.android.synthetic.main.app_bar_main.*
|
||||||
import kotlinx.android.synthetic.main.fragment_download.*
|
import kotlinx.android.synthetic.main.fragment_download.*
|
||||||
import top.fumiama.dmzj.copymanga.R
|
|
||||||
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference
|
||||||
import top.fumiama.copymanga.template.general.NoBackRefreshFragment
|
import top.fumiama.copymanga.template.general.NoBackRefreshFragment
|
||||||
import top.fumiama.copymanga.ui.comicdl.ComicDlFragment
|
import top.fumiama.copymanga.ui.comicdl.ComicDlFragment
|
||||||
import top.fumiama.copymanga.ui.vm.ViewMangaActivity
|
import top.fumiama.copymanga.ui.vm.ViewMangaActivity
|
||||||
|
import top.fumiama.dmzj.copymanga.R
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.regex.Pattern
|
import java.util.regex.Pattern
|
||||||
import java.util.zip.ZipInputStream
|
import java.util.zip.ZipInputStream
|
||||||
@@ -98,10 +97,8 @@ class DownloadFragment: NoBackRefreshFragment(R.layout.fragment_download) {
|
|||||||
bundle.putString("name", jsonFile.parentFile?.name?:"Null")
|
bundle.putString("name", jsonFile.parentFile?.name?:"Null")
|
||||||
ComicDlFragment.json = jsonFile.readText()
|
ComicDlFragment.json = jsonFile.readText()
|
||||||
Log.d("MyDF", "root view: $rootView")
|
Log.d("MyDF", "root view: $rootView")
|
||||||
rootView?.let {
|
Log.d("MyDF", "action_nav_download_to_nav_group")
|
||||||
Log.d("MyDF", "action_nav_download_to_nav_group")
|
findNavController().navigate(R.id.action_nav_download_to_nav_group, bundle)
|
||||||
Navigation.findNavController(it).navigate(R.id.action_nav_download_to_nav_group, bundle)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun callSelf(title: String){
|
private fun callSelf(title: String){
|
||||||
@@ -109,10 +106,8 @@ class DownloadFragment: NoBackRefreshFragment(R.layout.fragment_download) {
|
|||||||
bundle.putString("title", title)
|
bundle.putString("title", title)
|
||||||
Log.d("MyDF", "Call self to $title")
|
Log.d("MyDF", "Call self to $title")
|
||||||
Log.d("MyDF", "root view: $rootView")
|
Log.d("MyDF", "root view: $rootView")
|
||||||
rootView?.let {
|
Log.d("MyDF", "action_nav_download_self")
|
||||||
Log.d("MyDF", "action_nav_download_self")
|
findNavController().navigate(R.id.action_nav_download_self, bundle)
|
||||||
Navigation.findNavController(it).navigate(R.id.action_nav_download_self, bundle)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun findNullWebpZipFileInDir(f: File){
|
private fun findNullWebpZipFileInDir(f: File){
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import android.view.ViewGroup
|
|||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import android.widget.ImageButton
|
import android.widget.ImageButton
|
||||||
import androidx.appcompat.view.ContextThemeWrapper
|
import androidx.appcompat.view.ContextThemeWrapper
|
||||||
import androidx.navigation.Navigation
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
@@ -20,7 +20,6 @@ import com.google.gson.Gson
|
|||||||
import com.lapism.search.internal.SearchLayout
|
import com.lapism.search.internal.SearchLayout
|
||||||
import kotlinx.android.synthetic.main.card_book_plain.view.*
|
import kotlinx.android.synthetic.main.card_book_plain.view.*
|
||||||
import kotlinx.android.synthetic.main.fragment_home.*
|
import kotlinx.android.synthetic.main.fragment_home.*
|
||||||
import kotlinx.android.synthetic.main.line_text_info.view.*
|
|
||||||
import kotlinx.android.synthetic.main.line_word.view.*
|
import kotlinx.android.synthetic.main.line_word.view.*
|
||||||
import kotlinx.android.synthetic.main.viewpage_horizonal.view.*
|
import kotlinx.android.synthetic.main.viewpage_horizonal.view.*
|
||||||
import top.fumiama.copymanga.MainActivity.Companion.ime
|
import top.fumiama.copymanga.MainActivity.Companion.ime
|
||||||
@@ -160,7 +159,7 @@ class HomeFragment : NoBackRefreshFragment(R.layout.fragment_home) {
|
|||||||
holder.itemView.vpc.setOnClickListener {
|
holder.itemView.vpc.setOnClickListener {
|
||||||
val bundle = Bundle()
|
val bundle = Bundle()
|
||||||
homeHandler.index?.results?.banners?.get(position)?.comic?.path_word?.let { it1 -> bundle.putString("path", it1) }
|
homeHandler.index?.results?.banners?.get(position)?.comic?.path_word?.let { it1 -> bundle.putString("path", it1) }
|
||||||
rootView?.let { it1 -> Navigation.findNavController(it1).navigate(R.id.action_nav_home_to_nav_book, bundle) }
|
findNavController().navigate(R.id.action_nav_home_to_nav_book, bundle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,7 +198,7 @@ class HomeFragment : NoBackRefreshFragment(R.layout.fragment_home) {
|
|||||||
holder.itemView.lwc.setOnClickListener {
|
holder.itemView.lwc.setOnClickListener {
|
||||||
val bundle = Bundle()
|
val bundle = Bundle()
|
||||||
bundle.putString("path", path_word)
|
bundle.putString("path", path_word)
|
||||||
rootView?.let { r -> Navigation.findNavController(r).navigate(R.id.action_nav_home_to_nav_book, bundle) }
|
findNavController().navigate(R.id.action_nav_home_to_nav_book, bundle)
|
||||||
}
|
}
|
||||||
holder.itemView.lwc.layoutParams.height = fhs.width / 4
|
holder.itemView.lwc.layoutParams.height = fhs.width / 4
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ class HomeHandler(private val that: WeakReference<HomeFragment>) : AutoDownloadH
|
|||||||
comics += rec.comic
|
comics += rec.comic
|
||||||
}
|
}
|
||||||
if(comics.size == 3) allocateLine(homeF?.getString(R.string.manga_rec)?:"", R.drawable.img_master_work, comics) {
|
if(comics.size == 3) allocateLine(homeF?.getString(R.string.manga_rec)?:"", R.drawable.img_master_work, comics) {
|
||||||
homeF?.rootView?.apply { Navigation.findNavController(this).navigate(R.id.action_nav_home_to_nav_recommend) }
|
homeF?.findNavController()?.navigate(R.id.action_nav_home_to_nav_recommend)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -169,7 +169,7 @@ class HomeHandler(private val that: WeakReference<HomeFragment>) : AutoDownloadH
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(comics.size == 9) allocateLine(homeF?.getString(R.string.rank_list)?:"", R.drawable.img_novel_bill, comics) {
|
if(comics.size == 9) allocateLine(homeF?.getString(R.string.rank_list)?:"", R.drawable.img_novel_bill, comics) {
|
||||||
that.get()?.findNavController()?.navigate(R.id.nav_rank)
|
homeF?.findNavController()?.navigate(R.id.nav_rank)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,7 +192,7 @@ class HomeHandler(private val that: WeakReference<HomeFragment>) : AutoDownloadH
|
|||||||
comics += rec.comic
|
comics += rec.comic
|
||||||
}
|
}
|
||||||
if(comics.size == 9) allocateLine(homeF?.getString(R.string.new_list)?:"", R.drawable.img_latest_pub, comics) {
|
if(comics.size == 9) allocateLine(homeF?.getString(R.string.new_list)?:"", R.drawable.img_latest_pub, comics) {
|
||||||
homeF?.rootView?.apply { Navigation.findNavController(this).navigate(R.id.action_nav_home_to_nav_newest) }
|
homeF?.findNavController()?.navigate(R.id.action_nav_home_to_nav_newest)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -205,7 +205,7 @@ class HomeHandler(private val that: WeakReference<HomeFragment>) : AutoDownloadH
|
|||||||
comics += rec
|
comics += rec
|
||||||
}
|
}
|
||||||
if(comics.size == 6) allocateLine(homeF?.getString(R.string.complete)?:"", R.drawable.img_novel_eye, comics, true) {
|
if(comics.size == 6) allocateLine(homeF?.getString(R.string.complete)?:"", R.drawable.img_novel_eye, comics, true) {
|
||||||
homeF?.rootView?.apply { Navigation.findNavController(this).navigate(R.id.action_nav_home_to_nav_finish) }
|
homeF?.findNavController()?.navigate(R.id.action_nav_home_to_nav_finish)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -290,29 +290,6 @@ class HomeHandler(private val that: WeakReference<HomeFragment>) : AutoDownloadH
|
|||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
/*private fun setLines(v: View, position: Int) {
|
|
||||||
lines?.let {
|
|
||||||
v.rttitle.text = it[position].title
|
|
||||||
v.ir.setImageResource(
|
|
||||||
when (position) {
|
|
||||||
1 -> R.drawable.img_novel_refresh
|
|
||||||
2 -> R.drawable.img_novel_more
|
|
||||||
3 -> R.drawable.img_novel_play
|
|
||||||
4 -> R.drawable.img_novel_eye
|
|
||||||
else -> R.drawable.img_novel_refresh
|
|
||||||
}
|
|
||||||
)
|
|
||||||
Thread{this.obtainMessage(4, position, 0, v).sendToTarget()}.start() //scanCards
|
|
||||||
setLineHeight(v, if (position == 4) 2 else 1)
|
|
||||||
if(position == 4) {
|
|
||||||
Thread{ this.obtainMessage(-1, false).sendToTarget() }.start() //closeLoad
|
|
||||||
}
|
|
||||||
if(position == 1) v.setOnClickListener {
|
|
||||||
Navigation.findNavController(it).navigate(R.id.action_nav_home_to_nav_latest)
|
|
||||||
}else v.rimore.visibility = View.GONE
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
private fun scanCards(v: View, comics: Array<ComicStructure>, finish: Boolean, isTopic: Boolean){
|
private fun scanCards(v: View, comics: Array<ComicStructure>, finish: Boolean, isTopic: Boolean){
|
||||||
var id = v.rc1.id
|
var id = v.rc1.id
|
||||||
var card = v.findViewById<ConstraintLayout>(id)
|
var card = v.findViewById<ConstraintLayout>(id)
|
||||||
@@ -340,7 +317,7 @@ class HomeHandler(private val that: WeakReference<HomeFragment>) : AutoDownloadH
|
|||||||
cv.setOnClickListener {
|
cv.setOnClickListener {
|
||||||
val bundle = Bundle()
|
val bundle = Bundle()
|
||||||
bundle.putString("path", pw)
|
bundle.putString("path", pw)
|
||||||
homeF?.rootView?.let { Navigation.findNavController(it).navigate(if(isTopic) R.id.action_nav_home_to_nav_topic else R.id.action_nav_home_to_nav_book, bundle) }
|
homeF?.findNavController()?.navigate(if(isTopic) R.id.action_nav_home_to_nav_topic else R.id.action_nav_home_to_nav_book, bundle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user