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 @@ + + +