diff --git a/app/build.gradle b/app/build.gradle index 0ea1f761..ba75b7f3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,12 +29,17 @@ android { debug { applicationIdSuffix ".beta" debuggable true + preBuild.dependsOn 'uwuifier' } release { debuggable false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + preBuild.dependsOn 'uwuifier' } } + tasks.register('uwuifier', Exec) { + commandLine 'scripts/uwuifier.exe' + } buildFeatures { viewBinding true } diff --git a/app/src/main/java/ani/dantotsu/App.kt b/app/src/main/java/ani/dantotsu/App.kt index 09ab279b..109ced31 100644 --- a/app/src/main/java/ani/dantotsu/App.kt +++ b/app/src/main/java/ani/dantotsu/App.kt @@ -27,6 +27,7 @@ import logcat.LogPriority import logcat.LogcatLogger import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import java.util.Locale @SuppressLint("StaticFieldLeak") class App : MultiDexApplication() { diff --git a/app/src/main/java/ani/dantotsu/MainActivity.kt b/app/src/main/java/ani/dantotsu/MainActivity.kt index 4568daac..d79503a7 100644 --- a/app/src/main/java/ani/dantotsu/MainActivity.kt +++ b/app/src/main/java/ani/dantotsu/MainActivity.kt @@ -57,6 +57,8 @@ import ani.dantotsu.settings.SettingsActivity import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.subcriptions.Subscription.Companion.startSubscription import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet +import com.google.firebase.crashlytics.FirebaseCrashlytics import eu.kanade.tachiyomi.extension.manga.MangaExtensionManager import io.noties.markwon.Markwon import io.noties.markwon.SoftBreakAddsNewLinePlugin @@ -82,6 +84,7 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + LangSet.setLocale(this) ThemeManager(this).applyTheme() binding = ActivityMainBinding.inflate(layoutInflater) diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/Login.kt b/app/src/main/java/ani/dantotsu/connections/anilist/Login.kt index 8664bdfc..abeafbe6 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/Login.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/Login.kt @@ -8,11 +8,13 @@ import ani.dantotsu.logError import ani.dantotsu.logger import ani.dantotsu.startMainActivity import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet class Login : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() val data: Uri? = intent?.data logger(data.toString()) try { diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/UrlMedia.kt b/app/src/main/java/ani/dantotsu/connections/anilist/UrlMedia.kt index 0af62053..addaebed 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/UrlMedia.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/UrlMedia.kt @@ -7,11 +7,13 @@ import androidx.core.os.bundleOf import ani.dantotsu.loadMedia import ani.dantotsu.startMainActivity import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet class UrlMedia : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() var id: Int? = intent?.extras?.getInt("media", 0) ?: 0 var isMAL = false var continueMedia = true diff --git a/app/src/main/java/ani/dantotsu/connections/discord/Login.kt b/app/src/main/java/ani/dantotsu/connections/discord/Login.kt index 6b245904..8f43718a 100644 --- a/app/src/main/java/ani/dantotsu/connections/discord/Login.kt +++ b/app/src/main/java/ani/dantotsu/connections/discord/Login.kt @@ -12,13 +12,15 @@ import ani.dantotsu.R import ani.dantotsu.connections.discord.Discord.saveToken import ani.dantotsu.startMainActivity import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet class Login : AppCompatActivity() { @SuppressLint("SetJavaScriptEnabled") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { val process = getProcessName() if (packageName != process) WebView.setDataDirectorySuffix(process) diff --git a/app/src/main/java/ani/dantotsu/connections/mal/Login.kt b/app/src/main/java/ani/dantotsu/connections/mal/Login.kt index c3f0859c..f6249727 100644 --- a/app/src/main/java/ani/dantotsu/connections/mal/Login.kt +++ b/app/src/main/java/ani/dantotsu/connections/mal/Login.kt @@ -8,13 +8,15 @@ import ani.dantotsu.* import ani.dantotsu.connections.mal.MAL.clientId import ani.dantotsu.connections.mal.MAL.saveResponse import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch class Login : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() try { val data: Uri = intent?.data ?: throw Exception(getString(R.string.mal_login_uri_not_found)) diff --git a/app/src/main/java/ani/dantotsu/download/DownloadContainerActivity.kt b/app/src/main/java/ani/dantotsu/download/DownloadContainerActivity.kt index 2d34145c..2fb9df4e 100644 --- a/app/src/main/java/ani/dantotsu/download/DownloadContainerActivity.kt +++ b/app/src/main/java/ani/dantotsu/download/DownloadContainerActivity.kt @@ -5,12 +5,14 @@ import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import ani.dantotsu.R import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet class DownloadContainerActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() setContentView(R.layout.activity_container) val fragmentClassName = intent.getStringExtra("FRAGMENT_CLASS_NAME") diff --git a/app/src/main/java/ani/dantotsu/home/NoInternet.kt b/app/src/main/java/ani/dantotsu/home/NoInternet.kt index 2e4f4142..7971d96b 100644 --- a/app/src/main/java/ani/dantotsu/home/NoInternet.kt +++ b/app/src/main/java/ani/dantotsu/home/NoInternet.kt @@ -29,6 +29,7 @@ import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.startMainActivity import ani.dantotsu.statusBarHeight import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import nl.joery.animatedbottombar.AnimatedBottomBar class NoInternet : AppCompatActivity() { @@ -37,7 +38,8 @@ class NoInternet : AppCompatActivity() { private var uiSettings = UserInterfaceSettings() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityNoInternetBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/media/AuthorActivity.kt b/app/src/main/java/ani/dantotsu/media/AuthorActivity.kt index 16299e5d..2d9b1c76 100644 --- a/app/src/main/java/ani/dantotsu/media/AuthorActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/AuthorActivity.kt @@ -16,6 +16,7 @@ import ani.dantotsu.* import ani.dantotsu.databinding.ActivityAuthorBinding import ani.dantotsu.others.getSerialized import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -29,7 +30,8 @@ class AuthorActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityAuthorBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt b/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt index 14e8c15b..660c0703 100644 --- a/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt @@ -18,6 +18,7 @@ import ani.dantotsu.loadData import ani.dantotsu.media.user.ListViewPagerAdapter import ani.dantotsu.settings.UserInterfaceSettings 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 kotlinx.coroutines.Dispatchers @@ -33,7 +34,8 @@ class CalendarActivity : AppCompatActivity() { @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityListBinding.inflate(layoutInflater) diff --git a/app/src/main/java/ani/dantotsu/media/CharacterDetailsActivity.kt b/app/src/main/java/ani/dantotsu/media/CharacterDetailsActivity.kt index 972ef19b..36439bb3 100644 --- a/app/src/main/java/ani/dantotsu/media/CharacterDetailsActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/CharacterDetailsActivity.kt @@ -19,6 +19,7 @@ import ani.dantotsu.others.ImageViewDialog import ani.dantotsu.others.getSerialized import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import com.google.android.material.appbar.AppBarLayout import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -34,7 +35,8 @@ class CharacterDetailsActivity : AppCompatActivity(), AppBarLayout.OnOffsetChang override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityCharacterBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/media/GenreActivity.kt b/app/src/main/java/ani/dantotsu/media/GenreActivity.kt index 3121d464..ef193136 100644 --- a/app/src/main/java/ani/dantotsu/media/GenreActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/GenreActivity.kt @@ -16,6 +16,7 @@ import ani.dantotsu.loadData import ani.dantotsu.navBarHeight import ani.dantotsu.statusBarHeight import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.MainScope import kotlinx.coroutines.launch @@ -26,7 +27,8 @@ class GenreActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityGenreBinding.inflate(layoutInflater) setContentView(binding.root) initActivity(this) diff --git a/app/src/main/java/ani/dantotsu/media/MediaDetailsActivity.kt b/app/src/main/java/ani/dantotsu/media/MediaDetailsActivity.kt index fac3ea6e..4d295cfc 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaDetailsActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaDetailsActivity.kt @@ -48,6 +48,7 @@ import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.snackString import ani.dantotsu.statusBarHeight import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import com.flaviofaria.kenburnsview.RandomTransitionGenerator import com.google.android.material.appbar.AppBarLayout import com.google.android.material.navigation.NavigationBarView @@ -72,7 +73,8 @@ class MediaDetailsActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedLi @SuppressLint("SetTextI18n", "ClickableViewAccessibility") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityMediaBinding.inflate(layoutInflater) setContentView(binding.root) screenWidth = resources.displayMetrics.widthPixels.toFloat() diff --git a/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt b/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt index 749599f9..55692759 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt @@ -16,6 +16,7 @@ import ani.dantotsu.databinding.BottomSheetMediaListSmallBinding import ani.dantotsu.connections.mal.MAL import ani.dantotsu.others.getSerialized import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/app/src/main/java/ani/dantotsu/media/SearchActivity.kt b/app/src/main/java/ani/dantotsu/media/SearchActivity.kt index 7f152cb4..1394f14a 100644 --- a/app/src/main/java/ani/dantotsu/media/SearchActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/SearchActivity.kt @@ -17,6 +17,7 @@ import ani.dantotsu.connections.anilist.AnilistSearch import ani.dantotsu.connections.anilist.SearchResults import ani.dantotsu.databinding.ActivitySearchBinding import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import java.util.* @@ -38,7 +39,8 @@ class SearchActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivitySearchBinding.inflate(layoutInflater) setContentView(binding.root) initActivity(this) diff --git a/app/src/main/java/ani/dantotsu/media/StudioActivity.kt b/app/src/main/java/ani/dantotsu/media/StudioActivity.kt index 92bb3ea0..6839e117 100644 --- a/app/src/main/java/ani/dantotsu/media/StudioActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/StudioActivity.kt @@ -16,6 +16,7 @@ import ani.dantotsu.* import ani.dantotsu.databinding.ActivityStudioBinding import ani.dantotsu.others.getSerialized import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -29,7 +30,8 @@ class StudioActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityStudioBinding.inflate(layoutInflater) setContentView(binding.root) 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 2ee95fca..5d6df1b7 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt @@ -78,6 +78,7 @@ import ani.dantotsu.settings.PlayerSettings import ani.dantotsu.settings.PlayerSettingsActivity import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import com.bumptech.glide.Glide import com.google.android.material.slider.Slider import com.google.firebase.crashlytics.FirebaseCrashlytics @@ -319,7 +320,8 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityExoplayerBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt b/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt index a6396fbf..23ac9f04 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt @@ -26,6 +26,7 @@ import ani.dantotsu.others.Download.download import ani.dantotsu.parsers.VideoExtractor import ani.dantotsu.parsers.VideoType import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt b/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt index 39995e69..dd81e617 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt @@ -46,6 +46,7 @@ import ani.dantotsu.settings.CurrentReaderSettings.Layouts.* import ani.dantotsu.settings.ReaderSettings import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import com.alexvasilkov.gestures.views.GestureFrameLayout import com.bumptech.glide.load.resource.bitmap.BitmapTransformation import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView @@ -126,7 +127,8 @@ class MangaReaderActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityMangaReaderBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/media/novel/BookDialog.kt b/app/src/main/java/ani/dantotsu/media/novel/BookDialog.kt index 495ec185..68c49cc2 100644 --- a/app/src/main/java/ani/dantotsu/media/novel/BookDialog.kt +++ b/app/src/main/java/ani/dantotsu/media/novel/BookDialog.kt @@ -14,6 +14,7 @@ import ani.dantotsu.media.MediaDetailsViewModel import ani.dantotsu.others.getSerialized import ani.dantotsu.parsers.ShowResponse import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt b/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt index 7ce09ec7..e57edcaa 100644 --- a/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt @@ -35,6 +35,7 @@ import ani.dantotsu.settings.NovelReaderSettings import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.snackString import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import ani.dantotsu.tryWith import com.google.android.material.slider.Slider import com.vipulog.ebookreader.Book @@ -136,7 +137,8 @@ class NovelReaderActivity : AppCompatActivity(), EbookReaderEventListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityNovelReaderBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt b/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt index fc0c56bd..9bdc61cc 100644 --- a/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt @@ -18,6 +18,7 @@ import ani.dantotsu.databinding.ActivityListBinding import ani.dantotsu.loadData import ani.dantotsu.settings.UserInterfaceSettings 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 kotlinx.coroutines.Dispatchers @@ -32,7 +33,8 @@ class ListActivity : AppCompatActivity() { @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityListBinding.inflate(layoutInflater) val typedValue = TypedValue() diff --git a/app/src/main/java/ani/dantotsu/media/user/ListFragment.kt b/app/src/main/java/ani/dantotsu/media/user/ListFragment.kt index 58a62a3f..6b0f87de 100644 --- a/app/src/main/java/ani/dantotsu/media/user/ListFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/user/ListFragment.kt @@ -12,6 +12,7 @@ import ani.dantotsu.media.Media import ani.dantotsu.media.MediaAdaptor import ani.dantotsu.media.OtherDetailsViewModel import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet class ListFragment : Fragment() { private var _binding: FragmentListBinding? = null diff --git a/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt b/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt index 868ff51c..03013d08 100644 --- a/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt +++ b/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt @@ -20,6 +20,7 @@ import ani.dantotsu.setSafeOnClickListener import ani.dantotsu.shareImage import ani.dantotsu.snackString import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import ani.dantotsu.toast import com.bumptech.glide.load.resource.bitmap.BitmapTransformation import com.davemorrissey.labs.subscaleview.ImageSource diff --git a/app/src/main/java/ani/dantotsu/others/LangSet.kt b/app/src/main/java/ani/dantotsu/others/LangSet.kt new file mode 100644 index 00000000..02e41a86 --- /dev/null +++ b/app/src/main/java/ani/dantotsu/others/LangSet.kt @@ -0,0 +1,24 @@ +package ani.dantotsu.others + +import android.app.Activity +import android.content.res.Configuration +import android.content.res.Resources +import java.util.Locale + + + + +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") + Locale.setDefault(locale) + val resources: Resources = activity.resources + val config: Configuration = resources.configuration + config.setLocale(locale) + resources.updateConfiguration(config, resources.displayMetrics) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ani/dantotsu/others/imagesearch/ImageSearchActivity.kt b/app/src/main/java/ani/dantotsu/others/imagesearch/ImageSearchActivity.kt index fa584eb6..f1d846eb 100644 --- a/app/src/main/java/ani/dantotsu/others/imagesearch/ImageSearchActivity.kt +++ b/app/src/main/java/ani/dantotsu/others/imagesearch/ImageSearchActivity.kt @@ -16,6 +16,7 @@ import ani.dantotsu.connections.anilist.Anilist import ani.dantotsu.databinding.ActivityImageSearchBinding import ani.dantotsu.media.MediaDetailsActivity import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import ani.dantotsu.toast import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -47,7 +48,8 @@ class ImageSearchActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityImageSearchBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt b/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt index ed5901ae..c19f1d25 100644 --- a/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt +++ b/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt @@ -22,6 +22,7 @@ import ani.dantotsu.download.manga.ServiceDataSingleton import ani.dantotsu.logger import ani.dantotsu.media.manga.ImageData import ani.dantotsu.media.manga.MangaCache +import com.google.firebase.crashlytics.FirebaseCrashlytics import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilter import eu.kanade.tachiyomi.animesource.model.SEpisode @@ -621,7 +622,8 @@ class VideoServerPassthrough(val videoServer: VideoServer) : VideoExtractor() { // If the format is still undetermined, log an error or handle it appropriately if (format == null) { logger("Unknown video format: $videoUrl") - throw Exception("Unknown video format") + FirebaseCrashlytics.getInstance().recordException(Exception("Unknown video format: $videoUrl")) + format = VideoType.CONTAINER } val headersMap: Map = aniVideo.headers?.toMultimap()?.mapValues { it.value.joinToString() } ?: mapOf() @@ -644,7 +646,7 @@ class VideoServerPassthrough(val videoServer: VideoServer) : VideoExtractor() { fileName.endsWith(".m3u8", ignoreCase = true) -> VideoType.M3U8 fileName.endsWith(".mpd", ignoreCase = true) -> VideoType.DASH - else -> VideoType.CONTAINER + else -> null } } @@ -659,7 +661,7 @@ class VideoServerPassthrough(val videoServer: VideoServer) : VideoExtractor() { private fun findSubtitleType(url: String): SubtitleType? { // First, try to determine the type based on the URL file extension - var type: SubtitleType? = when { + val type: SubtitleType? = when { url.endsWith(".vtt", true) -> SubtitleType.VTT url.endsWith(".ass", true) -> SubtitleType.ASS url.endsWith(".srt", true) -> SubtitleType.SRT diff --git a/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt b/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt index 30a900bd..2063825e 100644 --- a/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt @@ -21,6 +21,7 @@ import androidx.viewpager2.widget.ViewPager2 import ani.dantotsu.* import ani.dantotsu.databinding.ActivityExtensionsBinding 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 kotlinx.coroutines.Dispatchers @@ -37,7 +38,8 @@ class ExtensionsActivity : AppCompatActivity() { @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityExtensionsBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/settings/FAQActivity.kt b/app/src/main/java/ani/dantotsu/settings/FAQActivity.kt index 1c9cf5c4..bd10b561 100644 --- a/app/src/main/java/ani/dantotsu/settings/FAQActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/FAQActivity.kt @@ -8,6 +8,7 @@ import ani.dantotsu.currContext import ani.dantotsu.databinding.ActivityFaqBinding import ani.dantotsu.initActivity import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet class FAQActivity : AppCompatActivity() { private lateinit var binding: ActivityFaqBinding @@ -105,7 +106,8 @@ class FAQActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityFaqBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt index 285e68fa..3d0ec8d8 100644 --- a/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/PlayerSettingsActivity.kt @@ -17,6 +17,7 @@ import ani.dantotsu.media.Media import ani.dantotsu.others.getSerialized import ani.dantotsu.parsers.Subtitle import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import com.google.android.material.snackbar.Snackbar import kotlin.math.roundToInt @@ -31,7 +32,8 @@ class PlayerSettingsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityPlayerSettingsBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt index 1603553c..ebde9bbc 100644 --- a/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt @@ -13,13 +13,15 @@ import ani.dantotsu.saveData import ani.dantotsu.snackString import ani.dantotsu.statusBarHeight import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet class ReaderSettingsActivity : AppCompatActivity() { lateinit var binding: ActivityReaderSettingsBinding private val reader = "reader_settings" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityReaderSettingsBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt index def8b728..24702c5a 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt @@ -33,6 +33,7 @@ import ani.dantotsu.subcriptions.Subscription.Companion.defaultTime import ani.dantotsu.subcriptions.Subscription.Companion.startSubscription import ani.dantotsu.subcriptions.Subscription.Companion.timeMinutes import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import com.google.android.material.snackbar.Snackbar import eu.kanade.domain.base.BasePreferences import eu.kanade.tachiyomi.network.NetworkPreferences @@ -53,11 +54,13 @@ class SettingsActivity : AppCompatActivity() { lateinit var binding: ActivitySettingsBinding private val extensionInstaller = Injekt.get().extensionInstaller() private val networkPreferences = Injekt.get() + private var cursedCounter = 0 @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivitySettingsBinding.inflate(layoutInflater) setContentView(binding.root) @@ -394,8 +397,15 @@ OS Version: $CODENAME $RELEASE ($SDK_INT) val array = resources.getStringArray(R.array.tips) binding.settingsLogo.setSafeOnClickListener { + cursedCounter++ (binding.settingsLogo.drawable as Animatable).start() - snackString(array[(Math.random() * array.size).toInt()], this) + if (cursedCounter % 7 == 0){ + snackString("youwu have been cuwsed :pwayge:") + getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).edit().putBoolean("use_cursed_lang", true).apply() + } else{ + snackString(array[(Math.random() * array.size).toInt()], this) + } + } binding.settingsDev.setOnClickListener { diff --git a/app/src/main/java/ani/dantotsu/settings/UserInterfaceSettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/UserInterfaceSettingsActivity.kt index 49d2e803..8c238b48 100644 --- a/app/src/main/java/ani/dantotsu/settings/UserInterfaceSettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/UserInterfaceSettingsActivity.kt @@ -9,6 +9,7 @@ import androidx.core.view.updateLayoutParams import ani.dantotsu.* import ani.dantotsu.databinding.ActivityUserInterfaceSettingsBinding import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import com.google.android.material.snackbar.Snackbar class UserInterfaceSettingsActivity : AppCompatActivity() { @@ -16,7 +17,8 @@ class UserInterfaceSettingsActivity : AppCompatActivity() { private val ui = "ui_settings" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() binding = ActivityUserInterfaceSettingsBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/anime/util/AnimeExtensionInstallActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/anime/util/AnimeExtensionInstallActivity.kt index 6b0a8ec1..edb528a8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/anime/util/AnimeExtensionInstallActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/anime/util/AnimeExtensionInstallActivity.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Intent import android.os.Bundle import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import eu.kanade.tachiyomi.extension.InstallStep import eu.kanade.tachiyomi.extension.anime.AnimeExtensionManager import eu.kanade.tachiyomi.util.system.hasMiuiPackageInstaller @@ -25,7 +26,8 @@ class AnimeExtensionInstallActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() val installIntent = Intent(Intent.ACTION_INSTALL_PACKAGE) .setDataAndType(intent.data, intent.type) diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/manga/util/MangaExtensionInstallActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/manga/util/MangaExtensionInstallActivity.kt index 4ddfc731..67e1ad1c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/manga/util/MangaExtensionInstallActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/manga/util/MangaExtensionInstallActivity.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Intent import android.os.Bundle import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.others.LangSet import eu.kanade.tachiyomi.extension.InstallStep import eu.kanade.tachiyomi.extension.manga.MangaExtensionManager import eu.kanade.tachiyomi.util.system.hasMiuiPackageInstaller @@ -25,7 +26,8 @@ class MangaExtensionInstallActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - ThemeManager(this).applyTheme() + LangSet.setLocale(this) +ThemeManager(this).applyTheme() val installIntent = Intent(Intent.ACTION_INSTALL_PACKAGE) .setDataAndType(intent.data, intent.type) diff --git a/app/src/main/res/values-en-rDW/strings.xml b/app/src/main/res/values-en-rDW/strings.xml new file mode 100644 index 00000000..77cf850c --- /dev/null +++ b/app/src/main/res/values-en-rDW/strings.xml @@ -0,0 +1,637 @@ + + + + webewonyion/Dantotsu + dantotsupwefs + + Dantotsu + The N-N-N-NYEW Best \>w\< Anyime & Manga app (U ﹏ U) fow ~(˘▾˘~) Andwoid. + + Wogin + Wogout + + https://discord.gg/4HPZ5nAWwM Uwu ***huggles tightly*** + https://github.com/rebelonion/Dantotsu (⑅˘꒳˘) + + H-h-h-home + Anyime + Bwowse Anyime + Manga (⑅˘꒳˘) + Bwowse Manga ( ˘ᴗ˘ ) + Info + Watch + Wead + + Anyime Wist + Manga W-w-w-wist + + X( (˘³˘) + :o + " : " ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** + + Nyo Intewnyet Connyection ***looks at you*** + Wefwesh (。U ω U。) + + Seawch ♥(。U ω U。) + Seawch ~(˘▾˘~) Wesuwts (uwu) + Sowt (uwu) By + G-g-genwe + Top Scowe + Wecentwy Updated ***walks away*** + Twending Anyime + Popuwaw Anyime + Twending Manga + Twending ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** Nyuvw (◡ ω ◡) + Popuwaw Manga + + Usewnyame + "Chaptews Wead " (˘ᵕ˘) + "Episodes Watched " + Continyue *:・゚✧(ꈍᴗꈍ)✧・゚:* Weading (◡ ꒳ ◡) + Continyue Watching + Wecommended ღ(U꒳Uღ) + + Watch/Wead some Anyime ow Manga to get \>w\< Wecommendations + Aww caught up, when Nyew!!1! + Settings + + Add to Wist + Wist Editow + A-a-a-add to Favouwites + Nyotifications + + Reading + Watching + Completed + Paused + Dropped + Planning + Favourites + Rewatching + Rereading + All + + + STATUS + + PLANNING + CURRENT + COMPLETED + REPEATING + PAUSED + DROPPED + + + PLANNING + WATCHING + COMPLETED + RE-WATCHING + PAUSED + DROPPED + + + PLANNING + READING + COMPLETED + RE-READING + PAUSED + DROPPED + + PWOGWESS (˘³˘) + SCOWE (。U ω U。) + " / ^-^ 10" ( ͡o ꒳ ͡o ) + STAWTED AT + COMPWETED AT + Save + Dewete + Wemuv + + Nyame + Nyame ( ᴜ ω ᴜ ) Womaji – ̗̀ (ᵕ꒳ᵕ) ̖́- ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** + Mean Scowe („ᵕᴗᵕ„) + Fowmat + Status x3 + Totaw Episodes + Totaw \>w\< Chaptews + Avewage Duwation + " min" + Season + Stawt D-d-date + End ***cries*** Date UwU + Souwce uwU + Studio + Genwes ***boops your nose*** + Synyopsis + Chawactews + Wewations ღ(U꒳Uღ) + + Wowes + Detaiws + + Pway UwU ***looks at you*** on (˘³˘) Y-y-youtube ***screeches*** + E-e-e-episodes + Episode (⑅˘꒳˘) + Chaptews + Chaptew + Wrong Title? + + (ᴜ‿ᴜ✿) Couwdn\'t find anything X( \n + ♥(。U ω U。) Twy anyothew souwce. + + %1$s is nyot ***glomps and huggles*** suppowted!!1! (˘˘˘) + Sewect Sewvew + Auto ( ͡o ꒳ ͡o ) S-s-sewecting Sewvew ***nuzzles your necky wecky*** + Make Defauwt + Fiwwew ( ˘ᴗ˘ ) ***runs away*** + Aduwt ÚwÚ + Wist O-o-o-onwy + Tag (ᵘﻌᵘ) + Tags + Synyonyms + Twaiwew (⑅˘꒳˘) + Openying (˘ᵕ˘) + Ending (◡ w ◡) ***screeches*** + Pwequew + S-s-s-sequew (ᴜ‿ᴜ✿) ***screams*** + + Anyiwist Settings + E-e-extension (◡ w ◡) + Downwoads + Settings + Extensions + Pwayew Settings – ̗̀ (ᵕ꒳ᵕ) ̖́- + Onwy show My Shows in x3 Wecentwy *˚*(ꈍ ω ꈍ).₊̣̇. Updated + Downwoad Manyagew ***runs away*** + Downwoad *˚*(ꈍ ω ꈍ).₊̣̇. in SD cawd (。ᴜ‿‿ᴜ。) + Nyo (◡ ꒳ ◡) SD Uwu cawd (˘³˘) was Found. ( ͡o ᵕ ͡o ) + Weadew Settings + Defauwt Souwce ( ͡o ᵕ ͡o ) + Show Youtube Wink + Defauwt Episode Wayout ***nuzzles your necky wecky*** + Defauwt Chaptew Wayout + Usew ***smirks smuggly*** Intewface + Common + Theme + UI Settings + About ( ˊ.ᴗˋ ) ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** + "-"-" Dantotsu is ღ(U꒳Uღ) ***boops your nose*** c-c-c-cwafted x3 fwom the (˘ε˘) ashes ÚwÚ of :3 Saikou ( 。ᵘ ᵕ ᵘ 。) and based o-o-o-on ***sweats*** simpwistic yet state-of-the-awt ewegance. It is an Anyiwist onwy cwient, ( 。ᵘ ᵕ ᵘ 。) ***runs away*** which awso wets ;;w;; you stweam-downwoad (ᴜ‿ᴜ✿) Anyime thwough (˘ሠ˘) extensions & Manga.\nDantotsu witewawwy means ~(˘▾˘~) the \"best of the ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** b-b-best\" in japanyese. \>w\< Weww, ღ(U꒳Uღ) we wouwd wike ^w^ to ***wags my tail*** say this (uwu) is the b-b-b-best ÚwÚ open souwce app fow anyime (◡ w ◡) and uwU manga o-o-on Andwoid, (。U ω U。) what wouwd you say?" + Devewopews ***blushes*** + Discwaimew + + ♥(。U ω U。) ------- Dantotsu by itsewf onwy p-p-p-pwovides (˘ε˘) an \>w\< anyime and manga ^w^ twackew and does ♥(。U ω U。) nyot ღ(U꒳Uღ) pwovide any anyime ow m-m-m-manga OwO ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** stweaming ow ***huggles tightly*** downwoading ღ(U꒳Uღ) ***licks lips*** capabiwities. + ***whispers to self*** \n\n - Dantotsu ow any of ( ͡U ω ͡U ) i-i-i-its devewopew/staff ***glomps and huggles*** don\'t host any *˚*(ꈍ ω ꈍ).₊̣̇. o-o-o-of t-t-t-the (ᵘʷᵘ) content found (◦ᵕ ˘ ᵕ◦) inside Dantotsu. ^w^ Any :3 and aww ( ˊ.ᴗˋ ) images and ( ˘ᴗ˘ ) ***screeches*** anyime/manga ***nuzzles your necky wecky*** infowmation (ᵕᴗ ᵕ⁎) found in uwU the app awe t-t-taken ( ˘ᴗ˘ ) fwom ( ͡o ꒳ ͡o ) vawious pubwic ***nuzzles your necky wecky*** APIs (-(-(-(AnyiWist, MyAnyimeWist, Kitsu). + \n\n ***cries*** - ♥(。U ω U。) Fuwthewmowe, ( ˘ᴗ˘ ) aww of the (˘ᵕ˘) anyime/manga ***licks lips*** winks found in ;;w;; Dantotsu ( ᴜ ω ᴜ ) awe (˘ሠ˘) taken fwom vawious 3wd pawty (◡ ሠ ◡) pwugins and have nyo affiwiation with Dantotsu ow its staff. + (◡ w ◡) \n\n ***nuzzles your necky wecky*** - Dantotsu ow it\'s ownyews awen\'t wiabwe fow any misuse of any of ( ͡U ω ͡U ) t-t-the (˘³˘) contents found inside ( ˘ᴗ˘ ) ow (。ᴜ‿‿ᴜ。) outside of ~(˘▾˘~) the app and cannyot (ᴜ‿ᴜ✿) b-b-b-be hewd accountabwe ***smirks smuggly*** fow ***huggles tightly*** the ( ͡o ꒳ ͡o ) distwibution (˘ᵕ˘) o-o-of any (˘ε˘) of the contents ( ᵘ ꒳ ᵘ ✼) found inside (・\`ω\´・) the ~(˘▾˘~) app. + \n\n - ***licks lips*** By ( 。ᵘ ᵕ ᵘ 。) ***whispers to self*** using Dantotsu, you compwy to (˘³˘) the fact owo that the („ᵕᴗᵕ„) devewopew ღ(U꒳Uღ) of the app is nyot (。U ω U。) wesponsibwe fow any of the (。U ω U。) contents (U ﹏ U) f-f-f-found in ( ͡U ω ͡U ) t-t-the app. You awso ( ͡o ꒳ ͡o ) ***whispers to self*** agwee t-t-t-to the (˘ሠ˘) fact (˘ω˘) that OwO you may ***whispers to self*** n-n-n-nyot use Dantotsu (U ﹏ U) to downwoad ow stweam any copywighted (˘ω˘) ***blushes*** content. + (。ᴜ‿‿ᴜ。) \n\n - (⑅˘꒳˘) If the intewnyet infwingement issues awe invowved, pwease (ᵕᴗ ᵕ⁎) ***glomps and huggles*** c-c-contact (˘³˘) the (˘³˘) ***nuzzles your necky wecky*** souwce website. The devewopew (。ᴜ‿‿ᴜ。) does nyot assume ~(˘▾˘~) any ( ᴜ ω ᴜ ) wegaw wesponsibiwity. + + Vewsion %1$s ***smirks smuggly*** + + You can Long Click an episode/chapter to Mark it as Read. + Long Clicking Shows can directly open List Editor. + There are few more easter eggs hidden in the App. + Challenge: Go to the very bottom of the Popular Anime & Manga + Try Long Clicking the Show\'s Title. + Damn, why are you wasting your Time? + You can Long Click to copy this Message. + OMG LOOK! YOU FOUND AN EASTER EGG!? + You know who else likes this Animation? + MAL support? bruh. + Novels? more like NO vels. + Long Click the logo to check for App Update + + + + Default + Theme 1 + Theme 2 + Theme 3 + Theme 4 + + + Video + Show ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** Video Info + Show Souwce Nyame ~(˘▾˘~) + Shows w-w-what the Wesowution o-o-o-of :3 the c-c-c-cuwwent v-v-video pwaying, usefuw fow \"Multi Quality\" servers. + Auto Quawity Sewection + Height + Width + A-a-automaticawwy uses the ***licks lips*** cwosest quawity pwovided (・\`ω\´・) ***cries*** by (◡ ꒳ ◡) defauwt, ONWY appwied fow (。U ω U。) \"Muwti (ᵘﻌᵘ) ***screeches*** Quawity\" ***boops your nose*** Sewvews. Auto changes *˚*(ꈍ ω ꈍ).₊̣̇. upon pwaying ***boops your nose*** a (˘˘˘) video. + Defauwt P-p-pwayback Speed : %1$s + C-c-c-cuwsed ***whispers to self*** Speeds + Defauwt Wesize ***whispers to self*** Mode + Subtitwes ( ˘ᴗ˘ ) + Subtitwes ^-^ + Subtitwe Cowow – ̗̀ (ᵕ꒳ᵕ) ̖́- + Subtitwe (・\`ω\´・) Outwinye Cowow (˘ω˘) ***pounces on you*** + Subtitwe Outwinye (ᴜ‿ᴜ✿) Type *˚*(ꈍ ω ꈍ).₊̣̇. ***screeches*** + Subtitwe Backgwound Cowow + Subtitwe (˘ሠ˘) W-w-window ***blushes*** Cowow ( ͡o ᵕ ͡o ) + "The (˘˘˘) ***walks away*** subtitwe window is (◡ ሠ ◡) the ^w^ pawt weft :3 ***whispers to self*** and ( ͡o ꒳ ͡o ) ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** wight fwom them. (。U ω U。) (whewe t-t-the ღ(U꒳Uღ) backgwound isn\'t)" (˘ω˘) + Note: Changing Subtitle formatting only works with Soft-Subbed Sources such as Zoro! + Subtitwe Font ^-^ + Subtitwe Size ÚwÚ + + Auto + Autopway Nyext E-e-episode + Automaticawwy ;;w;; disabwes if (ᴜ‿ᴜ✿) thewe is n-n-n-nyo (ᵘʷᵘ) intewaction \>w\< with pwayew aftew 1 ÚwÚ ***screeches*** houw. + Auto Skip ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** Fiwwews + Skips ^w^ fiwwew (ᵕᴗ ᵕ⁎) episodes (ᵘﻌᵘ) when (・\`ω\´・) ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** going to nyext (ᵘﻌᵘ) episode. *˚*(ꈍ ω ꈍ).₊̣̇. + + U-u-u-update Pwogwess + Ask fow each ***walks away*** Anyime ( ͡o ᵕ ͡o ) \"Individuawwy\" + Ask ***glomps*** fow („ᵕᴗᵕ„) e-e-e-each (ᵘʷᵘ) Manga \"Individuawwy\" (uwu) ***looks at you*** + T-t-tuwnying ***looks at you*** off ( ᴜ ω ᴜ ) wiww awways automaticawwy update (◦ᵕ ˘ ᵕ◦) pwogwess x3 when the \>w\< episode ***nuzzles your necky wecky*** is (˘˘˘) w-w-w-watched. + T-t-tuwnying off wiww ***runs away*** awways a-a-a-automaticawwy update pwogwess (⑅˘꒳˘) when the chaptew is wead. UwU + Update Pwogwess ***licks lips*** fow Hentai + Update Pwogwess fow Doujins ***screeches*** + vewy bowd of you (◦ᵕ ˘ ᵕ◦) saw + Watch Update Pewcentage + T-t-the pewcentage (⑅˘꒳˘) at ***glomps*** which youw Anyiwist pwogwess shouwd be updated („ᵕᴗᵕ„) aftew watching an episode. \nThis awso (uwu) sets ***nuzzles your necky wecky*** t-t-t-the \% fow when to x3 pwewoad ***wags my tail*** winks fow the nyext ( ᵘ ꒳ ᵘ ✼) episode. + + Behaviouw \>w\< + Awways (◡ w ◡) Continyue (ᵘﻌᵘ) f-f-fwom ***wags my tail*** whewe you weft Uwu off (。ᴜ‿‿ᴜ。) + Pause ***walks away*** when nyot in F-f-focus + Vowume \>w\< & ^w^ Bwightnyess Gestuwes + Doubwe tap ღ(U꒳Uღ) to (◡ w ◡) Seek + Fast *:・゚✧(ꈍᴗꈍ)✧・゚:* Fowwawd + Tuwnying off w-w-w-wiww show fast fowwawd (˘ε˘) & w-w-wewind buttons ♥(。U ω U。) + Seek T-t-t-time + Amount ( ᴜ ω ᴜ ) of ( ˊ.ᴗˋ ) time in seconds fow fast ^w^ ***smirks smuggly*** fowwawd ***pounces on you*** & (。ᴜ‿‿ᴜ。) wewind. + Skip Time + Setting to 0, OwO hides the Skip Button. + Show Cast Button ***glomps*** + Wequiwes ***blushes*** \-\-\"Web Video Castew\" app to cast. ღ(U꒳Uღ) + Pictuwe in Pictuwe (ᵕᴗ ᵕ⁎) + A-a-a-awways Minyimize + Wequiwes PiP to be enyabwed, ^w^ makes the x3 pwayew b-b-behave OwO wike (。ᴜ‿‿ᴜ。) Youtube Pwayew but bettew.\nAwso (◦ᵕ ˘ ᵕ◦) hides the PiP button. (uwu) + + App (◡ w ◡) + H-h-hide (ᵘʷᵘ) S-s-status (ᵘﻌᵘ) Baw (˘ሠ˘) + Wequiwes (˘ω˘) App westawt (˘³˘) t-t-t-to fuwwy appwy. + Show/Hide Uwu Wayouts o-o-on (ᵘʷᵘ) Home + + Continue Watching + Favourite Anime + Planned Anime + Continue Reading + Favourite Manga + Planned Manga + Recommended + + + Defauwt Stawt Up *˚*(ꈍ ω ꈍ).₊̣̇. Tab *:・゚✧(ꈍᴗꈍ)✧・゚:* + S-s-s-smaww ***screeches*** View x3 in Twending ~(˘▾˘~) ***looks around suspiciously*** S-s-shows *˚*(ꈍ ω ꈍ).₊̣̇. + Anyimations + Bannyew Anyimations + Wayout Anyimations (ᵘʷᵘ) + Ovewaww uwU Speed (U ᵕ U❁) ***licks lips*** + Wooks wike you don\'t (◡ w ◡) wike anything,\nTwy (。U ω U。) ***runs away*** wiking ***huggles tightly*** a show to keep it ~(˘▾˘~) hewe. + Favouwite (ᵕᴗ ᵕ⁎) Anyime + Favouwite M-m-m-manga ***wags my tail*** + Westawt t-t-the app!? ♥(。U ω U。) + Nyext (◡ ሠ ◡) + Pwevious ( ˘ᴗ˘ ) + Cuwwent Page + Dubbed ~(˘▾˘~) ***glomps*** + Subbed (◦ᵕ ˘ ᵕ◦) + Pwefew Dubbed (˘˘˘) Anyime + Nyonye + Sewected DNS + Change if youw (ᵘʷᵘ) ISP bwocks any souwce ***looks around suspiciously*** + Keep (◡ ሠ ◡) Scween On + Wayout + Spaced Pages + Diwection (ᵘﻌᵘ) + + Genyewaw ***looks at you*** + Show ***wags my tail*** Status & (˘ᵕ˘) Nyavigation Baws + Auto (⑅˘꒳˘) Detect x3 Webtoon + If the ;;w;; Manga ***blushes*** is n-n-n-nyot fwom Japan, the w-w-w-weadew w-w-w-wiww ^w^ defauwt to (。U ω U。) Webtoon Weadew Settings + Defauwt Settings ***pounces on you*** + Howizontaw (ᵘﻌᵘ) Scwoww (ᵕᴗ ᵕ⁎) Baw + Duaw Uwu Page ( ᵘ ꒳ ᵘ ✼) + Shows 2-2-2-2 ^-^ Images in 1 *:・゚✧(ꈍᴗꈍ)✧・゚:* p-p-p-page, wiww wook (˘ε˘) w-w-w-weiwd (◡ ሠ ◡) ***boops your nose*** i-i-if the ( ͡o ᵕ ͡o ) images owo ***looks around suspiciously*** awen\'t the (˘ሠ˘) same size + T-t-t-twue Cowows + (32-bit c-c-cowow Mode) Weduces Banding on the images, may affect ;;w;; pewfowmance. + I-i-i-image (◡ ω ◡) Wotation + H-h-hide Page Nyumbews + Sowt by ***huggles tightly*** T-t-t-titwe ღ(U꒳Uღ) + Sowt by Wast Updated (◡ ሠ ◡) + S-s-s-sowt by Scowe ♥(。U ω U。) + Ovew S-s-scwoww t-t-t-to ( ᴜ ω ᴜ ) Nyext/Pwevious Chaptew ( ᵘ ꒳ ᵘ ✼) + Change (◡ ꒳ ◡) ***screams*** pages with ***blushes*** V-v-v-vowume ~(˘▾˘~) Buttons + Pwivate + Wwap Images (⑅˘꒳˘) + Mostwy usefuw fow wawgew ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** devices, ( ͡o ꒳ ͡o ) ***looks at you*** w-w-wemuvs space between images, if ღ(U꒳Uღ) they exist. + Wewoad OwO + S-s-shawe (ㅅꈍ ˘ ꈍ) + Skip + Show (◡ ꒳ ◡) ***cries*** Skip (ᵕᴗ ᵕ⁎) Time (◡ w ◡) Stamp Button + Awways Woad Time (◡ ω ◡) Stamps (◡ ꒳ ◡) + Time Stamps + Othew + Auto (˘ሠ˘) Skip ( 。ᵘ ᵕ ᵘ 。) OP / (・\`ω\´・) ED + Wequiwes Time (ᵘﻌᵘ) Stamps to ( ͡U ω ͡U ) be ♥(。U ω U。) Enyabwed :3 + TOTAW WEPEATS + Custom ( 。ᵘ ᵕ ᵘ 。) ***glomps and huggles*** Wists + Want to suppowt Dantotsu\'s ( ᵘ ꒳ ᵘ ✼) Maintainyew?\nConsidew ~(˘▾˘~) Donyating (U ᵕ U❁) + Nyo donyation ***wags my tail*** goaw ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** atm + Fiwtew + Yeaw (⑅˘꒳˘) + Appwy ***walks away*** + Cancew owo + This S-s-season (ᵘﻌᵘ) ***screeches*** + Nyext Season (◡ ω ◡) ***cries*** + Pwevious Season UwU + I-i-i-incwude Wist ~(˘▾˘~) ***whispers to self*** + Cawendaw + Pwannyed A-a-a-anyime ( ͡o ꒳ ͡o ) + Pwannyed (ᴜ‿ᴜ✿) ***screeches*** Manga + Open (˘ε˘) image by Wong (ᵕᴗ ᵕ⁎) Cwicking + Awways continyue Shows + Usefuw if you awe g-g-g-getting (⑅˘꒳˘) Handshake (˘ᵕ˘) Faiws OwO + Use Pwoxy ***looks around suspiciously*** fow Timestamps + Awways ~(˘▾˘~) check ( ˊ.ᴗˋ ) fow (ᵕᴗ ᵕ⁎) ***whispers to self*** A-a-a-app Updates (◡ w ◡) + Authow + Vewsions + FAQ + Accounts + MyAnyimeWist + Wogin ***blushes*** with Anyiwist!? ( ˘ᴗ˘ ) + Anyiwist + How (◡ w ◡) ***glomps and huggles*** does ( 。ᵘ ᵕ ᵘ 。) this (。ᴜ‿‿ᴜ。) wowk\?!?! ***licks lips*** + +- +- + Dantotsu i-i-i-is (ㅅꈍ ˘ ꈍ) a-a-an Anyiwist Based ***huggles tightly*** App, ***huggles tightly*** so fow ( ˘ᴗ˘ ) s-s-syncing with (uwu) youw ;;w;; MAW Account, ***wags my tail*** It ( ͡U ω ͡U ) nyeeds (◡ ꒳ ◡) an Anyiwist account to be wogged ( ˊ.ᴗˋ ) ***blushes*** in. + („ᵕᴗᵕ„) \nOnce (・\`ω\´・) wogged in with both Anyiwist ( ͡o ꒳ ͡o ) and MAW (˘ε˘) accounts, the app w-w-w-wiww automaticawwy u-u-u-update youw ***looks around suspiciously*** MAW a-a-a-account whenyevew: + \n- Add a nyew M-m-media + (ᵘﻌᵘ) \n- Edit a ღ(U꒳Uღ) Media + \n- (◡ w ◡) Dewete (。ᴜ‿‿ᴜ。) a Media + + (◡ w ◡) ***huggles tightly*** \n\nNyote: The a-a-a-app (◡ w ◡) wiww nyot sync owd Media\'s (◡ w ◡) fwom Anyiwist (ᴜ‿ᴜ✿) to M-M-M-MAW, x3 It\'s w-w-w-wecommended ( ͡U ω ͡U ) to sync ( ˊ.ᴗˋ ) ***sweats*** them. + (˘ε˘) \n- Check __FAQs__ ^w^ fow _Easy Method_ + + \n\nAnd fow (ᵘﻌᵘ) _Intewmediates_ : + \n- [How t-t-to (uwu) sync – ̗̀ (ᵕ꒳ᵕ) ̖́- Anyiwist ღ(U꒳Uღ) d-d-d-data with MAL](https://anilist.co/forum/thread/2654) + \n- owo [How ^-^ to sync MAW data with (ᵕᴗ ᵕ⁎) ***cries*** Anilist](https://anilist.co/forum/thread/3393) + + \n\n_It ***licks lips*** is nyot wequiwed to sync both M-M-M-MAW and Anyiwist a-a-accounts._ + (◡ w ◡) + Show nyotification fow ***screams*** Checking Subscwiptions + Nyotification fow Checking Subscwiptions + Subscwiptions Update Fwequency : %1$s + Subscwiptions ( ͡U ω ͡U ) Update Fwequency + Amount of time fow Dantotsu to pewiodicawwy check fow ;;w;; nyew UwU Episodes/Chaptews\n(Wess time – ̗̀ (ᵕ꒳ᵕ) ̖́- wiww cause („ᵕᴗᵕ„) mowe battewy \>w\< consumption) (◡ ω ◡) + Don\'t Update ( 。ᵘ ᵕ ᵘ 。) + W-w-w-woading Nyext (◡ ω ◡) Chaptew + Gwid (˘ε˘) + Sowt ***wags my tail*** by Wewease UwU Date + Cwop (˘ε˘) Bowdews + NYOTE + + + DAMN!!1! YOU TWUWY (◡ ꒳ ◡) ***screams*** AWE ***blushes*** JOBWESS\nYOU WEACHED THE END x3 + Couwdn\'t find (◡ ꒳ ◡) any Fiwe Manyagew to open ;;w;; SD ♥(。U ω U。) cawd + Ewwow woading ^-^ data %1$s (˘ᵕ˘) + You (・\`ω\´・) Wong C-c-c-cwick (ᵘʷᵘ) the button to check fow Uwu App Update + Saved to:\n%s („ᵕᴗᵕ„) + Setting ***blushes*** p-p-pwogwess (ᵘﻌᵘ) to ***sweats*** %-%-%1$d + Pwease ( ͡U ω ͡U ) Wogin (⑅˘꒳˘) into anyiwist ***screeches*** account!? + Congwats \>w\< Vwo + P-p-pwease Wewoad. (。U ω U。) + Copied "%1$s" ( ˊ.ᴗˋ ) + Pwease (。U ω U。) pewfowm BACK again to Exit + Nyo ÚwÚ Intewnyet ***sweats*** Connyection (◡ ሠ ◡) + Seems (⑅˘꒳˘) wike that wasn\'t found on x3 Anyiwist. + Disabwed *˚*(ꈍ ω ꈍ).₊̣̇. A-a-auto Skipping ( ͡o ꒳ ͡o ) OP ^w^ & E-E-ED + Auto Skipping OP ***smirks smuggly*** & ED ***screams*** + Copied to ^-^ Cwipboawd + This ÚwÚ is the (uwu) 1st Episode?!?! + You can wong cwick ( ᵘ ꒳ ᵘ ✼) Wist Editow ÚwÚ button t-t-t-to Weset Auto Update + Autopway (◡ ꒳ ◡) cancewwed, (U ᵕ U❁) nyo ( ᵘ ꒳ ᵘ ✼) I-i-intewaction UwU ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** fow mowe („ᵕᴗᵕ„) than 1 Houw. + Couwdn\'t (。U ω U。) auto ***huggles tightly*** sewect (ᵘʷᵘ) the *˚*(ꈍ ω ꈍ).₊̣̇. sewvew, Pwease twy again!? + Wogging in MAW + Getting U-u-usew \>w\< Data ***cries*** + Nyo (ㅅꈍ ˘ ꈍ) nyext E-e-e-episode Found?!! ( ˊ.ᴗˋ ) + Twy ***walks away*** Enyabwing (U ﹏ U) Bannyew Anyimations ***runs away*** fwom Settings + Pwease ***pounces on you*** Wogin with Anyiwist!? ***nuzzles your necky wecky*** + Auto Update Pwogwess h-h-has nyow been (。ᴜ‿‿ᴜ。) Weset-ed ( ͡o ᵕ ͡o ) + Can\'t Wait, huh?!?! ***glomps*** finye (˘ε˘) X( + Downwoading… UwU + Nyext Chaptew Nyot Found + This is ***looks at you*** the 1-1-1st Chaptew!!1! ;;w;; ***wags my tail*** + Aduwt (⑅˘꒳˘) Stuff?( ͡° ͜ʖ ^w^ ͡° ) + W-w-what d-d-did (。ᴜ‿‿ᴜ。) you even ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** open?!! – ̗̀ (ᵕ꒳ᵕ) ̖́- + Ewwow ***sweats*** getting OwO Data fwom Anyiwist. (˘ሠ˘) + Empty Wesponse, Does ***cries*** youw (ᵘʷᵘ) intewnyet pewhaps suck?!! ***wags my tail*** + Ewwow woading MAW Usew Data + Faiwed (ㅅꈍ ˘ ꈍ) to woad data (uwu) fwom ÚwÚ MAW (◡ w ◡) + Ewwow woading Anyiwist Usew (◦ᵕ ˘ ᵕ◦) ***boops your nose*** Data + Couwdn\'t find e-e-e-episode : %1$s + Wist (ㅅꈍ ˘ ꈍ) Updated + Deweted fwom ***screams*** Wist + Nyo Wist ID found, wewoading… ^-^ ***screams*** + Checking (ㅅꈍ ˘ ꈍ) fow ***huggles tightly*** Update + Don\'t ^-^ show a-a-again ~(˘▾˘~) ***cries*** fow vewsion ( ᴜ ω ᴜ ) %1$s + Nyo ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** U-u-u-update Found + Downwoading Update (◡ ꒳ ◡) %1$s ( ᴜ ω ᴜ ) + Pwease give (◡ ሠ ◡) p-p-pewmission to (◡ w ◡) access Fiwes & ***screeches*** Fowdews fwom Settings, & Twy again. (U ﹏ U) + S-s-s-stawted (◡ ꒳ ◡) Downwoading\n%1$s + Pwease ( 。ᵘ ᵕ ᵘ 。) instaww ***glomps*** 1-1-1-1DM ***looks around suspiciously*** + Pwease instaww OwO ADM (ㅅꈍ ˘ ꈍ) + Ewwow getting Image Data + Woading Image Faiwed (ᵘﻌᵘ) + Copied device info + Seems wike Anyiwist is (◡ ω ◡) down, m-m-maybe twy using *˚*(ꈍ ω ꈍ).₊̣̇. a VPN ***screeches*** ow you c-c-can wait UwU fow ♥(。U ω U。) it to come ***blushes*** back. + Faiwed to w-w-w-woad („ᵕᴗᵕ„) saved (ᴜ‿ᴜ✿) data of %1$d + Wasn\'t abwe uwU to x3 get (◡ ω ◡) a-a-access + Maw ( ᴜ ω ᴜ ) Wogin : U-u-u-uwi nyot Found + Maw (ㅅꈍ ˘ ꈍ) Wogin : codeChawwenge n-n-nyot found + Maw Wogin : Code nyot pwesent ( 。ᵘ ᵕ ᵘ 。) in (ᵘʷᵘ) Wediwected UWI + W-w-wefwesh Token : Faiwed to woad Saved (⑅˘꒳˘) Token + Wefweshing Token ***cries*** Faiwed + Episode (ㅅꈍ ˘ ꈍ) %-%-%1$d wiww ( ͡o ꒳ ͡o ) b-b-be (˘ᵕ˘) ***runs away*** w-w-w-weweased in + %1$d d-d-days %2$d hws ( 。ᵘ ᵕ ᵘ 。) %3$d ^-^ mins %4$d OwO secs + + Score + Popular + Trending + A-Z + Z-A + What? + + MAIN ( 。ᵘ ᵕ ᵘ 。) + SUPPOWTING uwU + + FINYISHED ***boops your nose*** + WEWEASING + NYOT (˘ε˘) YET WEWEASED ***whispers to self*** + CANCEWWED + HIATUS + + ADAPTATION + P-P-P-PAWENT ^-^ + CHAWACTEW + S-S-S-SUMMAWY + AWTEWNYATIVE ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** + OTHEW + SOUWCE (uwu) + CONTAINS ( ͡o ꒳ ͡o ) + + W-w-wead on Dantotsu :3 + Watch ***wags my tail*** on Dantotsu ***wags my tail*** + "Continyue ^-^ : Episode (◡ ꒳ ◡) " + "Continyue : " + "Episode " OwO + "Episode (˘ω˘) %1$s" + "Chaptew (◡ ꒳ ◡) "-"-" Uwu + "Chaptew uwU %1$s" + - just got w-w-weweased?!?! + Checking ( ᵘ ꒳ ᵘ ✼) Subscwiptions + + Speed + Auto Update pwogwess ***glomps and huggles*** fow („ᵕᴗᵕ„) %1$s?!?1 + Continyue ***wags my tail*** fwom uwU ***looks at you*** %1$s!!11 ***screams*** + U-u-update pwogwess \>w\< on a-a-a-anyiwist?!?! + "Don\'t ***smirks smuggly*** ask (˘ω˘) again ^w^ fow ^-^ %1$s" uwU + Defauwt Speed (˘˘˘) + Defauwt (ᴜ‿ᴜ✿) Wesize Mode + Pwimawy Sub C-c-cowow ( ᵘ ꒳ ᵘ ✼) + Outwinye Sub Cowow (˘ሠ˘) + Outwinye Type – ̗̀ (ᵕ꒳ᵕ) ̖́- + Subtitwe Font (˘³˘) + + + Yes + Nyo + Cwose + Nyo Chaptew ***wags my tail*** + Tuwn OwO on (ᴜ‿ᴜ✿) 18+ Content ( ˘ᴗ˘ ) f-f-f-fwom youw Anyiwist S-s-settings + A-a-a-avaiwabwe + Wet\'s Go + Cope + + "Watched UwU ***screeches*** " + "Wead (˘ᵕ˘) " (˘˘˘) + " ***runs away*** out of " ( ͡o ᵕ ͡o ) + " out of " + "Totaw of ( ͡U ω ͡U ) " ( ͡o ᵕ ͡o ) ***blushes*** + "Totaw of " + "Nyo (。ᴜ‿‿ᴜ。) ***sweats*** Descwiption (˘˘˘) A-a-avaiwabwe" + + + Top to Bottom + Right to Left + Bottom to Top + Left to Right + + + + Paged + Continuous Paged + Continuous + + + Sewected (⑅˘꒳˘) + Found + + "__Age:__ (˘ሠ˘) " + \n"__Biwthday:__ " + \n"__Gendew:__ (ᵕᴗ ᵕ⁎) "" + + Mawe + Femawe + + W-w-w-what is („ᵕᴗᵕ„) Dantotsu?\n Why shouwd you use Dantotsu?!?1 + Dantotsu is cwafted fwom ( 。ᵘ ᵕ ᵘ 。) the ashes (˘ሠ˘) of Saikou and (ᵘﻌᵘ) based ( ͡U ω ͡U ) on simpwistic yet ^w^ state-of-the-awt – ̗̀ (ᵕ꒳ᵕ) ̖́- ewegance. It *˚*(ꈍ ω ꈍ).₊̣̇. ***cries*** is an Anyiwist onwy cwient, which („ᵕᴗᵕ„) awso wets you stweam ***huggles tightly*** & downwoad Anyime uwU / Manga thwough ***smirks smuggly*** extensions. ***huggles tightly*** \n>Dantotsu ^w^ (断トツ; (uwu) ***walks away*** Dan-totsu) ***glomps*** witewawwy means the ( ˘ᴗ˘ ) best of the best ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** in ( ˘ᴗ˘ ) J-j-japanyese. Weww, ***nuzzles your necky wecky*** we wouwd wike to say (⑅˘꒳˘) this i-i-i-is the (。U ω U。) best open *˚*(ꈍ ω ꈍ).₊̣̇. souwce app fow anyime (˘³˘) a-a-and manga on Andwoid, but hey, Twy it (・\`ω\´・) out youwsewf (˘ሠ˘) & (◡ ω ◡) judge!!1! ***looks at you*** + + What awe ( ᴜ ω ᴜ ) some featuwes of (。ᴜ‿‿ᴜ。) Dantotsu!!11 (˘˘˘) + Some (U ᵕ U❁) ***screeches*** mentionyabwe featuwes *˚*(ꈍ ω ꈍ).₊̣̇. of (⑅˘꒳˘) D-d-dantotsu awe\n\n- Easy and x3 functionyaw way to both, ღ(U꒳Uღ) w-w-w-watch Uwu anyime and w-w-w-wead manga ( ᴜ ω ᴜ ) and („ᵕᴗᵕ„) wight nyuvws, ***sweats*** Ad Fwee.\n- ( ͡U ω ͡U ) A-a-a-a compwetewy open souwce app ÚwÚ with (ㅅꈍ ˘ ꈍ) a (˘ሠ˘) n-n-nyice ( ᴜ ω ᴜ ) UI &-&-& ~(˘▾˘~) Anyimations\n- ^-^ ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** 3wd pawty pwugin suppowt (◡ ሠ ◡) \n- (˘³˘) Synchwonyize anyime and manga weaw-time with AnyiWist. (U ﹏ U) Easiwy categowize (◡ ω ◡) anyime (ᵘʷᵘ) and manga ^-^ based on (。U ω U。) youw cuwwent ***whispers to self*** status. (˘˘˘) (Powewed by A-a-anyiWist)\n- Find aww shows u-u-u-using (。U ω U。) thowoughwy ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** and fwequentwy (・\`ω\´・) ***screams*** updated OwO wist of (U ᵕ U❁) aww twending, popuwaw and (◡ w ◡) ongoing a-a-a-anyime based uwU on s-s-s-scowes.\n- View extensive ( ͡o ᵕ ͡o ) detaiws about anyime (◡ ω ◡) shows, movies and (ᵕᴗ ᵕ⁎) manga ( ᵘ ꒳ ᵘ ✼) titwes. It a-a-awso ***blushes*** featuwes abiwity to countdown (˘ω˘) to the nyext episode of (◡ ሠ ◡) aiwing ( ˘ᴗ˘ ) anyime. (Powewed b-b-b-by ***screeches*** A-a-a-anyiWist (ᴜ‿ᴜ✿) & M-m-myAnyimeWist) + + W-w-w-what (◡ ω ◡) awe Awtifacts!!1! (U ᵕ U❁) + Whenyevew ***cries*** a devewopew commits o-o-ow (U ﹏ U) ***walks away*** puww (⑅˘꒳˘) wequests a (ᵘʷᵘ) featuwe ***pounces on you*** ow ( ͡U ω ͡U ) fix, GitHub ( 。ᵘ ᵕ ᵘ 。) automaticawwy makes UwU an ***looks at you*** APK ( 。ᵘ ᵕ ᵘ 。) fiwe fow *˚*(ꈍ ω ꈍ).₊̣̇. you to use. This (˘ω˘) APK (˘˘˘) is cawwed an Awtifact. (˘ω˘) Awtifacts (◦ᵕ ˘ ᵕ◦) thwough puww wequests ~(˘▾˘~) may ow may ÚwÚ nyot be added to (◡ ω ◡) the main (ᵘﻌᵘ) wewease (˘ᵕ˘) ***pounces on you*** o-o-o-of the app. Awtifacts have a highew c-c-c-chance of having b-b-bugs ♥(。U ω U。) and (◡ ω ◡) gwitches. To (⑅˘꒳˘) knyow if ***wags my tail*** nyew (⑅˘꒳˘) awtifacts (˘ᵕ˘) ***wags my tail*** awe avaiwabwe, Uwu staw (uwu) the Dantotsu wepositowy and (ᵕᴗ ᵕ⁎) tuwn on nyotifications\n\nTo ***nuzzles your necky wecky*** d-d-downwoad ÚwÚ an (˘ሠ˘) Awtifact:\n1) Sign (U ﹏ U) ***screeches*** In/Up (U ᵕ U❁) ***glomps and huggles*** in GitHub\n2) Go t-t-t-to (◦ᵕ ˘ ᵕ◦) Dantotsu\n3) :3 ***walks away*** Go (ᵘﻌᵘ) to (˘ε˘) actions\n4) (˘ሠ˘) Pwess o-o-o-on the wowkfwow wun you ***glomps and huggles*** want (・\`ω\´・) to (U ᵕ U❁) downwoad the awtifact o-o-o-of.\n5) Pwess on awtifact\n6) ***whispers to self*** Extwact ღ(U꒳Uღ) the fiwe using a zip extwactow\n7) UwU Instaww ( ᴜ ω ᴜ ) and enjoy. + + Is D-d-dantotsu ♥(。U ω U。) avaiwabwe (˘³˘) ***boops your nose*** fow (uwu) PC?!?1 (˘ሠ˘) + Cuwwentwy ***glomps and huggles*** nyo (◡ ꒳ ◡) ***wags my tail*** (fow (U ᵕ U❁) b-b-b-both Windows ***wags my tail*** and (ᴜ‿ᴜ✿) ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** Winyux). Thewe ( ͡o ᵕ ͡o ) isn\'t (◡ ꒳ ◡) any e-e-e-estimation ( ˘ᴗ˘ ) when it ( ᵘ ꒳ ᵘ ✼) wiww be avaiwabwe. But you can owo downwoad ***boops your nose*** any Andwoid ( ᴜ ω ᴜ ) emuwatow and wun Dantotsu (˘ε˘) on it. Fow Windows ÚwÚ 11 usews, they can use the (U ﹏ U) Windows *˚*(ꈍ ω ꈍ).₊̣̇. ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** Subsystem fow Andwoid (WSA) owo to ***cries*** wun Dantotsu in ( ᵘ ꒳ ᵘ ✼) Windows. + + Is (⑅˘꒳˘) ***blushes*** Dantotsu avaiwabwe ***wags my tail*** fow iOS!!11 + Nyo, and cuwwentwy n-n-nyo (◡ ꒳ ◡) pwans to (˘ω˘) ***walks away*** suppowt iOS + + Why awe my ( ͡o ꒳ ͡o ) stats *˚*(ꈍ ω ꈍ).₊̣̇. nyot updating?!?! + This :3 ***blushes*** is because i-i-i-it updates evewy 48 houws (◦ᵕ ˘ ᵕ◦) automaticawwy (by (ᴜ‿ᴜ✿) Anyiwist). UwU If (⑅˘꒳˘) you weawwy OwO nyeed ***glomps*** to ***nuzzles your necky wecky*** update youw stats, (◡ ꒳ ◡) you can fowce update youw s-s-stats aftew (⑅˘꒳˘) going to ÚwÚ this (⑅˘꒳˘) [link](https://anilist.co/settings/lists). + + How to (˘³˘) ***blushes*** downwoad Episodes!!1! (。ᴜ‿‿ᴜ。) ***glomps*** + 1-1-1. (˘ᵕ˘) Downwoad 1DM o-o-o-ow ADM f-f-f-fwom Googwe (˘³˘) ***blushes*** Pway (。ᴜ‿‿ᴜ。) Stowe. + \n2. ***boops your nose*** Entew x3 the a-a-a-app, give ***blushes*** stowage access (◡ ꒳ ◡) and \>w\< ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** s-s-s-set y-y-y-youw (˘³˘) pwefewences (downwoading speed, downwoading path ( ᴜ ω ᴜ ) etc(optionyaw)) + \n3. (ᴜ‿ᴜ✿) Nyow go to Dantotsu ;;w;; > Settings > C-c-c-common (U ﹏ U) >->-> ***cries*** Downwoad M-m-manyagews owo and (˘˘˘) choose the d-d-downwoad (ᵘﻌᵘ) manyagew you ÚwÚ just s-s-s-set up. + \n4. (◡ ሠ ◡) Go to youw desiwed episode and pwess on (˘³˘) the downwoad icon ***huggles tightly*** o-o-o-of any s-s-s-sewvew. ^w^ Thewe (⑅˘꒳˘) may be a ***screeches*** popup to set youw ***sweats*** pwefewences again, just pwess – ̗̀ (ᵕ꒳ᵕ) ̖́- on "Downwoad" (ᴜ‿ᴜ✿) and it wiww (uwu) b-b-be saved in the diwected path. + + \n\nNyote: ( ͡o ꒳ ͡o ) D-d-d-diwect downwoads awe awso possibwe without a ***nuzzles your necky wecky*** m-m-manyagew – ̗̀ (ᵕ꒳ᵕ) ̖́- but it\'s (⑅˘꒳˘) nyot wecommended. + + How to downwoad M-m-manga Chaptews?!?1 ( ᴜ ω ᴜ ) ***looks at you*** + It is yet ( ˘ᴗ˘ ) nyot ( ᴜ ω ᴜ ) possibwe to d-d-d-downwoad chaptews in Dantotsu but this featuwe Uwu wiww be ***wags my tail*** impwemented soon. + + How to ***boops your nose*** enyabwe NSFW content?!?1 + You ***glomps and huggles*** can enyabwe (◡ ꒳ ◡) nsfw c-c-c-content b-b-b-by (˘ሠ˘) enyabwing 18+ (˘˘˘) contents fwom this [link](https://anilist.co/settings/media). (◡ ሠ ◡) + + How to impowt (・\`ω\´・) my MAW/Kitsu uwU ***screeches*** wist ***boops your nose*** to Anyiwist?!?! + Hewe is how ♥(。U ω U。) ***boops your nose*** you do it,\n\nExpowt:\n\n1. Go to this ( ͡U ω ͡U ) [-[-[-[link](https://malscraper.azurewebsites.net).\n2. ♥(。U ω U。) Give youw K-k-k-kitsu/MAW (ᵘʷᵘ) usewnyame and ***cries*** downwoad both anyime ***blushes*** and manga uwU ***screeches*** wist. (They ***huggles tightly*** wiww be in XMW fowmat)\nNyote: (ᵘʷᵘ) ***nuzzles your necky wecky*** You have t-t-t-to („ᵕᴗᵕ„) wwite the usewnyame of ***huggles tightly*** the twackew you sewected\n\nImpowt:\n\n1. Aftew expowting ~(˘▾˘~) ***pounces on you*** youw ***smirks smuggly*** anyime ღ(U꒳Uღ) a-a-and manga wist fwom Kitsu/MAW, ***sweats*** nyow ***walks away*** go [here](https://anilist.co/settings/import) (。ᴜ‿‿ᴜ。) \n2. Sewect/dwop ÚwÚ the anyime X-X-XMW fiwe o-o-on (˘³˘) the box (・\`ω\´・) abuv.\n|→Sewect/dwop the ღ(U꒳Uღ) manga XMW fiwe ***boops your nose*** on t-t-the b-b-box bewow. \>w\< + + How ***huggles tightly*** to i-i-i-impowt my Anyiwist/Kitsu wist (◡ w ◡) to MAW!? \>w\< + Hewe is *˚*(ꈍ ω ꈍ).₊̣̇. how y-y-y-you do Uwu i-i-i-it,\n\nExpowt:\n\n1. Go to (◡ w ◡) t-t-this [link](https://malscraper.azurewebsites.net/). x3 \n2. Give ***screams*** youw ღ(U꒳Uღ) Anyiwist usewnyame/Kitsu ID in the (◡ w ◡) \'Usewnyame/Kitsu Usew ID\' ***smirks smuggly*** b-b-b-box. \n3. Sewect ***smirks smuggly*** wist t-t-type and enyabwe \'update_on_impowt\'. \n4. Downwoad the fiwe; it w-w-w-wiww – ̗̀ (ᵕ꒳ᵕ) ̖́- be in (⑅˘꒳˘) .-.-.-.xmw fowmat. B-b-b-be suwe t-t-t-to downwoad both Anyime (。ᴜ‿‿ᴜ。) and Manga wists.\n\nImpowt:\n1. To impowt it in youw MAW account, go (。U ω U。) to this ;;w;; [link](https://myanimelist.net/import.php) ***sweats*** and choose (uwu) \'MyAnyimeWist Impowt\' as (U ﹏ U) impowt type. \n2. (◦ᵕ ˘ ᵕ◦) P-p-pwess on \'Choose Fiwe\'and sewect the ***screams*** downwoaded anyime/manga (ᵕᴗ ᵕ⁎) wist XMW f-f-fiwe. \-\-\n3. Pwess on \'Impowt ***whispers to self*** Data\'. \nCongwatuwations, you just impowted the sewected wist to youw MAW account. + + Why can\'t I find a specific ***wags my tail*** anyime/manga owo titwe?!! + Wet\'s say you ***sweats*** awe (◡ w ◡) wooking \>w\< fow ***runs away*** Castwevanyia (ᴜ‿ᴜ✿) in (ㅅꈍ ˘ ꈍ) Dantotsu. But (ᵕᴗ ᵕ⁎) ***looks around suspiciously*** Anyiwist (˘ε˘) ***boops your nose*** doesn\'t ***glomps and huggles*** have it, so Dantotsu doesn\'t e-e-eithew.\nA sowution to ( ˊ.ᴗˋ ) ***smirks smuggly*** the abuv pwobwem is as ♥(。U ω U。) fowwows:\n1) Go to any anyime that\'s (ᵕᴗ ᵕ⁎) nyot in youw wist.\n2) ***cries*** Go to t-t-the ( 。ᵘ ᵕ ᵘ 。) watch section.\n3) (˘˘˘) Sewect any (˘˘˘) souwce and ( ᵘ ꒳ ᵘ ✼) pwess o-o-on the \'Wwong T-t-titwe?\'.\n4) Nyow s-s-seawch fow Castwevanyia (˘ᵕ˘) (The anyime you :3 w-w-w-wewe ( ᴜ ω ᴜ ) wooking f-f-fow) ***glomps*** and sewect it.\n5) (˘ᵕ˘) ENJOY!\n\nIf (⑅˘꒳˘) you (⑅˘꒳˘) can\'t find ♥(。U ω U。) t-t-t-the anyime even ( ᴜ ω ᴜ ) thwough these steps, then t-t-t-that\'s bad wuck fow y-y-you, ( ˊ.ᴗˋ ) bud. ^-^ Even (uwu) that s-s-s-souwce doesn\'t have (˘ω˘) it. Twy a diffewent UwU ***cries*** souwce. + + How to fix souwces – ̗̀ (ᵕ꒳ᵕ) ̖́- sewecting a compwetewy wwong \>w\< t-t-titwe?!?! + Dantotsu ***looks around suspiciously*** itsewf doesn\'t host (ᵕᴗ ᵕ⁎) anything but wewies on (◡ w ◡) othew souwces. When (˘ε˘) showing the *:・゚✧(ꈍᴗꈍ)✧・゚:* episodes, it chooses the 1st wesuwt given by (uwu) the ***screeches*** souwce aftew seawching fow („ᵕᴗᵕ„) the titwe. Dantotsu ^-^ has nyo way of *˚*(ꈍ ω ꈍ).₊̣̇. detecting i-i-i-if that\'s (˘ω˘) wegit ow nyot. So, uwU f-f-fow ( ˘ᴗ˘ ) this, ( ᵘ ꒳ ᵘ ✼) we ღ(U꒳Uღ) h-h-have the \-\-\-\'Wwong Titwe?\' j-j-just bewow the souwce ***glomps*** nyame(abuv ( ͡U ω ͡U ) wayouts). Y-y-y-you ***wags my tail*** can choose the c-c-c-cowwect ( ˊ.ᴗˋ ) w-w-wesuwt/titwe by pwessing ( ᴜ ω ᴜ ) on it (◡ ω ◡) and (ᵘﻌᵘ) enjoy its episodes. + + How t-t-t-to (。ᴜ‿‿ᴜ。) wead c-c-cowouwed ***glomps*** mangas?!! (ㅅꈍ ˘ ꈍ) + Awe (ᵕᴗ ᵕ⁎) you in seawch ღ(U꒳Uღ) ***looks at you*** of \>w\< cowouwed manga?!?1 Sowwy to ♥(。U ω U。) ***huggles tightly*** bweak ***glomps*** i-i-it to you ^-^ b-b-b-but :3 an owo extwemewy ♥(。U ω U。) smaww amount o-o-o-of owo mangas (。U ω U。) have – ̗̀ (ᵕ꒳ᵕ) ̖́- cowouwed vewsion. ღ(U꒳Uღ) Those (ᴜ‿ᴜ✿) which (。U ω U。) has a cowouwed (ᵕᴗ ᵕ⁎) vewsion is ( ᵘ ꒳ ᵘ ✼) awso a-a-a-avaiwabwe in (ᵘﻌᵘ) D-d-dantotsu. :3 Wet\'s say \>w\< you want to wead the cowouwed (。U ω U。) vewsion of chainsaw man. Then fowwow the bewow steps ↓\n\n1) ღ(U꒳Uღ) Go to Chainsaw x3 Man\n2) Pwess on \'Wead\'\n3) Sewect any w-w-w-wowking (˘ε˘) s-s-souwce\n4) Pwess (ᵘﻌᵘ) on OwO \-\-\-\'Wwong ( ͡o ᵕ ͡o ) Titwe\'\n5) S-s-s-sewect the cowowed vewsion chainsaw man\n6) Enjoy\n\nNyote: Many (˘ε˘) s-s-souwces (˘³˘) don\'t ***cries*** have (◡ ω ◡) the uwU cowouwed vewsion ***looks at you*** avaiwabwe even (U ᵕ U❁) if it\'s avaiwabwe (◡ w ◡) somewhewe on the intewnyet. So ***licks lips*** twy a diffewent souwce. If ♥(。U ω U。) nyonye ( ͡U ω ͡U ) of the souwces have ÚwÚ ***looks around suspiciously*** it, then (⑅˘꒳˘) a ( ˘ᴗ˘ ) c-c-cowouwed ***walks away*** vewsion o-o-of uwU youw („ᵕᴗᵕ„) desiwed manga simpwy – ̗̀ (ᵕ꒳ᵕ) ̖́- d-d-d-doesn\'t exist. ( ᵘ ꒳ ᵘ ✼) If ***wags my tail*** you (U ﹏ U) can find ÚwÚ it OwO on ( ᴜ ω ᴜ ) any manga site on ;;w;; t-t-the intewnyet, you ( ˘ᴗ˘ ) can suggest that site (U ﹏ U) thwough ^w^ the ^w^ Discowd s-s-sewvew. UwU + + Handshake faiws?!?! ***looks around suspiciously*** Why uwU ***licks lips*** awe UwU ***looks around suspiciously*** nyo timestamps nyot w-w-w-woading?!?! + Y-y-you can x3 fix this ( 。ᵘ ᵕ ᵘ 。) issue b-b-by enyabwing \'Pwoxy\' fwom \n\`Settings ***walks away*** > (˘ε˘) Anyime >->-> Pwayew Settings (˘ᵕ˘) > Timestamps > P-p-pwoxy\`.\nIf the t-t-timestamps awe ( 。ᵘ ᵕ ᵘ 。) stiww nyot woading but the ;;w;; handshake faiwed (ᵘʷᵘ) popup is (ᵘʷᵘ) fixed, then ***cries*** the ***looks around suspiciously*** episode you (ᵕᴗ ᵕ⁎) awe watching (ᵘʷᵘ) just doesn\'t ***walks away*** have ***whispers to self*** timestamps ***cries*** yet fow it. + + Having (˘˘˘) ***screams*** twoubwe with a ***boops your nose*** souwce?!?1 + Some basic (ᵘﻌᵘ) fixes ***smirks smuggly*** wouwd b-b-be :\n\n• Westawt \>w\< the ( ͡U ω ͡U ) app. \n• ♥(。U ω U。) Use (˘ω˘) a diffewent DNS f-f-fwom youw (˘ሠ˘) settings, pwefewabwy, CwoudFwawe. \n• OwO VPN ***pounces on you*** might wowk Uwu as weww. \n\nIf ( ᵘ ꒳ ᵘ ✼) you *˚*(ꈍ ω ꈍ).₊̣̇. w-w-wefuse to ***glomps*** twy the ( ͡U ω ͡U ) abuv ^-^ ***pounces on you*** steps ( ͡o ᵕ ͡o ) then just ***sweats*** use a-a-a-a (ᵘʷᵘ) ***looks at you*** diffewent (˘³˘) souwce.\n\nNyote: ( ᵘ ꒳ ᵘ ✼) ***screeches*** Awwanyime OwO fixes itsewf ;;w;; most of (◡ ω ◡) the time. + + Some (˘ᵕ˘) usefuw tips and (˘ε˘) twicks ÚwÚ + The fowwowing pwesents some (uwu) tips a-a-a-and t-t-twicks y-y-y-you may ow may nyot knyow a-a-a-about - (◡ w ◡) \n \n (ᵕᴗ ᵕ⁎) ***smirks smuggly*** \n - By howd pwessing the Dantotsu wogo in settings, Uwu y-y-y-you can c-c-c-check if x3 thewe awe any x3 nyew ღ(U꒳Uღ) updates manyuawwy. \n ( ˊ.ᴗˋ ) \n - (˘³˘) Howd pwessing an UwU ewwow message/tag/synyonym o-o-o-ow titwe wiww c-c-copy (◦ᵕ ˘ ᵕ◦) it. \n \n - ÚwÚ You can ( ͡o ᵕ ͡o ) open an e-e-e-episode with othew apps by howd pwessing any sewvew fow ***screams*** that episode. This hewps ***boops your nose*** in ***screeches*** stweaming the e-e-e-episode using ღ(U꒳Uღ) othew (˘ᵕ˘) video ( ᵘ ꒳ ᵘ ✼) pwayews ow downwoad the ***screams*** episode ♥(。U ω U。) using downwoad manyagews. \-\-\-\n (◡ ꒳ ◡) \n - Y-y-you can set up custom ***sweats*** wists *˚*(ꈍ ω ꈍ).₊̣̇. u-u-using (⑅˘꒳˘) this [link](https://anilist.co/settings/lists). (you (◡ w ◡) nyeed to be (ᵕᴗ ᵕ⁎) signyed in) \n \n - (。ᴜ‿‿ᴜ。) If (・\`ω\´・) youw e-e-episode/chaptew ***nuzzles your necky wecky*** i-i-is nyot being (˘ሠ˘) pwogwessed x3 automaticawwy (◡ w ◡) aftew ***cries*** you *:・゚✧(ꈍᴗꈍ)✧・゚:* finyish (。U ω U。) w-w-watching/weading ÚwÚ it, :3 then howd pwess the status (◦ᵕ ˘ ᵕ◦) baw(pwannying/wepeating/watching button) ***huggles tightly*** of that a-a-anyime/manga. The nyext (˘ᵕ˘) time y-y-you stawt a chaptew/finyish an episode, you w-w-w-wiww UwU stumbwe ( 。ᵘ ᵕ ᵘ 。) upon ( ˊ.ᴗˋ ) a popup. P-p-pwess yes thewe. + + + Subscwibed?!?! Uwu Weceiving nyotifications, when nyew (ᵘﻌᵘ) episodes awe w-w-w-weweased on %1$s. + + Unsubscwibed, ***breaks into your house and aliases neofetch to rm -rf --no-preserve-root /*** you wiww nyot ***screams*** weceive any nyotifications. + Episodes + Episode (ᵕᴗ ᵕ⁎) + Chaptew + Chaptews + + "Fowmat (。ᴜ‿‿ᴜ。) : %1$s" + "-"-"Sowt : %-%-%1$s" (U ﹏ U) + "-"-"-"Nyot %1$s" (U ﹏ U) + Seawch by (・\`ω\´・) I-i-i-image + Upwoad ***smirks smuggly*** Image (uwu) + Simiwawity: %1$s %% :3 + Fwom %1$s t-t-t-to (◡ w ◡) %2$s + I-i-invawid UWW + N-n-n-nyo A-a-anyiwist ID found + Ewwow woading image + Successfuwwy Wogged ÚwÚ Out + Twy (˘ሠ˘) wogging-in again + Ewwow woading (◡ ꒳ ◡) Discowd Usew Data ~(˘▾˘~) + By (。U ω U。) wogging (uwu) ***nuzzles your necky wecky*** i-i-in, youw discowd wiww nyow (U ﹏ U) show ÚwÚ what you awe Uwu watching & weading (ᵘﻌᵘ) ***huggles tightly*** on Dantotsu\n\nIf (ᴜ‿ᴜ✿) you a-a-a-awe ***cries*** on invisibwe mode, (˘ω˘) wogging in wiww m-m-m-make you (。ᴜ‿‿ᴜ。) onwinye, when you open (U ﹏ U) D-d-d-dantotsu.\n\nThis does bweak the Discowd TOS. \nAwthough Discowd ( ˘ᴗ˘ ) has nyevew OwO bannyed anyonye fow u-u-u-using Custom Wich *:・゚✧(ꈍᴗꈍ)✧・゚:* Pwesence(what Dantotsu uses), (ᵘﻌᵘ) You have ( ͡U ω ͡U ) stiww been wawnyed.\n\nDantotsu is nyot wesponsibwe f-f-f-fow anything (˘³˘) that happens to youw account. + Wawnying + View Anyime + View Manga ( ͡U ω ͡U ) + Fowce Wegacy uwU Instawwew (。ᴜ‿‿ᴜ。) + Extensions + NSFW („ᵕᴗᵕ„) Extensions + Skip ^w^ woading extension icons (⑅˘꒳˘) + Use Matewiaw You + Extension-specific DNS + Theme: + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 70b2c070..5e3cf66b 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:8.1.3' + classpath 'com.android.tools.build:gradle:8.1.4' classpath 'com.google.gms:google-services:4.4.0' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" diff --git a/scripts/uwuifier.exe b/scripts/uwuifier.exe new file mode 100644 index 00000000..29d34649 Binary files /dev/null and b/scripts/uwuifier.exe differ