From 446575916481798979c52883cf73af1d67bf5046 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?=
<41315874+fumiama@users.noreply.github.com>
Date: Wed, 13 Mar 2024 17:14:52 +0900
Subject: [PATCH] =?UTF-8?q?v2.2.4=20=E6=96=B0=E5=A2=9E=201.=20=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E5=90=AF=E5=8A=A8=E6=97=B6=E6=98=BE=E7=A4=BA=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E9=80=89=E9=A1=B9=20(fix=20#57)=20=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=201.=20=E5=8A=A0=E5=85=A5=E4=B9=A6=E6=9E=B6=E5=90=8E=E7=AB=8B?=
=?UTF-8?q?=E5=8D=B3=E5=8F=96=E6=B6=88=E5=88=99=E5=A4=B1=E8=B4=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/build.gradle | 4 +-
.../top/fumiama/copymanga/MainActivity.kt | 52 ++++++++++++++-----
.../fumiama/copymanga/ui/book/BookFragment.kt | 20 ++++---
app/src/main/res/values/arrays.xml | 20 ++++++-
app/src/main/res/values/strings.xml | 6 ++-
app/src/main/res/xml/pref_setting.xml | 14 +++++
6 files changed, 90 insertions(+), 26 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index ad12ce8..225d9d1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
applicationId 'top.fumiama.copymanga'
minSdkVersion 23
targetSdkVersion 34
- versionCode 51
- versionName '2.2.3'
+ versionCode 52
+ versionName '2.2.4'
resourceConfigurations += ['zh', 'zh-rCN']
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt
index d584720..033dfba 100644
--- a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt
+++ b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt
@@ -34,6 +34,7 @@ import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.navigateUp
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
+import androidx.preference.PreferenceManager
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.input.input
import com.bumptech.glide.Glide
@@ -60,7 +61,6 @@ import top.fumiama.dmzj.copymanga.BuildConfig
import top.fumiama.dmzj.copymanga.R
import java.io.File
import java.io.FileInputStream
-import java.lang.Thread.sleep
import java.lang.ref.WeakReference
class MainActivity : AppCompatActivity() {
@@ -98,6 +98,22 @@ class MainActivity : AppCompatActivity() {
)
setupActionBarWithNavController(navController!!, appBarConfiguration)
nav_view.setupWithNavController(navController!!)
+ PreferenceManager.getDefaultSharedPreferences(this)?.apply {
+ if (contains("settings_cat_general_sb_startup_menu")) getString("settings_cat_general_sb_startup_menu", "0")?.toInt()?.let {
+ if (it > 0) {
+ Log.d("MyMain", "nav 2 dest $it")
+ navController!!.navigate(listOf(
+ R.id.nav_home,
+ R.id.nav_sort,
+ R.id.nav_rank,
+ R.id.nav_sub,
+ R.id.nav_history,
+ R.id.nav_new_download,
+ R.id.nav_settings
+ )[it])
+ }
+ }
+ }
headPic = File(getExternalFilesDir(""), "headPic")
drawer_layout.addDrawerListener(object : DrawerLayout.DrawerListener {
@@ -109,14 +125,18 @@ class MainActivity : AppCompatActivity() {
override fun onDrawerOpened(drawerView: View) {
Log.d("MyMain", "onDrawerOpened")
isDrawerClosed = false
- DownloadFragment.currentDir = getExternalFilesDir("")
- refreshUserInfo()
+ lifecycleScope.launch {
+ withContext(Dispatchers.IO) {
+ DownloadFragment.currentDir = getExternalFilesDir("")
+ refreshUserInfo()
+ }
+ }
}
override fun onDrawerSlide(drawerView: View, slideOffset: Float) {}
override fun onDrawerStateChanged(newState: Int) {}
})
- checkUpdate(false)
+ goCheckUpdate(false)
ime = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
@@ -204,17 +224,21 @@ class MainActivity : AppCompatActivity() {
}
}
- fun refreshUserInfo() {
+ suspend fun refreshUserInfo() = withContext(Dispatchers.IO) {
getPreferences(MODE_PRIVATE)?.apply {
val name = getString("nickname", getString("username", ""))
val avatar = getString("avatar", "")
- if(name != "") navttitle.text = name
- else navttitle.setText(R.string.noLogin)
- if(avatar != "")
- Glide.with(this@MainActivity).load(avatar)
- .apply(RequestOptions.bitmapTransform(CircleCrop()))
- .into(navhicon)
- else navhicon.setImageResource(R.mipmap.ic_launcher)
+ navttitle.apply { post {
+ if(name != "") text = name
+ else setText(R.string.noLogin)
+ } }
+ navhicon.apply ic@ { post {
+ if(avatar != "")
+ Glide.with(this@MainActivity).load(avatar)
+ .apply(RequestOptions.bitmapTransform(CircleCrop()))
+ .into(this@ic)
+ else setImageResource(R.mipmap.ic_launcher)
+ } }
}
}
@@ -331,7 +355,7 @@ class MainActivity : AppCompatActivity() {
.getIntent(this))
}
- private fun checkUpdate(ignoreSkip: Boolean) {
+ private fun goCheckUpdate(ignoreSkip: Boolean) {
lifecycleScope.launch {
Update.checkUpdate(this@MainActivity, toolsBox, ignoreSkip)
}
@@ -344,7 +368,7 @@ class MainActivity : AppCompatActivity() {
dl.setIcon(R.mipmap.ic_launcher)
dl.setPositiveButton(android.R.string.ok) { _, _ -> }
dl.setNeutralButton(R.string.check_update) {_, _ ->
- checkUpdate(true)
+ goCheckUpdate(true)
}
dl.show()
}
diff --git a/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt
index 993f1cf..0c90f57 100644
--- a/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt
+++ b/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt
@@ -137,18 +137,21 @@ class BookFragment: NoBackRefreshFragment(R.layout.fragment_book) {
}
}
+ private suspend fun queryCollect() {
+ MainActivity.shelf?.query(book?.path!!)?.let { b ->
+ mBookHandler?.collect = b.results?.collect?:-2
+ Log.d("MyBF", "get collect of ${book?.path} = ${mBookHandler?.collect}")
+ tic.text = b.results?.browse?.chapter_name?.let { name ->
+ getString(R.string.text_format_cloud_read_to).format(name)
+ }
+ }
+ }
+
@SuppressLint("SetTextI18n")
fun setAddToShelf() {
if(mBookHandler?.chapterNames?.isNotEmpty() != true) return
lifecycleScope.launch {
- MainActivity.shelf?.query(book?.path!!)?.let { b ->
- mBookHandler?.collect = b.results?.collect?:-2
- Log.d("MyBF", "get collect of ${book?.path} = ${mBookHandler?.collect}")
- tic.text = b.results?.browse?.chapter_name?.let { name ->
- getString(R.string.text_format_cloud_read_to).format(name)
- }
- }
-
+ queryCollect()
mBookHandler?.collect?.let { collect ->
if (collect > 0) {
this@BookFragment.lbbsub.setText(R.string.button_sub_subscribed)
@@ -171,6 +174,7 @@ class BookFragment: NoBackRefreshFragment(R.layout.fragment_book) {
val re = MainActivity.shelf?.add(uuid)
Toast.makeText(context, re, Toast.LENGTH_SHORT).show()
if (re == "修改成功") {
+ queryCollect()
this@BookFragment.lbbsub.setText(R.string.button_sub_subscribed)
}
}
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index d9356ff..9bae08e 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -20,4 +20,22 @@
- 1200
- 800
-
\ No newline at end of file
+
+ - @string/menu_home
+ - @string/menu_sort
+ - @string/menu_rank
+ - @string/menu_sub
+ - @string/menu_history
+ - @string/menu_download
+ - @string/action_settings
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index aa0ac99..78c6523 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,7 +2,7 @@
]>
-
+
拷贝漫画
设定
@@ -130,6 +130,10 @@
作者
标签
+ 通用
+ 启动时显示
+ 默认主页
+
网络
图片分辨率
默认1500
diff --git a/app/src/main/res/xml/pref_setting.xml b/app/src/main/res/xml/pref_setting.xml
index 1336f83..cdf4f16 100644
--- a/app/src/main/res/xml/pref_setting.xml
+++ b/app/src/main/res/xml/pref_setting.xml
@@ -1,6 +1,20 @@
+
+
+