From f6d0c4100019164af9201b55a11ebf72fda98fbe Mon Sep 17 00:00:00 2001 From: aayush262 Date: Tue, 16 Jan 2024 10:51:05 +0530 Subject: [PATCH] fixed can uninstall after changing grid view --- .../download/anime/OfflineAnimeFragment.kt | 45 +++++++++---------- .../download/manga/OfflineMangaFragment.kt | 45 ++++++++++--------- 2 files changed, 44 insertions(+), 46 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt b/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt index 58914b28..398a575c 100644 --- a/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt +++ b/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt @@ -72,7 +72,7 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { private var uiSettings: UserInterfaceSettings = loadData("ui_settings") ?: UserInterfaceSettings() - @OptIn(UnstableApi::class) override fun onCreateView( + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -167,19 +167,35 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { if (style == 0) view.findViewById(R.id.gridView) else view.findViewById(R.id.gridView1) gridView.visibility = View.VISIBLE getDownloads() - val fadeIn = AlphaAnimation(0f, 1f) fadeIn.duration = 200 // animations pog val animation = LayoutAnimationController(fadeIn) - gridView.layoutAnimation = animation adapter = OfflineAnimeAdapter(requireContext(), downloads, this) gridView.adapter = adapter gridView.scheduleLayoutAnimation() grid() val total = view.findViewById(R.id.total) - total.text = - if (gridView.count > 0) "Anime (${gridView.count})" else "Empty List" + total.text = if (gridView.count > 0) "Anime (${gridView.count})" else "Empty List" + + return view + } + @OptIn(UnstableApi::class) private fun grid(){ + gridView.setOnItemClickListener { parent, view, position, id -> + // Get the OfflineAnimeModel that was clicked + val item = adapter.getItem(position) as OfflineAnimeModel + val media = + downloadManager.animeDownloadedTypes.firstOrNull { it.title == item.title } + media?.let { + startActivity( + Intent(requireContext(), MediaDetailsActivity::class.java) + .putExtra("media", getMedia(it)) + .putExtra("download", true) + ) + } ?: run { + snackString("no media found") + } + } gridView.setOnItemLongClickListener { parent, view, position, id -> // Get the OfflineAnimeModel that was clicked val item = adapter.getItem(position) as OfflineAnimeModel @@ -209,25 +225,6 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { dialog.window?.setDimAmount(0.8f) true } - - return view - } - private fun grid(){ - gridView.setOnItemClickListener { parent, view, position, id -> - // Get the OfflineAnimeModel that was clicked - val item = adapter.getItem(position) as OfflineAnimeModel - val media = - downloadManager.animeDownloadedTypes.firstOrNull { it.title == item.title } - media?.let { - startActivity( - Intent(requireContext(), MediaDetailsActivity::class.java) - .putExtra("media", getMedia(it)) - .putExtra("download", true) - ) - } ?: run { - snackString("no media found") - } - } } override fun onSearchQuery(query: String) { adapter.onSearchQuery(query) diff --git a/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaFragment.kt b/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaFragment.kt index 3f202a2e..099c3e58 100644 --- a/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaFragment.kt +++ b/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaFragment.kt @@ -171,8 +171,28 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { gridView.scheduleLayoutAnimation() grid() val total = view.findViewById(R.id.total) - total.text = - if (gridView.count > 0) "Manga and Novels (${gridView.count})" else "Empty List" + total.text = if (gridView.count > 0) "Manga and Novels (${gridView.count})" else "Empty List" + + return view + } + private fun grid(){ + gridView.setOnItemClickListener { parent, view, position, id -> + // Get the OfflineMangaModel that was clicked + val item = adapter.getItem(position) as OfflineMangaModel + val media = + downloadManager.mangaDownloadedTypes.firstOrNull { it.title == item.title } + ?: downloadManager.novelDownloadedTypes.firstOrNull { it.title == item.title } + media?.let { + startActivity( + Intent(requireContext(), MediaDetailsActivity::class.java) + .putExtra("media", getMedia(it)) + .putExtra("download", true) + ) + } ?: run { + snackString("no media found") + } + } + gridView.setOnItemLongClickListener { parent, view, position, id -> // Get the OfflineMangaModel that was clicked val item = adapter.getItem(position) as OfflineMangaModel @@ -199,25 +219,6 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { dialog.window?.setDimAmount(0.8f) true } - return view - } - private fun grid(){ - gridView.setOnItemClickListener { parent, view, position, id -> - // Get the OfflineMangaModel that was clicked - val item = adapter.getItem(position) as OfflineMangaModel - val media = - downloadManager.mangaDownloadedTypes.firstOrNull { it.title == item.title } - ?: downloadManager.novelDownloadedTypes.firstOrNull { it.title == item.title } - media?.let { - startActivity( - Intent(requireContext(), MediaDetailsActivity::class.java) - .putExtra("media", getMedia(it)) - .putExtra("download", true) - ) - } ?: run { - snackString("no media found") - } - } } override fun onSearchQuery(query: String) { adapter.onSearchQuery(query) @@ -243,7 +244,7 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { } val scrollTop = view.findViewById(R.id.mangaPageScrollTop) scrollTop.translationY = -(navBarHeight + bottomBar.height + bottomBar.marginBottom).toFloat() - var visible = false + val visible = false fun animate() { val start = if (visible) 0f else 1f