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 d1e0d0d6..56f18048 100644 --- a/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt +++ b/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt @@ -21,10 +21,7 @@ import android.widget.TextView import androidx.annotation.OptIn import androidx.appcompat.app.AppCompatActivity import androidx.cardview.widget.CardView -import androidx.core.app.ActivityOptionsCompat import androidx.core.content.ContextCompat -import androidx.core.util.Pair -import androidx.core.view.ViewCompat import androidx.core.view.marginBottom import androidx.fragment.app.Fragment import androidx.media3.common.util.UnstableApi @@ -96,8 +93,8 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { view.rootView.fitsSystemWindows = true } - textInputLayout.boxBackgroundColor = (color and 0x00FFFFFF) or 0x28000000.toInt() - materialCardView.setCardBackgroundColor((color and 0x00FFFFFF) or 0x28000000.toInt()) + textInputLayout.boxBackgroundColor = (color and 0x00FFFFFF) or 0x28000000 + materialCardView.setCardBackgroundColor((color and 0x00FFFFFF) or 0x28000000) val searchView = view.findViewById(R.id.animeSearchBarText) searchView.addTextChangedListener(object : TextWatcher { @@ -181,14 +178,7 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { requireActivity(), Intent(requireContext(), MediaDetailsActivity::class.java) .putExtra("download", true), - ActivityOptionsCompat.makeSceneTransitionAnimation( - requireActivity(), - Pair.create( - gridView.getChildAt(position) - .findViewById(R.id.itemCompactImage), - ViewCompat.getTransitionName(requireActivity().findViewById(R.id.itemCompactImage)) - ), - ).toBundle() + null ) } ?: run { snackString("no media found") @@ -291,8 +281,8 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { val animeTitles = downloadManager.animeDownloadedTypes.map { it.title }.distinct() val newAnimeDownloads = mutableListOf() for (title in animeTitles) { - val _downloads = downloadManager.animeDownloadedTypes.filter { it.title == title } - val download = _downloads.first() + val tDownloads = downloadManager.animeDownloadedTypes.filter { it.title == title } + val download = tDownloads.first() val offlineAnimeModel = loadOfflineAnimeModel(download) newAnimeDownloads += offlineAnimeModel } @@ -300,12 +290,10 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { } private fun getMedia(downloadedType: DownloadedType): Media? { - val type = if (downloadedType.type == DownloadedType.Type.ANIME) { - "Anime" - } else if (downloadedType.type == DownloadedType.Type.MANGA) { - "Manga" - } else { - "Novel" + val type = when (downloadedType.type) { + DownloadedType.Type.MANGA -> "Manga" + DownloadedType.Type.ANIME -> "Anime" + else -> "Novel" } val directory = File( currContext()?.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), @@ -336,12 +324,10 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { } private fun loadOfflineAnimeModel(downloadedType: DownloadedType): OfflineAnimeModel { - val type = if (downloadedType.type == DownloadedType.Type.MANGA) { - "Manga" - } else if (downloadedType.type == DownloadedType.Type.ANIME) { - "Anime" - } else { - "Novel" + val type = when (downloadedType.type) { + DownloadedType.Type.MANGA -> "Manga" + DownloadedType.Type.ANIME -> "Anime" + else -> "Novel" } val directory = File( currContext()?.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), @@ -349,8 +335,6 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { ) //load media.json and convert to media class with gson try { - val media = File(directory, "media.json") - val mediaJson = media.readText() val mediaModel = getMedia(downloadedType)!! val cover = File(directory, "cover.jpg") val coverUri: Uri? = if (cover.exists()) { @@ -399,8 +383,8 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { "??", "movie", "hmm", - false, - false, + isOngoing = false, + isUserScored = false, null, null ) 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 35fec9f5..05f82fd3 100644 --- a/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaFragment.kt +++ b/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaFragment.kt @@ -19,10 +19,7 @@ import android.widget.ImageView import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.cardview.widget.CardView -import androidx.core.app.ActivityOptionsCompat import androidx.core.content.ContextCompat -import androidx.core.util.Pair -import androidx.core.view.ViewCompat import androidx.core.view.marginBottom import androidx.fragment.app.Fragment import ani.dantotsu.R @@ -89,8 +86,8 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { view.rootView.fitsSystemWindows = true } - textInputLayout.boxBackgroundColor = (color and 0x00FFFFFF) or 0x28000000.toInt() - materialCardView.setCardBackgroundColor((color and 0x00FFFFFF) or 0x28000000.toInt()) + textInputLayout.boxBackgroundColor = (color and 0x00FFFFFF) or 0x28000000 + materialCardView.setCardBackgroundColor((color and 0x00FFFFFF) or 0x28000000) val searchView = view.findViewById(R.id.animeSearchBarText) searchView.addTextChangedListener(object : TextWatcher { @@ -165,19 +162,13 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { downloadManager.mangaDownloadedTypes.firstOrNull { it.title == item.title } ?: downloadManager.novelDownloadedTypes.firstOrNull { it.title == item.title } media?.let { + ContextCompat.startActivity( requireActivity(), Intent(requireContext(), MediaDetailsActivity::class.java) .putExtra("media", getMedia(it)) .putExtra("download", true), - ActivityOptionsCompat.makeSceneTransitionAnimation( - requireActivity(), - Pair.create( - gridView.getChildAt(position) - .findViewById(R.id.itemCompactImage), - ViewCompat.getTransitionName(requireActivity().findViewById(R.id.itemCompactImage)) - ) - ).toBundle() + null ) } ?: run { snackString("no media found") @@ -278,8 +269,8 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { val mangaTitles = downloadManager.mangaDownloadedTypes.map { it.title }.distinct() val newMangaDownloads = mutableListOf() for (title in mangaTitles) { - val _downloads = downloadManager.mangaDownloadedTypes.filter { it.title == title } - val download = _downloads.first() + val tDownloads = downloadManager.mangaDownloadedTypes.filter { it.title == title } + val download = tDownloads.first() val offlineMangaModel = loadOfflineMangaModel(download) newMangaDownloads += offlineMangaModel } @@ -287,8 +278,8 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { val novelTitles = downloadManager.novelDownloadedTypes.map { it.title }.distinct() val newNovelDownloads = mutableListOf() for (title in novelTitles) { - val _downloads = downloadManager.novelDownloadedTypes.filter { it.title == title } - val download = _downloads.first() + val tDownloads = downloadManager.novelDownloadedTypes.filter { it.title == title } + val download = tDownloads.first() val offlineMangaModel = loadOfflineMangaModel(download) newNovelDownloads += offlineMangaModel } @@ -297,12 +288,10 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { } private fun getMedia(downloadedType: DownloadedType): Media? { - val type = if (downloadedType.type == DownloadedType.Type.MANGA) { - "Manga" - } else if (downloadedType.type == DownloadedType.Type.ANIME) { - "Anime" - } else { - "Novel" + val type = when (downloadedType.type) { + DownloadedType.Type.MANGA -> "Manga" + DownloadedType.Type.ANIME -> "Anime" + else -> "Novel" } val directory = File( currContext()?.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), @@ -327,12 +316,10 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { } private fun loadOfflineMangaModel(downloadedType: DownloadedType): OfflineMangaModel { - val type = if (downloadedType.type == DownloadedType.Type.MANGA) { - "Manga" - } else if (downloadedType.type == DownloadedType.Type.ANIME) { - "Anime" - } else { - "Novel" + val type = when (downloadedType.type) { + DownloadedType.Type.MANGA -> "Manga" + DownloadedType.Type.ANIME -> "Anime" + else -> "Novel" } val directory = File( currContext()?.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), @@ -340,8 +327,6 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { ) //load media.json and convert to media class with gson try { - val media = File(directory, "media.json") - val mediaJson = media.readText() val mediaModel = getMedia(downloadedType)!! val cover = File(directory, "cover.jpg") val coverUri: Uri? = if (cover.exists()) { @@ -383,8 +368,8 @@ class OfflineMangaFragment : Fragment(), OfflineMangaSearchListener { "??", "movie", "hmm", - false, - false, + isOngoing = false, + isUserScored = false, null, null ) diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt index 722e8ab0..2d4134a5 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt @@ -184,7 +184,9 @@ open class MangaReadFragment : Fragment(), ScanlatorSelectionListener { MangaChapterAdapter(style ?: PrefManager.getVal(PrefName.MangaDefaultView), media, this) for (download in downloadManager.mangaDownloadedTypes) { - chapterAdapter.stopDownload(download.chapter) + if (download.title == media.mainName()) { + chapterAdapter.stopDownload(download.chapter) + } } binding.animeSourceRecycler.adapter =