diff --git a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt index 33dcefe5..a4573ff0 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt @@ -200,7 +200,7 @@ class AnimeWatchAdapter( style = 2 fragment.onIconPressed(style, reversed) } - + binding.animeScanlatorTop.visibility= View.GONE //Episode Handling handleEpisodes() } diff --git a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt index 5d6df1b7..2617907a 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt @@ -304,6 +304,8 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { 1 -> ResourcesCompat.getFont(this, R.font.poppins_bold) 2 -> ResourcesCompat.getFont(this, R.font.poppins) 3 -> ResourcesCompat.getFont(this, R.font.poppins_thin) + 4 -> ResourcesCompat.getFont(this, R.font.century_gothic_regular) + 5 -> ResourcesCompat.getFont(this, R.font.century_gothic_bold) else -> ResourcesCompat.getFont(this, R.font.poppins_semi_bold) } playerView.subtitleView?.setStyle( 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 63aa6d1c..0a7d8503 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt @@ -461,20 +461,25 @@ open class MangaReadFragment : Fragment(), ScanlatorSelectionListener { val chapterNumber = intent.getStringExtra(EXTRA_CHAPTER_NUMBER) chapterNumber?.let { chapterAdapter.startDownload(it) } } + ACTION_DOWNLOAD_FINISHED -> { val chapterNumber = intent.getStringExtra(EXTRA_CHAPTER_NUMBER) chapterNumber?.let { chapterAdapter.stopDownload(it) } } + ACTION_DOWNLOAD_FAILED -> { val chapterNumber = intent.getStringExtra(EXTRA_CHAPTER_NUMBER) chapterNumber?.let { chapterAdapter.purgeDownload(it) } } + ACTION_DOWNLOAD_PROGRESS -> { val chapterNumber = intent.getStringExtra(EXTRA_CHAPTER_NUMBER) val progress = intent.getIntExtra("progress", 0) - chapterNumber?.let { chapterAdapter.updateDownloadProgress(it, progress) + chapterNumber?.let { + chapterAdapter.updateDownloadProgress(it, progress) + } } } } diff --git a/app/src/main/java/ani/dantotsu/others/LangSet.kt b/app/src/main/java/ani/dantotsu/others/LangSet.kt index 02e41a86..fd5ba8a3 100644 --- a/app/src/main/java/ani/dantotsu/others/LangSet.kt +++ b/app/src/main/java/ani/dantotsu/others/LangSet.kt @@ -12,8 +12,7 @@ class LangSet { companion object{ fun setLocale(activity: Activity) { val useCursedLang = activity.getSharedPreferences("Dantotsu", Activity.MODE_PRIVATE).getBoolean("use_cursed_lang", false) - if(!useCursedLang) return - val locale = Locale("en", "rDW") + val locale = if(useCursedLang) Locale("en", "DW") else Locale("en", "US") Locale.setDefault(locale) val resources: Resources = activity.resources val config: Configuration = resources.configuration diff --git a/app/src/main/java/ani/dantotsu/others/LanguageMapper.kt b/app/src/main/java/ani/dantotsu/others/LanguageMapper.kt new file mode 100644 index 00000000..bd621cb0 --- /dev/null +++ b/app/src/main/java/ani/dantotsu/others/LanguageMapper.kt @@ -0,0 +1,32 @@ +package ani.dantotsu.others + +class LanguageMapper { + companion object { + + fun mapLanguageCodeToName(code: String): String { + return when (code) { + "all" -> "Multi" + "ar" -> "Arabic" + "de" -> "German" + "en" -> "English" + "es" -> "Spanish" + "fr" -> "French" + "id" -> "Indonesian" + "it" -> "Italian" + "ja" -> "Japanese" + "ko" -> "Korean" + "pl" -> "Polish" + "pt-BR" -> "Portuguese (Brazil)" + "ru" -> "Russian" + "th" -> "Thai" + "tr" -> "Turkish" + "uk" -> "Ukrainian" + "vi" -> "Vietnamese" + "zh" -> "Chinese" + "zh-Hans" -> "Chinese (Simplified)" + else -> "" + } + } + } +} + diff --git a/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt b/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt index 2063825e..3d8a155b 100644 --- a/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt @@ -24,6 +24,7 @@ import ani.dantotsu.themes.ThemeManager import ani.dantotsu.others.LangSet import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayoutMediator +import eu.kanade.tachiyomi.extension.anime.model.AnimeExtension import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -92,14 +93,14 @@ ThemeManager(this).applyTheme() initActivity(this) + fun bind(extension: AnimeExtension.Available) { + binding.languageselect.setOnClickListener { + val popup = PopupMenu(this, it) - binding.languageselect.setOnClickListener { - val popup = PopupMenu(this, it) - - popup.inflate(R.menu.launguage_selector_menu) - popup.show() + popup.inflate(R.menu.launguage_selector_menu) + popup.show() + } } - binding.settingsContainer.updateLayoutParams { topMargin = statusBarHeight bottomMargin = navBarHeight diff --git a/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt b/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt index 3af4ce55..980fa019 100644 --- a/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt +++ b/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt @@ -13,7 +13,6 @@ import android.widget.ImageView import android.widget.TextView import android.widget.Toast import androidx.core.app.NotificationCompat -import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.DiffUtil @@ -24,6 +23,8 @@ import androidx.viewpager2.widget.ViewPager2 import ani.dantotsu.R import ani.dantotsu.databinding.FragmentAnimeExtensionsBinding import ani.dantotsu.loadData +import ani.dantotsu.others.LanguageMapper +import ani.dantotsu.saveData import ani.dantotsu.settings.extensionprefs.AnimeSourcePreferencesFragment import com.google.android.material.tabs.TabLayout import com.google.android.material.textfield.TextInputLayout @@ -210,14 +211,10 @@ class InstalledAnimeExtensionsFragment : Fragment() { override fun onBindViewHolder(holder: ViewHolder, position: Int) { val extension = getItem(position) // Use getItem() from ListAdapter - val nsfw = if (extension.isNsfw) { - "(18+)" - } else { - "" - } - + val nsfw = if (extension.isNsfw) "(18+)" else "" + val lang= LanguageMapper.mapLanguageCodeToName(extension.lang) holder.extensionNameTextView.text = extension.name - holder.extensionVersionTextView.text = "${extension.versionName} $nsfw" + holder.extensionVersionTextView.text = "$lang ${extension.versionName} $nsfw" if (!skipIcons) { holder.extensionIconImageView.setImageDrawable(extension.icon) } diff --git a/app/src/main/java/ani/dantotsu/settings/InstalledMangaExtensionsFragment.kt b/app/src/main/java/ani/dantotsu/settings/InstalledMangaExtensionsFragment.kt index 298feffa..23446c48 100644 --- a/app/src/main/java/ani/dantotsu/settings/InstalledMangaExtensionsFragment.kt +++ b/app/src/main/java/ani/dantotsu/settings/InstalledMangaExtensionsFragment.kt @@ -14,7 +14,6 @@ import android.widget.ImageView import android.widget.TextView import android.widget.Toast import androidx.core.app.NotificationCompat -import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.DiffUtil @@ -26,6 +25,7 @@ import ani.dantotsu.R import ani.dantotsu.databinding.FragmentMangaExtensionsBinding import ani.dantotsu.loadData import ani.dantotsu.settings.extensionprefs.MangaSourcePreferencesFragment +import ani.dantotsu.others.LanguageMapper import com.google.android.material.tabs.TabLayout import com.google.android.material.textfield.TextInputLayout import com.google.firebase.crashlytics.FirebaseCrashlytics @@ -204,13 +204,10 @@ class InstalledMangaExtensionsFragment : Fragment() { override fun onBindViewHolder(holder: ViewHolder, position: Int) { val extension = getItem(position) // Use getItem() from ListAdapter - val nsfw = if (extension.isNsfw) { - "(18+)" - } else { - "" - } + val nsfw = if (extension.isNsfw) "(18+)" else "" + val lang = LanguageMapper.mapLanguageCodeToName(extension.lang) holder.extensionNameTextView.text = extension.name - holder.extensionVersionTextView.text = "${extension.versionName} $nsfw" + holder.extensionVersionTextView.text = "$lang ${extension.versionName} $nsfw" if (!skipIcons) { holder.extensionIconImageView.setImageDrawable(extension.icon) } diff --git a/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt index 3d0ec8d8..17fbdb15 100644 --- a/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt @@ -378,7 +378,7 @@ ThemeManager(this).applyTheme() dialog.dismiss() }.show() } - val fonts = arrayOf("Poppins Semi Bold", "Poppins Bold", "Poppins", "Poppins Thin") + val fonts = arrayOf("Poppins Semi Bold", "Poppins Bold", "Poppins", "Poppins Thin","Century Gothic","Century Gothic Bold") val fontDialog = AlertDialog.Builder(this, R.style.DialogTheme).setTitle(getString(R.string.subtitle_font)) binding.videoSubFont.setOnClickListener { fontDialog.setSingleChoiceItems(fonts, settings.font) { dialog, count -> diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt index 651ad8e6..bde659c7 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt @@ -401,7 +401,8 @@ OS Version: $CODENAME $RELEASE ($SDK_INT) (binding.settingsLogo.drawable as Animatable).start() if (cursedCounter % 7 == 0){ snackString("youwu have been cuwsed :pwayge:") - getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).edit().putBoolean("use_cursed_lang", true).apply() + getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).edit().putBoolean("use_cursed_lang", + getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_cursed_lang", false).not()).apply() } else{ snackString(array[(Math.random() * array.size).toInt()], this) } diff --git a/app/src/main/java/ani/dantotsu/settings/paging/AnimePagingSource.kt b/app/src/main/java/ani/dantotsu/settings/paging/AnimePagingSource.kt index 7761ed2e..235d4f15 100644 --- a/app/src/main/java/ani/dantotsu/settings/paging/AnimePagingSource.kt +++ b/app/src/main/java/ani/dantotsu/settings/paging/AnimePagingSource.kt @@ -1,5 +1,6 @@ package ani.dantotsu.settings.paging +import android.annotation.SuppressLint import android.view.LayoutInflater import android.view.ViewGroup import android.widget.ImageView @@ -15,9 +16,9 @@ import androidx.paging.PagingState import androidx.paging.cachedIn import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView -import ani.dantotsu.settings.SettingsActivity import ani.dantotsu.databinding.ItemExtensionAllBinding import ani.dantotsu.loadData +import ani.dantotsu.others.LanguageMapper import com.bumptech.glide.Glide import eu.kanade.tachiyomi.extension.anime.AnimeExtensionManager import eu.kanade.tachiyomi.extension.anime.model.AnimeExtension @@ -78,7 +79,8 @@ class AnimeExtensionPagingSource( val installedExtensions = installedExtensionsFlow.first().map { it.pkgName }.toSet() val availableExtensions = availableExtensionsFlow.first().filterNot { it.pkgName in installedExtensions } val query = searchQuery.first() - var isNsfwEnabled: Boolean = loadData("NFSWExtension") ?: true + val isNsfwEnabled: Boolean = loadData("NFSWExtension") ?: false + val filteredExtensions = if (query.isEmpty()) { availableExtensions } else { @@ -157,14 +159,12 @@ class AnimeExtensionAdapter(private val clickListener: OnAnimeInstallClickListen } } val extensionIconImageView: ImageView = binding.extensionIconImageView + fun bind(extension: AnimeExtension.Available) { - val nsfw = if (extension.isNsfw) { - "(18+)" - } else { - "" - } + val nsfw = if (extension.isNsfw) "(18+)" else "" + val lang= LanguageMapper.mapLanguageCodeToName(extension.lang) binding.extensionNameTextView.text = extension.name - binding.extensionVersionTextView.text = "${extension.versionName} $nsfw" + binding.extensionVersionTextView.text = "$lang ${extension.versionName} $nsfw" } } } diff --git a/app/src/main/java/ani/dantotsu/settings/paging/MangaPagingSource.kt b/app/src/main/java/ani/dantotsu/settings/paging/MangaPagingSource.kt index e65d5d43..717cb1d2 100644 --- a/app/src/main/java/ani/dantotsu/settings/paging/MangaPagingSource.kt +++ b/app/src/main/java/ani/dantotsu/settings/paging/MangaPagingSource.kt @@ -1,6 +1,6 @@ package ani.dantotsu.settings.paging -import android.util.Log +import android.annotation.SuppressLint import android.view.LayoutInflater import android.view.ViewGroup import android.widget.ImageView @@ -16,9 +16,9 @@ import androidx.paging.PagingState import androidx.paging.cachedIn import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView -import ani.dantotsu.settings.SettingsActivity import ani.dantotsu.databinding.ItemExtensionAllBinding import ani.dantotsu.loadData +import ani.dantotsu.others.LanguageMapper import com.bumptech.glide.Glide import eu.kanade.tachiyomi.extension.manga.MangaExtensionManager import eu.kanade.tachiyomi.extension.manga.model.MangaExtension @@ -28,7 +28,6 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.flatMapLatest -import java.lang.Math.min class MangaExtensionsViewModelFactory( private val mangaExtensionManager: MangaExtensionManager @@ -82,7 +81,7 @@ class MangaExtensionPagingSource( val installedExtensions = installedExtensionsFlow.first().map { it.pkgName }.toSet() val availableExtensions = availableExtensionsFlow.first().filterNot { it.pkgName in installedExtensions } val query = searchQuery.first() - var isNsfwEnabled: Boolean = loadData("NFSWExtension") ?: false + val isNsfwEnabled: Boolean = loadData("NFSWExtension") ?: false val filteredExtensions = if (query.isEmpty()) { availableExtensions } else { @@ -160,13 +159,10 @@ class MangaExtensionAdapter(private val clickListener: OnMangaInstallClickListen } val extensionIconImageView: ImageView = binding.extensionIconImageView fun bind(extension: MangaExtension.Available) { - val nsfw = if (extension.isNsfw) { - "(18+)" - } else { - "" - } + val nsfw = if (extension.isNsfw) "(18+)" else "" + val lang= LanguageMapper.mapLanguageCodeToName(extension.lang) binding.extensionNameTextView.text = extension.name - binding.extensionVersionTextView.text = "${extension.versionName} $nsfw" + binding.extensionVersionTextView.text = "$lang ${extension.versionName} $nsfw" } } } diff --git a/app/src/main/res/drawable/ic_round_delete_24.xml b/app/src/main/res/drawable/ic_round_delete_24.xml index abc47a0b..95e9928f 100644 --- a/app/src/main/res/drawable/ic_round_delete_24.xml +++ b/app/src/main/res/drawable/ic_round_delete_24.xml @@ -1,20 +1,4 @@ - - - - - + diff --git a/app/src/main/res/font/century_gothic_bold.TTF b/app/src/main/res/font/century_gothic_bold.TTF new file mode 100644 index 00000000..93faeb3d Binary files /dev/null and b/app/src/main/res/font/century_gothic_bold.TTF differ diff --git a/app/src/main/res/font/century_gothic_regular.TTF b/app/src/main/res/font/century_gothic_regular.TTF new file mode 100644 index 00000000..a5c1c59f Binary files /dev/null and b/app/src/main/res/font/century_gothic_regular.TTF differ diff --git a/app/src/main/res/layout/item_chapter_list.xml b/app/src/main/res/layout/item_chapter_list.xml index 2979b218..342f182b 100644 --- a/app/src/main/res/layout/item_chapter_list.xml +++ b/app/src/main/res/layout/item_chapter_list.xml @@ -9,7 +9,7 @@ app:cardCornerRadius="12dp"> diff --git a/app/src/main/res/layout/item_extension.xml b/app/src/main/res/layout/item_extension.xml index cd9e7d32..5cbe4764 100644 --- a/app/src/main/res/layout/item_extension.xml +++ b/app/src/main/res/layout/item_extension.xml @@ -33,8 +33,9 @@ android:id="@+id/extensionVersionTextView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:fontFamily="@font/poppins_semi_bold" android:text="version" - android:textSize="11sp" /> + android:textSize="10sp" /> @@ -54,7 +54,6 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="0" - android:contentDescription="uninstall" android:src="@drawable/ic_round_delete_24" app:tint="?attr/colorOnBackground" /> diff --git a/app/src/main/res/layout/item_extension_all.xml b/app/src/main/res/layout/item_extension_all.xml index e3326d91..872828b6 100644 --- a/app/src/main/res/layout/item_extension_all.xml +++ b/app/src/main/res/layout/item_extension_all.xml @@ -2,6 +2,7 @@ @@ -11,7 +12,7 @@ android:layout_width="40dp" android:layout_height="40dp" android:layout_gravity="center_vertical" - android:layout_marginEnd="3dp"/> + android:layout_marginEnd="3dp" /> + android:fontFamily="@font/poppins_semi_bold" + android:text="version" + android:textSize="10sp" /> + android:textSize="14sp" + app:tint="?attr/colorOnBackground"/> diff --git a/app/src/main/res/menu/launguage_selector_menu.xml b/app/src/main/res/menu/launguage_selector_menu.xml index 87284fe4..048c711a 100644 --- a/app/src/main/res/menu/launguage_selector_menu.xml +++ b/app/src/main/res/menu/launguage_selector_menu.xml @@ -2,14 +2,102 @@ + android:title="All" + android:checkable="true" + android:checked="true" /> + android:title="Multi" + android:checkable="true" + android:checked="false" /> + + + android:title="English" + android:checkable="true" + android:checked="false" /> - \ No newline at end of file + android:id="@+id/spanish" + android:title="Spanish" + android:checkable="true" + android:checked="false" /> + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values-en-rDW/strings.xml b/app/src/main/res/values-en-rDW/strings.xml index 4e695cc0..306eff71 100644 --- a/app/src/main/res/values-en-rDW/strings.xml +++ b/app/src/main/res/values-en-rDW/strings.xml @@ -1,5 +1,5 @@ - - + webewonyion/Dantotsu d-d-d-dantotsupwefs @@ -597,7 +597,7 @@ S-s-s-some usefuw tips and twicks The \>w\< fowwowing ( ˘ᴗ˘ ) pwesents some ***screams*** tips ( ͡U ω ͡U ) and (˘ω˘) twicks you m-m-may ow (ᵘﻌᵘ) ***blushes*** may nyot knyow about - \n \n \n ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** - By howd pwessing the Dantotsu (◡ w ◡) wogo in ( ͡o ꒳ ͡o ) settings, you ÚwÚ c-c-can c-c-c-check (⑅˘꒳˘) if (◡ ሠ ◡) thewe a-a-awe a-a-any (。U ω U。) n-n-n-nyew (˘³˘) updates manyuawwy. \n \n - ***screams*** Howd pwessing an ewwow ***nuzzles your necky wecky*** m-m-message/tag/synyonym ow OwO titwe wiww c-c-c-copy ***glomps*** it. (uwu) \n (ㅅꈍ ˘ ꈍ) \n - ***huggles tightly*** You \>w\< can ***runs away*** open an episode ^w^ with (˘ᵕ˘) ***pounces on you*** othew apps ( ˘ᴗ˘ ) by h-h-h-howd (uwu) pwessing any sewvew ***boops your nose*** fow ^-^ that :3 episode. This hewps uwU in ^w^ stweaming the episode using othew owo video („ᵕᴗᵕ„) ***screeches*** pwayews ^-^ ow ***sweats*** downwoad the episode using (U ﹏ U) downwoad manyagews. \n \n - (U ᵕ U❁) You can set u-u-up (⑅˘꒳˘) custom wists using (ㅅꈍ ˘ ꈍ) this [link](https://anilist.co/settings/lists). (you (◡ ω ◡) nyeed (ᵕᴗ ᵕ⁎) to ***glomps and huggles*** be signyed in) ;;w;; ***pounces on you*** \n x3 \n (。ᴜ‿‿ᴜ。) - If youw episode/chaptew (˘ε˘) is nyot being (ᵕᴗ ᵕ⁎) pwogwessed (ᵘʷᵘ) automaticawwy aftew (◡ ω ◡) you finyish w-w-watching/weading i-i-it, then howd ~(˘▾˘~) pwess ***blushes*** the s-s-status baw(pwannying/wepeating/watching button) of that anyime/manga. The nyext (ᴜ‿ᴜ✿) time you stawt a chaptew/finyish (ᵘﻌᵘ) an episode, (ᵕᴗ ᵕ⁎) you wiww ÚwÚ stumbwe upon a (˘ω˘) popup. Pwess yes ( ᴜ ω ᴜ ) thewe. - + Subscwibed!? :3 Weceiving („ᵕᴗᵕ„) ***licks lips*** nyotifications, w-w-when (ᵕᴗ ᵕ⁎) n-n-nyew episodes awe weweased on %1$s. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c6a34e48..463dcf78 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,5 @@ - + rebelonion/Dantotsu dantotsuprefs @@ -154,7 +155,7 @@ Sequel Anilist Settings - Extension + Extensions Downloads Settings Extensions