From 7e26a158e7c86a19b318eb4bbb639a3750354210 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Sat, 30 Aug 2025 01:36:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=BA=9B=E8=9C=9C?= =?UTF-8?q?=E6=B1=81=E5=B0=8F=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + .../kazusa/ui/book/info/BookInfoActivity.kt | 21 +++++-- .../kazusa/ui/book/manga/ReadMangaActivity.kt | 16 ++++- .../kazusa/ui/book/read/ReadBookActivity.kt | 15 +++++ .../io/legato/kazusa/ui/book/read/ReadMenu.kt | 18 +++--- .../bookshelf/BookshelfConfigBottomSheet.kt | 6 +- .../ui/main/bookshelf/books/BooksFragment.kt | 60 +++++++++++++++---- .../bookshelf/books/BookshelfFragment2.kt | 56 ++++++++++++++--- .../books/styleDefalut/BaseBooksAdapter.kt | 5 +- .../books/styleDefalut/BooksAdapterGrid.kt | 6 +- .../books/styleDefalut/BooksAdapterList.kt | 5 +- .../books/styleFold/BaseBooksAdapter.kt | 5 +- .../books/styleFold/BooksAdapterGrid.kt | 8 +-- .../books/styleFold/BooksAdapterList.kt | 8 +-- .../kazusa/ui/main/explore/ExploreAdapter.kt | 6 -- .../kazusa/ui/main/explore/ExploreFragment.kt | 11 +--- .../main/res/layout/activity_book_read.xml | 1 + app/src/main/res/layout/activity_manga.xml | 1 + app/src/main/res/values-night/themes.xml | 2 + app/src/main/res/values/themes.xml | 2 + 20 files changed, 186 insertions(+), 67 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e6b190ab9..0236a8ffc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -29,6 +29,7 @@ android:networkSecurityConfig="@xml/network_security_config" android:requestLegacyExternalStorage="true" android:enableOnBackInvokedCallback="true" + android:hardwareAccelerated="true" android:supportsRtl="true" android:theme="@style/Base.AppTheme" tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute"> diff --git a/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt b/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt index dc3971b6b..c744616d5 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt @@ -2,6 +2,7 @@ package io.legato.kazusa.ui.book.info import android.annotation.SuppressLint import android.content.Intent +import android.graphics.Color import android.graphics.RenderEffect import android.graphics.Shader import android.net.Uri @@ -15,6 +16,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.viewModels import androidx.core.content.ContextCompat import androidx.lifecycle.lifecycleScope +import com.google.android.material.transition.platform.MaterialContainerTransform import io.legato.kazusa.R import io.legato.kazusa.base.VMBaseActivity import io.legato.kazusa.constant.BookType @@ -151,14 +153,23 @@ class BookInfoActivity : @SuppressLint("PrivateResource") override fun onCreate(savedInstanceState: Bundle?) { + window.sharedElementEnterTransition = MaterialContainerTransform().apply { + addTarget(binding.ivCover) + duration = 500 + scrimColor = Color.TRANSPARENT + fadeMode = MaterialContainerTransform.FADE_MODE_THROUGH + } + window.sharedElementReturnTransition = MaterialContainerTransform().apply { + addTarget(binding.ivCover) + duration = 500 + scrimColor = Color.TRANSPARENT + fadeMode = MaterialContainerTransform.FADE_MODE_THROUGH + } + window.sharedElementsUseOverlay = false super.onCreate(savedInstanceState) - + binding.ivCover.transitionName = intent.getStringExtra("transitionName") setSupportActionBar(binding.topBar) binding.llRead?.applyNavigationBarMargin() -// binding.refreshLayout?.setColorSchemeColors(accentColor) -// binding.llInfo.setBackgroundColor(backgroundColor) -// binding.flAction.setBackgroundColor(bottomBackground) - //binding.flAction.applyNavigationBarPadding() binding.btnShelf.text = getString(R.string.remove_from_bookshelf) binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading)) diff --git a/app/src/main/java/io/legato/kazusa/ui/book/manga/ReadMangaActivity.kt b/app/src/main/java/io/legato/kazusa/ui/book/manga/ReadMangaActivity.kt index f6901a0cf..923007385 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/manga/ReadMangaActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/manga/ReadMangaActivity.kt @@ -2,6 +2,7 @@ package io.legato.kazusa.ui.book.manga import android.annotation.SuppressLint import android.content.Intent +import android.graphics.Color import android.os.Build import android.os.Bundle import android.view.KeyEvent @@ -21,6 +22,7 @@ import com.bumptech.glide.Glide import com.bumptech.glide.integration.recyclerview.RecyclerViewPreloader import com.bumptech.glide.request.target.Target.SIZE_ORIGINAL import com.bumptech.glide.util.FixedPreloadSizeProvider +import com.google.android.material.transition.platform.MaterialContainerTransform import io.legato.kazusa.BuildConfig import io.legato.kazusa.R import io.legato.kazusa.base.VMBaseActivity @@ -158,9 +160,21 @@ class ReadMangaActivity : VMBaseActivity() - savedList.forEach { (id, enabled) -> - if (enabled) allButtons[id]?.let { result.add(it) } - } - - getAllButtons().forEach { btn -> - if (savedList.none { it.first == btn.id }) { - result.add(btn) + if (savedList.isNotEmpty()) { + savedList.forEach { (id, enabled) -> + if (enabled) allButtons[id]?.let { result.add(it) } } + + getAllButtons().forEach { btn -> + if (savedList.none { it.first == btn.id }) { + result.add(btn) + } + } + } else { + result.addAll(getAllButtons().take(5)) } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/BookshelfConfigBottomSheet.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/BookshelfConfigBottomSheet.kt index c8ea23d73..682f87ef8 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/BookshelfConfigBottomSheet.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/BookshelfConfigBottomSheet.kt @@ -56,7 +56,7 @@ class BookshelfConfigBottomSheet : BaseBottomSheetDialogFragment(R.layout.dialog text = label isCheckable = true isClickable = true - id = View.generateViewId() + id = index } chipGroupSort.addView(chip) if (index == AppConfig.bookshelfSort) { @@ -113,8 +113,8 @@ class BookshelfConfigBottomSheet : BaseBottomSheetDialogFragment(R.layout.dialog postEvent(EventBus.BOOKSHELF_REFRESH, "") } - if (bookshelfSort != chipGroupSort.indexOfChild(chipGroupSort.findViewById(chipGroupSort.checkedChipId))) { - AppConfig.bookshelfSort = chipGroupSort.indexOfChild(chipGroupSort.findViewById(chipGroupSort.checkedChipId)) + if (bookshelfSort != chipGroupSort.checkedChipId) { + AppConfig.bookshelfSort = chipGroupSort.checkedChipId (requireParentFragment() as? BaseBookshelfFragment)?.upSort() } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BooksFragment.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BooksFragment.kt index 5bd7eb6ce..d966344ab 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BooksFragment.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BooksFragment.kt @@ -1,9 +1,13 @@ package io.legato.kazusa.ui.main.bookshelf.books +//import io.legado.app.lib.theme.accentColor +//import io.legado.app.lib.theme.primaryColor import android.annotation.SuppressLint +import android.content.Intent import android.os.Bundle import android.view.View import android.view.ViewConfiguration +import androidx.core.app.ActivityOptionsCompat import androidx.core.view.isGone import androidx.fragment.app.activityViewModels import androidx.lifecycle.Lifecycle @@ -22,10 +26,13 @@ import io.legato.kazusa.data.appDb import io.legato.kazusa.data.entities.Book import io.legato.kazusa.data.entities.BookGroup import io.legato.kazusa.databinding.FragmentBooksBinding +import io.legato.kazusa.help.book.isAudio +import io.legato.kazusa.help.book.isImage import io.legato.kazusa.help.config.AppConfig -//import io.legado.app.lib.theme.accentColor -//import io.legado.app.lib.theme.primaryColor +import io.legato.kazusa.ui.book.audio.AudioPlayActivity import io.legato.kazusa.ui.book.info.BookInfoActivity +import io.legato.kazusa.ui.book.manga.ReadMangaActivity +import io.legato.kazusa.ui.book.read.ReadBookActivity import io.legato.kazusa.ui.main.MainViewModel import io.legato.kazusa.ui.main.bookshelf.books.styleDefalut.BaseBooksAdapter import io.legato.kazusa.ui.main.bookshelf.books.styleDefalut.BooksAdapterGrid @@ -34,8 +41,6 @@ import io.legato.kazusa.utils.bookshelfLayout import io.legato.kazusa.utils.cnCompare import io.legato.kazusa.utils.flowWithLifecycleAndDatabaseChangeFirst import io.legato.kazusa.utils.observeEvent -import io.legato.kazusa.utils.startActivity -import io.legato.kazusa.utils.startActivityForBook import io.legato.kazusa.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -150,11 +155,8 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books), } fun upBookSort() { -// binding.root.post { -// arguments?.putInt("bookSort", sort) -// bookSort = sort - upRecyclerData() -// } + bookSort = AppConfig.bookshelfSort + upRecyclerData() } fun setEnableRefresh(enable: Boolean) { @@ -255,17 +257,49 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books), binding.rvBookshelf.adapter = null } - override fun open(book: Book) { - startActivityForBook(book) + override fun open(book: Book, sharedView: View) { + val transitionName = "book_${book.bookUrl}" + sharedView.transitionName = transitionName + + val cls = when { + book.isAudio -> AudioPlayActivity::class.java + book.isImage && AppConfig.showMangaUi -> ReadMangaActivity::class.java + else -> ReadBookActivity::class.java + } + + val intent = Intent(requireContext(), cls).apply { + putExtra("bookUrl", book.bookUrl) + putExtra("transitionName", transitionName) + } + + val options = ActivityOptionsCompat.makeSceneTransitionAnimation( + requireActivity(), + sharedView, + transitionName + ) + + startActivity(intent, options.toBundle()) } - override fun openBookInfo(book: Book) { - startActivity { + override fun openBookInfo(book: Book, sharedView: View) { + val intent = Intent(requireContext(), BookInfoActivity::class.java).apply { putExtra("name", book.name) putExtra("author", book.author) + putExtra("transitionName", "book_${book.bookUrl}") // 给共享元素唯一标识 } + + sharedView.transitionName = "book_${book.bookUrl}" + + val options = ActivityOptionsCompat.makeSceneTransitionAnimation( + requireActivity(), + sharedView, + sharedView.transitionName + ) + + startActivity(intent, options.toBundle()) } + override fun isUpdate(bookUrl: String): Boolean { return activityViewModel.isUpdate(bookUrl) } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BookshelfFragment2.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BookshelfFragment2.kt index e706d1e8a..1d12a3cde 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BookshelfFragment2.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/BookshelfFragment2.kt @@ -1,9 +1,11 @@ package io.legato.kazusa.ui.main.bookshelf.books import android.annotation.SuppressLint +import android.content.Intent import android.os.Bundle import android.view.View import androidx.appcompat.widget.SearchView +import androidx.core.app.ActivityOptionsCompat import androidx.core.view.isGone import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope @@ -19,9 +21,14 @@ import io.legato.kazusa.data.appDb import io.legato.kazusa.data.entities.Book import io.legato.kazusa.data.entities.BookGroup import io.legato.kazusa.databinding.FragmentBookshelf2Binding +import io.legato.kazusa.help.book.isAudio +import io.legato.kazusa.help.book.isImage import io.legato.kazusa.help.config.AppConfig +import io.legato.kazusa.ui.book.audio.AudioPlayActivity import io.legato.kazusa.ui.book.group.GroupEditDialog import io.legato.kazusa.ui.book.info.BookInfoActivity +import io.legato.kazusa.ui.book.manga.ReadMangaActivity +import io.legato.kazusa.ui.book.read.ReadBookActivity import io.legato.kazusa.ui.book.search.SearchActivity import io.legato.kazusa.ui.main.bookshelf.BaseBookshelfFragment import io.legato.kazusa.ui.main.bookshelf.books.styleFold.BaseBooksAdapter @@ -32,8 +39,6 @@ import io.legato.kazusa.utils.cnCompare import io.legato.kazusa.utils.flowWithLifecycleAndDatabaseChangeFirst import io.legato.kazusa.utils.observeEvent import io.legato.kazusa.utils.showDialogFragment -import io.legato.kazusa.utils.startActivity -import io.legato.kazusa.utils.startActivityForBook import io.legato.kazusa.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -249,9 +254,31 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2) } } - override fun onItemClick(item: Any) { + override fun onItemClick(item: Any, sharedView: View) { when (item) { - is Book -> startActivityForBook(item) + is Book -> { + val transitionName = "book_${item.bookUrl}" + sharedView.transitionName = transitionName + + val cls = when { + item.isAudio -> AudioPlayActivity::class.java + item.isImage && AppConfig.showMangaUi -> ReadMangaActivity::class.java + else -> ReadBookActivity::class.java + } + + val intent = Intent(requireContext(), cls).apply { + putExtra("bookUrl", item.bookUrl) + putExtra("transitionName", transitionName) + } + + val options = ActivityOptionsCompat.makeSceneTransitionAnimation( + requireActivity(), + sharedView, + transitionName + ) + + startActivity(intent, options.toBundle()) + } is BookGroup -> { groupId = item.groupId @@ -260,11 +287,24 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2) } } - override fun onItemLongClick(item: Any) { + override fun onItemLongClick(item: Any, sharedView: View) { when (item) { - is Book -> startActivity { - putExtra("name", item.name) - putExtra("author", item.author) + is Book -> { + val intent = Intent(requireContext(), BookInfoActivity::class.java).apply { + putExtra("name", item.name) + putExtra("author", item.author) + putExtra("transitionName", "book_${item.bookUrl}") // 给共享元素唯一标识 + } + + sharedView.transitionName = "book_${item.bookUrl}" + + val options = ActivityOptionsCompat.makeSceneTransitionAnimation( + requireActivity(), + sharedView, + sharedView.transitionName + ) + + startActivity(intent, options.toBundle()) } is BookGroup -> showDialogFragment(GroupEditDialog(item)) diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt index e54385713..8870f2c39 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt @@ -1,6 +1,7 @@ package io.legato.kazusa.ui.main.bookshelf.books.styleDefalut import android.content.Context +import android.view.View import androidx.core.os.bundleOf import androidx.recyclerview.widget.DiffUtil import androidx.viewbinding.ViewBinding @@ -86,8 +87,8 @@ abstract class BaseBooksAdapter(context: Context) : } interface CallBack { - fun open(book: Book) - fun openBookInfo(book: Book) + fun open(book: Book, sharedView: View) + fun openBookInfo(book: Book, sharedView: View) fun isUpdate(bookUrl: String): Boolean } } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt index b2a134344..80a6f5811 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt @@ -23,6 +23,7 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) : item: Book, payloads: MutableList ) = binding.run { + binding.ivCover.transitionName = "book_${item.bookUrl}" if (payloads.isEmpty()) { tvName.text = item.name ivCover.load(item.getDisplayCover(), item.name, item.author, false, item.origin) @@ -62,15 +63,16 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) : } override fun registerListener(holder: ItemViewHolder, binding: ItemBookshelfGridBinding) { + binding.cvContent.setOnClickListener { getItem(holder.layoutPosition)?.let { - callBack.open(it) + callBack.open(it, binding.ivCover) } } binding.cvContent.setOnLongClickListener { getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it) + callBack.openBookInfo(it, binding.ivCover) } true } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt index 73ab20d3d..552d679be 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt @@ -31,6 +31,7 @@ class BooksAdapterList( item: Book, payloads: MutableList ) = binding.run { + binding.ivCover.transitionName = "book_${item.bookUrl}" if (payloads.isEmpty()) { tvName.text = item.name tvAuthor.text = item.author @@ -97,13 +98,13 @@ class BooksAdapterList( holder.itemView.apply { binding.cvContent.setOnClickListener { getItem(holder.layoutPosition)?.let { - callBack.open(it) + callBack.open(it, binding.ivCover) } } binding.cvContent.onLongClick { getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it) + callBack.openBookInfo(it, binding.ivCover) } } } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BaseBooksAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BaseBooksAdapter.kt index 522e55fc6..d9acb4c94 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BaseBooksAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BaseBooksAdapter.kt @@ -2,6 +2,7 @@ package io.legato.kazusa.ui.main.bookshelf.books.styleFold import android.content.Context import android.view.LayoutInflater +import android.view.View import androidx.core.os.bundleOf import androidx.recyclerview.widget.AsyncListDiffer import androidx.recyclerview.widget.DiffUtil @@ -138,8 +139,8 @@ abstract class BaseBooksAdapter( interface CallBack { - fun onItemClick(item: Any) - fun onItemLongClick(item: Any) + fun onItemClick(item: Any, sharedView: View) + fun onItemLongClick(item: Any, sharedView: View) fun isUpdate(bookUrl: String): Boolean fun getItems(): List } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterGrid.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterGrid.kt index 076633d20..e09b4a363 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterGrid.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterGrid.kt @@ -92,10 +92,10 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : fun registerListener(item: Any) { binding.cvContent.setOnClickListener { - callBack.onItemClick(item) + callBack.onItemClick(item, binding.ivCover) } binding.cvContent.onLongClick { - callBack.onItemLongClick(item) + callBack.onItemLongClick(item, binding.ivCover) } } @@ -149,10 +149,10 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : fun registerListener(item: Any) { binding.cvContent.setOnClickListener { - callBack.onItemClick(item) + callBack.onItemClick(item, binding.ivCover) } binding.cvContent.onLongClick { - callBack.onItemLongClick(item) + callBack.onItemLongClick(item, binding.ivCover) } } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt index 7d2942406..14fb24623 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt @@ -113,10 +113,10 @@ class BooksAdapterList(context: Context, callBack: CallBack) : fun registerListener(item: Any) { binding.cvContent.setOnClickListener { - callBack.onItemClick(item) + callBack.onItemClick(item, binding.ivCover) } binding.cvContent.onLongClick { - callBack.onItemLongClick(item) + callBack.onItemLongClick(item, binding.ivCover) } } @@ -166,10 +166,10 @@ class BooksAdapterList(context: Context, callBack: CallBack) : fun registerListener(item: Any) { binding.cvContent.setOnClickListener { - callBack.onItemClick(item) + callBack.onItemClick(item, binding.ivCover) } binding.cvContent.onLongClick { - callBack.onItemLongClick(item) + callBack.onItemLongClick(item, binding.ivCover) } } diff --git a/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreAdapter.kt index e73c32df6..1432e00da 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreAdapter.kt @@ -65,12 +65,6 @@ class ExploreAdapter(context: Context, val callBack: CallBack) : item.exploreKinds() }.onSuccess { kindList -> upKindList(flexbox, item.bookSourceUrl, kindList) - }.onFinally { - - if (scrollTo >= 0) { - callBack.scrollTo(scrollTo) - scrollTo = -1 - } } } else { ivStatus.icon = ContextCompat.getDrawable(context, R.drawable.ic_arrow_right) diff --git a/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreFragment.kt b/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreFragment.kt index 5e2d9a6b8..1a58e921f 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreFragment.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreFragment.kt @@ -1,16 +1,15 @@ package io.legato.kazusa.ui.main.explore +//import io.legado.app.lib.theme.primaryColor +//import io.legado.app.lib.theme.primaryTextColor import android.os.Bundle import android.view.Menu import android.view.MenuItem import android.view.SubMenu import android.view.View import android.view.inputmethod.EditorInfo -import androidx.core.view.ViewCompat -import androidx.core.view.WindowInsetsCompat import androidx.core.view.isGone import androidx.core.view.isVisible -import androidx.core.view.updatePadding import androidx.core.widget.doAfterTextChanged import androidx.fragment.app.viewModels import androidx.lifecycle.Lifecycle @@ -29,8 +28,6 @@ import io.legato.kazusa.data.entities.BookSourcePart import io.legato.kazusa.databinding.FragmentExploreBinding import io.legato.kazusa.help.config.AppConfig import io.legato.kazusa.lib.dialogs.alert -//import io.legado.app.lib.theme.primaryColor -//import io.legado.app.lib.theme.primaryTextColor import io.legato.kazusa.ui.book.explore.ExploreShowActivity import io.legato.kazusa.ui.book.search.SearchActivity import io.legato.kazusa.ui.book.search.SearchScope @@ -103,10 +100,8 @@ class ExploreFragment() : VMBaseFragment(R.layout.fragment_exp if (actionId == EditorInfo.IME_ACTION_SEARCH) { val query = searchView.text.toString() upExploreData(query) - searchBar.hint = if (query.isEmpty()) { + searchBar.hint = query.ifEmpty { getString(R.string.screen_find) - } else { - query } searchView.hide() return@setOnEditorActionListener true diff --git a/app/src/main/res/layout/activity_book_read.xml b/app/src/main/res/layout/activity_book_read.xml index b68b5d2e3..a6257eab4 100644 --- a/app/src/main/res/layout/activity_book_read.xml +++ b/app/src/main/res/layout/activity_book_read.xml @@ -1,5 +1,6 @@ diff --git a/app/src/main/res/layout/activity_manga.xml b/app/src/main/res/layout/activity_manga.xml index 4d5b418bb..c2471a063 100644 --- a/app/src/main/res/layout/activity_manga.xml +++ b/app/src/main/res/layout/activity_manga.xml @@ -2,6 +2,7 @@ diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 5acda58dc..4d4cf0140 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -2,6 +2,8 @@