diff --git a/README.md b/README.md
index 75d1dc16..ef42c1c7 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,4 @@
-# **Dantotsu** (🚧 ALPHA 🚧)
-
-> ⚠️ **WARNING**: This project is in alpha stage. Things may not work as expected.
+# **Dantotsu**
@@ -26,14 +24,14 @@ Dantotsu is crafted from the ashes of Saikou and based on simplistic yet state-o
| Type | Status |
| ---------------- | ------- |
| Anime Extensions | Working |
-| Manga Extensions | "Working" |
+| Manga Extensions | Working |
| Light Novel Extensions | Not Working |
## APP FEATURES
-- Easy and functional way to both, watch anime and read manga, ad-free.
+- Easy and functional way to both, watch anime and read manga.
- A completely open source app with a nice UI & Animations :)
@@ -59,14 +57,16 @@ add your own extensions in the settings menu (Dantotsu has no affiliation with a
## Planned Stuff
-- get app out of alpha
+- TV Support
-- Accent Color Change (RIP Hot Pink Supremacy.)
+- LN Support
+
+- Offline Viewing
## Rejected Stuff (still rejected)
-- Sources of any language except English
+- Official support of any language except English
- News Section in the App
diff --git a/app/build.gradle b/app/build.gradle
index d27a4fbc..8e394e12 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -21,7 +21,7 @@ android {
minSdk 23
targetSdk 34
versionCode ((System.currentTimeMillis() / 60000).toInteger())
- versionName "0.1.5"
+ versionName "1.0.0"
signingConfig signingConfigs.debug
}
diff --git a/app/src/debug/res/values/strings.xml b/app/src/debug/res/values/strings.xml
index 3c0d72af..e74ebc2f 100644
--- a/app/src/debug/res/values/strings.xml
+++ b/app/src/debug/res/values/strings.xml
@@ -1,4 +1,4 @@
- Dantotsu α
+ Dantotsu
\ No newline at end of file
diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 00000000..20a7f23e
Binary files /dev/null and b/app/src/main/ic_launcher-playstore.png differ
diff --git a/app/src/main/java/ani/dantotsu/Functions.kt b/app/src/main/java/ani/dantotsu/Functions.kt
index f175ff5c..25a415f9 100644
--- a/app/src/main/java/ani/dantotsu/Functions.kt
+++ b/app/src/main/java/ani/dantotsu/Functions.kt
@@ -188,6 +188,9 @@ fun Activity.hideStatusBar() {
open class BottomSheetDialogFragment : BottomSheetDialogFragment() {
override fun onStart() {
super.onStart()
+ val window = dialog?.window
+ val decorView: View = window?.decorView ?: return
+ decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
if (this.resources.configuration.orientation != Configuration.ORIENTATION_PORTRAIT) {
val behavior = BottomSheetBehavior.from(requireView().parent as View)
behavior.state = BottomSheetBehavior.STATE_EXPANDED
diff --git a/app/src/main/java/ani/dantotsu/MainActivity.kt b/app/src/main/java/ani/dantotsu/MainActivity.kt
index 488f3e59..73334e60 100644
--- a/app/src/main/java/ani/dantotsu/MainActivity.kt
+++ b/app/src/main/java/ani/dantotsu/MainActivity.kt
@@ -90,7 +90,7 @@ class MainActivity : AppCompatActivity() {
val bottomBar = findViewById(R.id.navbar)
val backgroundDrawable = bottomBar.background as GradientDrawable
val currentColor = backgroundDrawable.color?.defaultColor ?: 0
- val semiTransparentColor = (currentColor and 0x00FFFFFF) or 0x80000000.toInt()
+ val semiTransparentColor = (currentColor and 0x00FFFFFF) or 0xE8000000.toInt()
backgroundDrawable.setColor(semiTransparentColor)
bottomBar.background = backgroundDrawable
}
@@ -125,24 +125,40 @@ class MainActivity : AppCompatActivity() {
binding.root.isMotionEventSplittingEnabled = false
lifecycleScope.launch {
- val splash = SplashScreenBinding.inflate(layoutInflater)
- binding.root.addView(splash.root)
- (splash.splashImage.drawable as Animatable).start()
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
+ val splash = SplashScreenBinding.inflate(layoutInflater)
+ binding.root.addView(splash.root)
+ (splash.splashImage.drawable as Animatable).start()
- // Wait for 2 seconds (2000 milliseconds)
- delay(2000)
+ delay(1200)
- // Now perform the animation
- ObjectAnimator.ofFloat(
- splash.root,
- View.TRANSLATION_Y,
- 0f,
- -splash.root.height.toFloat()
- ).apply {
- interpolator = AnticipateInterpolator()
- duration = 200L
- doOnEnd { binding.root.removeView(splash.root) }
- start()
+ ObjectAnimator.ofFloat(
+ splash.root,
+ View.TRANSLATION_Y,
+ 0f,
+ -splash.root.height.toFloat()
+ ).apply {
+ interpolator = AnticipateInterpolator()
+ duration = 200L
+ doOnEnd { binding.root.removeView(splash.root) }
+ start()
+ }
+ }
+ }
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
+ splashScreen.setOnExitAnimationListener { splashScreenView ->
+ ObjectAnimator.ofFloat(
+ splashScreenView,
+ View.TRANSLATION_Y,
+ 0f,
+ -splashScreenView.height.toFloat()
+ ).apply {
+ interpolator = AnticipateInterpolator()
+ duration = 200L
+ doOnEnd { splashScreenView.remove() }
+ start()
+ }
}
}
diff --git a/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt b/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt
index 48932305..feba6ac9 100644
--- a/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt
@@ -54,7 +54,7 @@ class AnimePageAdapter : RecyclerView.Adapter(R.id.animeSearchBar)
val currentColor = textInputLayout.boxBackgroundColor
- val semiTransparentColor = (currentColor and 0x00FFFFFF) or 0x80000000.toInt()
+ val semiTransparentColor = (currentColor and 0x00FFFFFF) or 0xA8000000.toInt()
textInputLayout.boxBackgroundColor = semiTransparentColor
val materialCardView = holder.itemView.findViewById(R.id.animeUserAvatarContainer)
materialCardView.setCardBackgroundColor(semiTransparentColor)
diff --git a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt
index 68ca065a..5422d1cb 100644
--- a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt
@@ -53,7 +53,7 @@ class MangaPageAdapter : RecyclerView.Adapter(R.id.mangaSearchBar)
val currentColor = textInputLayout.boxBackgroundColor
- val semiTransparentColor = (currentColor and 0x00FFFFFF) or 0x80000000.toInt()
+ val semiTransparentColor= (currentColor and 0x00FFFFFF) or 0xA8000000.toInt()
textInputLayout.boxBackgroundColor = semiTransparentColor
val materialCardView = holder.itemView.findViewById(R.id.mangaUserAvatarContainer)
materialCardView.setCardBackgroundColor(semiTransparentColor)
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 04886529..feb75e7a 100644
--- a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt
@@ -10,6 +10,7 @@ import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.ImageView
import android.widget.LinearLayout
+import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.RecyclerView
import ani.dantotsu.*
@@ -177,6 +178,7 @@ class AnimeWatchAdapter(
binding.animeWatchChipScroll.smoothScrollTo((chip.left - screenWidth / 2) + (chip.width / 2), 0)
}
chip.text = "${names[limit * (position)]} - ${names[last - 1]}"
+ chip.setTextColor(ContextCompat.getColorStateList(fragment.requireContext(), R.color.chip_text_color))
chip.setOnClickListener {
selected()
diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt
index a5a2b19e..36ad53bb 100644
--- a/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt
@@ -63,7 +63,8 @@ class MangaChapterAdapter(
val binding = holder.binding
setAnimation(fragment.requireContext(), holder.binding.root, fragment.uiSettings)
val ep = arr[position]
- binding.itemEpisodeNumber.text = ep.number
+ val parsedNumber = MangaNameAdapter.findChapterNumber(ep.number)?.toInt()
+ binding.itemEpisodeNumber.text = parsedNumber?.toString() ?: ep.number
if (media.userProgress != null) {
if ((MangaNameAdapter.findChapterNumber(ep.number) ?: 9999f) <= media.userProgress!!.toFloat())
binding.itemEpisodeViewedCover.visibility = View.VISIBLE
diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
index 37472155..3579d6b9 100644
--- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
@@ -7,6 +7,7 @@ import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.ImageView
import android.widget.LinearLayout
+import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.RecyclerView
import ani.dantotsu.*
@@ -145,6 +146,7 @@ class MangaReadAdapter(
binding.animeWatchChipScroll.smoothScrollTo((chip.left - screenWidth / 2) + (chip.width / 2), 0)
}
chip.text = "${names[limit * (position)]} - ${names[last - 1]}"
+ chip.setTextColor(ContextCompat.getColorStateList(fragment.requireContext(), R.color.chip_text_color))
chip.setOnClickListener {
selected()
diff --git a/app/src/main/java/ani/dantotsu/others/CustomBottomDialog.kt b/app/src/main/java/ani/dantotsu/others/CustomBottomDialog.kt
index 19d96cf6..3c758f60 100644
--- a/app/src/main/java/ani/dantotsu/others/CustomBottomDialog.kt
+++ b/app/src/main/java/ani/dantotsu/others/CustomBottomDialog.kt
@@ -1,6 +1,8 @@
package ani.dantotsu.others
+import android.graphics.Color
import android.os.Bundle
+import android.util.TypedValue
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -46,6 +48,12 @@ open class CustomBottomDialog : BottomSheetDialogFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
_binding = BottomSheetCustomBinding.inflate(inflater, container, false)
+ val window = dialog?.window
+ window?.statusBarColor = Color.TRANSPARENT
+ val typedValue = TypedValue()
+ val theme = requireContext().theme
+ theme.resolveAttribute(com.google.android.material.R.attr.colorSurface, typedValue, true)
+ window?.navigationBarColor = typedValue.data
return binding.root
}
diff --git a/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt b/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt
index e46308a7..868ff51c 100644
--- a/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt
+++ b/app/src/main/java/ani/dantotsu/others/ImageViewDialog.kt
@@ -74,15 +74,16 @@ class ImageViewDialog : BottomSheetDialogFragment() {
if (image2 != null) openLinkInBrowser(image2.url)
true
}
+ val context = requireContext()
- lifecycleScope.launch {
+ viewLifecycleOwner.lifecycleScope.launch {
val binding = _binding ?: return@launch
- var bitmap = requireContext().loadBitmap_old(image, trans1 ?: listOf())
- var bitmap2 = if (image2 != null) requireContext().loadBitmap_old(image2, trans2 ?: listOf()) else null
+ var bitmap = context.loadBitmap_old(image, trans1 ?: listOf())
+ var bitmap2 = if (image2 != null) context.loadBitmap_old(image2, trans2 ?: listOf()) else null
if (bitmap == null) {
- bitmap = requireContext().loadBitmap(image, trans1 ?: listOf())
- bitmap2 = if (image2 != null) requireContext().loadBitmap(image2, trans2 ?: listOf()) else null
+ bitmap = context.loadBitmap(image, trans1 ?: listOf())
+ bitmap2 = if (image2 != null) context.loadBitmap(image2, trans2 ?: listOf()) else null
}
bitmap = if (bitmap2 != null && bitmap != null) mergeBitmap(bitmap, bitmap2,) else bitmap
diff --git a/app/src/main/java/ani/dantotsu/settings/AnimeExtensionsFragment.kt b/app/src/main/java/ani/dantotsu/settings/AnimeExtensionsFragment.kt
index 28e1482b..2ff5ef23 100644
--- a/app/src/main/java/ani/dantotsu/settings/AnimeExtensionsFragment.kt
+++ b/app/src/main/java/ani/dantotsu/settings/AnimeExtensionsFragment.kt
@@ -49,10 +49,10 @@ class AnimeExtensionsFragment : Fragment(),
): View {
_binding = FragmentAnimeExtensionsBinding.inflate(inflater, container, false)
- binding.allAnimeExtensionsRecyclerView.isNestedScrollingEnabled = true
+ binding.allAnimeExtensionsRecyclerView.isNestedScrollingEnabled = false
binding.allAnimeExtensionsRecyclerView.adapter = adapter
binding.allAnimeExtensionsRecyclerView.layoutManager = LinearLayoutManager(context)
- (binding.allAnimeExtensionsRecyclerView.layoutManager as LinearLayoutManager).isItemPrefetchEnabled = false
+ (binding.allAnimeExtensionsRecyclerView.layoutManager as LinearLayoutManager).isItemPrefetchEnabled = true
lifecycleScope.launch {
viewModel.pagerFlow.collectLatest {
@@ -60,6 +60,8 @@ class AnimeExtensionsFragment : Fragment(),
}
}
+ viewModel.invalidatePager() // Force a refresh of the pager
+
return binding.root
}
diff --git a/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt b/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt
index 19aa6580..c1e168ab 100644
--- a/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt
+++ b/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt
@@ -13,26 +13,8 @@ class DevelopersDialogFragment : BottomSheetDialogFragment() {
private val binding get() = _binding!!
private val developers = arrayOf(
- Developer("vorobyovgabriel","https://avatars.githubusercontent.com/u/99561687?s=120&v=4","Owner","https://github.com/vorobyovgabriel"),
- Developer("brahmkshtriya","https://avatars.githubusercontent.com/u/69040506?s=120&v=4","Maintainer","https://github.com/brahmkshatriya"),
- Developer("jeelpatel231","https://avatars.githubusercontent.com/u/33726155?s=120&v=4","Contributor","https://github.com/jeelpatel231"),
- Developer("blatzar","https://avatars.githubusercontent.com/u/46196380?s=120&v=4","Contributor","https://github.com/Blatzar"),
- Developer("bilibox","https://avatars.githubusercontent.com/u/1800580?s=120&v=4","Contributor","https://github.com/Bilibox"),
- Developer("sutslec","https://avatars.githubusercontent.com/u/27722281?s=120&v=4","Contributor","https://github.com/Sutslec"),
- Developer("4jx","https://avatars.githubusercontent.com/u/79868816?s=120&v=4","Contributor","https://github.com/4JX"),
- Developer("xtrm-en","https://avatars.githubusercontent.com/u/26600206?s=120&v=4","Contributor","https://github.com/xtrm-en"),
- Developer("scrazzz","https://avatars.githubusercontent.com/u/70033559?s=120&v=4","Contributor","https://github.com/scrazzz"),
- Developer("defcoding","https://avatars.githubusercontent.com/u/39608887?s=120&v=4","Contributor","https://github.com/defcoding"),
- Developer("adolar0042","https://avatars.githubusercontent.com/u/39769465?s=120&v=4","Contributor","https://github.com/adolar0042"),
- Developer("diegopyl1209","https://avatars.githubusercontent.com/u/80992641?s=120&v=4","Contributor","https://github.com/diegopyl1209"),
- Developer("sreekrishna2001","https://avatars.githubusercontent.com/u/67505103?s=120&v=4","Contributor","https://github.com/Sreekrishna2001"),
- Developer("riimuru","https://avatars.githubusercontent.com/u/57333995?s=120&v=4","Contributor","https://github.com/riimuru"),
- Developer("vu nguyen","https://avatars.githubusercontent.com/u/68330291?s=120&v=4","Contributor","https://github.com/hoangvu12"),
- Developer("animejeff","https://avatars.githubusercontent.com/u/101831300?s=120&v=4","Contributor","https://github.com/AnimeJeff"),
- Developer("antonydp","https://avatars.githubusercontent.com/u/38143733?s=120&v=4","Contributor","https://github.com/antonydp"),
- Developer("tobybridle","https://avatars.githubusercontent.com/u/52335751?s=120&v=4","Contributor","https://github.com/TobyBridle"),
- Developer("enimax","https://avatars.githubusercontent.com/u/107899019?s=120&v=4","Contributor","https://github.com/enimax-anime"),
- Developer("vipulog","https://avatars.githubusercontent.com/u/90324465?s=120&v=4","Contributor","https://github.com/VipulOG")
+ Developer("rebelonion","https://avatars.githubusercontent.com/u/87634197?v=4","Owner and Maintainer","https://github.com/rebelonion"),
+ Developer("Wai What", "https://cdn.discordapp.com/avatars/928202695611908126/aeac4c867acbb8c3783356497055a426.webp?size=80", "Icon Designer", ""),
)
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
diff --git a/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt b/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt
index 71a5f43b..a4f9a0d6 100644
--- a/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt
+++ b/app/src/main/java/ani/dantotsu/settings/ExtensionsActivity.kt
@@ -1,55 +1,26 @@
package ani.dantotsu.settings
import android.annotation.SuppressLint
-import android.app.NotificationManager
-import android.content.Context
-import android.content.pm.PackageManager
-import android.graphics.drawable.Drawable
import android.os.Build.*
import android.os.Build.VERSION.*
import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
+import android.text.Editable
+import android.text.TextWatcher
import android.view.ViewGroup
-import android.widget.ImageView
+import android.widget.AutoCompleteTextView
import android.widget.LinearLayout
-import android.widget.ProgressBar
import android.widget.SearchView
-import android.widget.TextView
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity
-import androidx.core.app.ActivityCompat
-import androidx.core.app.NotificationCompat
-import androidx.core.content.ContextCompat
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.Fragment
-import androidx.lifecycle.lifecycleScope
-import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import ani.dantotsu.*
-import eu.kanade.tachiyomi.extension.anime.AnimeExtensionManager
-import eu.kanade.tachiyomi.extension.anime.model.AnimeExtension
import ani.dantotsu.databinding.ActivityExtensionsBinding
-import ani.dantotsu.home.AnimeFragment
-import ani.dantotsu.home.MangaFragment
import ani.dantotsu.themes.ThemeManager
-import com.bumptech.glide.Glide
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
-import eu.kanade.tachiyomi.data.notification.Notifications
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-import rx.android.schedulers.AndroidSchedulers
-import uy.kohesive.injekt.Injekt
-import uy.kohesive.injekt.api.get
-import uy.kohesive.injekt.injectLazy
-import javax.inject.Inject
-
class ExtensionsActivity : AppCompatActivity() {
private val restartMainActivity = object : OnBackPressedCallback(false) {
@@ -94,21 +65,20 @@ class ExtensionsActivity : AppCompatActivity() {
}.attach()
- val searchView: SearchView = findViewById(R.id.searchView)
+ val searchView: AutoCompleteTextView = findViewById(R.id.searchViewText)
- val extensionsHeader: LinearLayout = findViewById(R.id.extensionsHeader)
- searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
- override fun onQueryTextSubmit(query: String?): Boolean {
- return false
+ searchView.addTextChangedListener(object : TextWatcher {
+ override fun afterTextChanged(s: Editable?) {
}
- override fun onQueryTextChange(newText: String?): Boolean {
+ override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
+ }
+
+ override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
val currentFragment = supportFragmentManager.findFragmentByTag("f${viewPager.currentItem}")
if (currentFragment is SearchQueryHandler) {
- currentFragment.updateContentBasedOnQuery(newText)
+ currentFragment.updateContentBasedOnQuery(s?.toString()?.trim())
}
-
- return true
}
})
diff --git a/app/src/main/java/ani/dantotsu/settings/MangaExtensionsFragment.kt b/app/src/main/java/ani/dantotsu/settings/MangaExtensionsFragment.kt
index 0cc0d359..a949bd86 100644
--- a/app/src/main/java/ani/dantotsu/settings/MangaExtensionsFragment.kt
+++ b/app/src/main/java/ani/dantotsu/settings/MangaExtensionsFragment.kt
@@ -10,6 +10,7 @@ import androidx.core.app.NotificationCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
+import androidx.paging.PagingData
import androidx.recyclerview.widget.LinearLayoutManager
import ani.dantotsu.R
import ani.dantotsu.databinding.FragmentMangaExtensionsBinding
@@ -25,6 +26,7 @@ import ani.dantotsu.settings.paging.MangaExtensionAdapter
import ani.dantotsu.settings.paging.MangaExtensionsViewModel
import ani.dantotsu.settings.paging.MangaExtensionsViewModelFactory
import ani.dantotsu.settings.paging.OnMangaInstallClickListener
+import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collectLatest
class MangaExtensionsFragment : Fragment(),
@@ -50,17 +52,19 @@ class MangaExtensionsFragment : Fragment(),
): View {
_binding = FragmentMangaExtensionsBinding.inflate(inflater, container, false)
- binding.allMangaExtensionsRecyclerView.isNestedScrollingEnabled = true
+ binding.allMangaExtensionsRecyclerView.isNestedScrollingEnabled = false
binding.allMangaExtensionsRecyclerView.adapter = adapter
binding.allMangaExtensionsRecyclerView.layoutManager = LinearLayoutManager(context)
- (binding.allMangaExtensionsRecyclerView.layoutManager as LinearLayoutManager).isItemPrefetchEnabled = false
+ (binding.allMangaExtensionsRecyclerView.layoutManager as LinearLayoutManager).isItemPrefetchEnabled = true
lifecycleScope.launch {
- viewModel.pagerFlow.collectLatest {
- adapter.submitData(it)
+ viewModel.pagerFlow.collectLatest { pagingData ->
+ adapter.submitData(pagingData)
}
}
+ viewModel.invalidatePager() // Force a refresh of the pager
+
return 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 d99b1927..d67a16ac 100644
--- a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt
+++ b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt
@@ -105,6 +105,12 @@ OS Version: $CODENAME $RELEASE ($SDK_INT)
restartApp()
}
+ binding.settingsUseOLED.isChecked = getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_oled", false)
+ binding.settingsUseOLED.setOnCheckedChangeListener { _, isChecked ->
+ getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).edit().putBoolean("use_oled", isChecked).apply()
+ restartApp()
+ }
+
val themeString = getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getString("theme", "PURPLE")!!
binding.themeSwitcher.setText(themeString.substring(0, 1) + themeString.substring(1).lowercase())
@@ -408,7 +414,7 @@ OS Version: $CODENAME $RELEASE ($SDK_INT)
}
}
- var curTime = loadData("subscriptions_time_r") ?: defaultTime
+ var curTime = loadData("subscriptions_time_s") ?: defaultTime
val timeNames = timeMinutes.map {
val mins = it % 60
val hours = it / 60
@@ -421,7 +427,7 @@ OS Version: $CODENAME $RELEASE ($SDK_INT)
speedDialog.setSingleChoiceItems(timeNames, curTime) { dialog, i ->
curTime = i
binding.settingsSubscriptionsTime.text = getString(R.string.subscriptions_checking_time_s, timeNames[i])
- saveData("subscriptions_time_r", curTime)
+ saveData("subscriptions_time_s", curTime)
dialog.dismiss()
startSubscription(true)
}.show()
diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt b/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
index 0db7e089..5b5c62b0 100644
--- a/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
+++ b/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
@@ -3,8 +3,10 @@ package ani.dantotsu.settings
import android.app.DownloadManager
import android.content.ActivityNotFoundException
import android.content.Intent
+import android.graphics.Color
import android.net.Uri
import android.os.Bundle
+import android.util.TypedValue
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -26,6 +28,12 @@ class SettingsDialogFragment : BottomSheetDialogFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ val window = dialog?.window
+ window?.statusBarColor = Color.CYAN
+ val typedValue = TypedValue()
+ val theme = requireContext().theme
+ theme.resolveAttribute(com.google.android.material.R.attr.colorSurface, typedValue, true)
+ window?.navigationBarColor = typedValue.data
if (Anilist.token != null) {
binding.settingsLogin.setText(R.string.logout)
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 511bd501..8dec149d 100644
--- a/app/src/main/java/ani/dantotsu/settings/paging/MangaPagingSource.kt
+++ b/app/src/main/java/ani/dantotsu/settings/paging/MangaPagingSource.kt
@@ -117,12 +117,10 @@ class MangaExtensionAdapter(private val clickListener: OnMangaInstallClickListen
companion object {
private val DIFF_CALLBACK = object : DiffUtil.ItemCallback() {
override fun areItemsTheSame(oldItem: MangaExtension.Available, newItem: MangaExtension.Available): Boolean {
- // Your logic here
return oldItem.pkgName == newItem.pkgName
}
override fun areContentsTheSame(oldItem: MangaExtension.Available, newItem: MangaExtension.Available): Boolean {
- // Your logic here
return oldItem == newItem
}
}
diff --git a/app/src/main/java/ani/dantotsu/subcriptions/AlarmReceiver.kt b/app/src/main/java/ani/dantotsu/subcriptions/AlarmReceiver.kt
index de2836d3..0849ca07 100644
--- a/app/src/main/java/ani/dantotsu/subcriptions/AlarmReceiver.kt
+++ b/app/src/main/java/ani/dantotsu/subcriptions/AlarmReceiver.kt
@@ -40,7 +40,7 @@ class AlarmReceiver : BroadcastReceiver() {
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
)
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
- val curTime = loadData("subscriptions_time_r", context) ?: defaultTime
+ val curTime = loadData("subscriptions_time_s", context) ?: defaultTime
if (timeMinutes[curTime] > 0)
alarmManager.setRepeating(
diff --git a/app/src/main/java/ani/dantotsu/subcriptions/Subscription.kt b/app/src/main/java/ani/dantotsu/subcriptions/Subscription.kt
index 6d00090c..45925ba4 100644
--- a/app/src/main/java/ani/dantotsu/subcriptions/Subscription.kt
+++ b/app/src/main/java/ani/dantotsu/subcriptions/Subscription.kt
@@ -16,8 +16,8 @@ import kotlinx.coroutines.launch
@SuppressLint("MissingPermission")
class Subscription {
companion object {
- const val defaultTime = 3
- val timeMinutes = arrayOf(0L, 120, 180, 240, 360, 480, 720, 1440)
+ const val defaultTime = 1
+ val timeMinutes = arrayOf(0L, 720, 1440)
private var alreadyStarted = false
fun Context.startSubscription(force: Boolean = false) {
diff --git a/app/src/main/java/ani/dantotsu/subcriptions/SubscriptionWorker.kt b/app/src/main/java/ani/dantotsu/subcriptions/SubscriptionWorker.kt
index ee375e46..8481ed88 100644
--- a/app/src/main/java/ani/dantotsu/subcriptions/SubscriptionWorker.kt
+++ b/app/src/main/java/ani/dantotsu/subcriptions/SubscriptionWorker.kt
@@ -22,7 +22,7 @@ class SubscriptionWorker(val context: Context, params: WorkerParameters) : Corou
private const val SUBSCRIPTION_WORK_NAME = "work_subscription"
fun enqueue(context: Context) {
- val curTime = loadData("subscriptions_time_r") ?: defaultTime
+ val curTime = loadData("subscriptions_time_s") ?: defaultTime
if(timeMinutes[curTime]>0L) {
val constraints = Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()
val periodicSyncDataWork = PeriodicWorkRequest.Builder(
diff --git a/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt b/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt
index 55f126b9..080f4394 100644
--- a/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt
+++ b/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt
@@ -1,41 +1,41 @@
package ani.dantotsu.themes
import android.content.Context
+import android.content.res.Configuration
import ani.dantotsu.R
class ThemeManager(private val context: Context) {
fun applyTheme() {
+ val useOLED = context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_oled", false) && isDarkThemeActive(context)
if(context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_material_you", false)){
return
}
- when (context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getString("theme", "PURPLE")!!) {
- "PURPLE" -> {
- context.setTheme(R.style.Theme_Dantotsu_Purple)
- }
- "BLUE" -> {
- context.setTheme(R.style.Theme_Dantotsu_Blue)
- }
- "GREEN" -> {
- context.setTheme(R.style.Theme_Dantotsu_Green)
- }
- "PINK" -> {
- context.setTheme(R.style.Theme_Dantotsu_Pink)
- }
- "RED" -> {
- context.setTheme(R.style.Theme_Dantotsu_Red)
- }
- "LAVENDER" -> {
- context.setTheme(R.style.Theme_Dantotsu_Lavender)
- }
- "MONOCHROME (BETA)" -> {
- context.setTheme(R.style.Theme_Dantotsu_Monochrome)
- }
- else -> {
- context.setTheme(R.style.Theme_Dantotsu_Purple)
- }
+ val theme = context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getString("theme", "PURPLE")!!
+
+ val themeToApply = when (theme) {
+ "PURPLE" -> if (useOLED) R.style.Theme_Dantotsu_PurpleOLED else R.style.Theme_Dantotsu_Purple
+ "BLUE" -> if (useOLED) R.style.Theme_Dantotsu_BlueOLED else R.style.Theme_Dantotsu_Blue
+ "GREEN" -> if (useOLED) R.style.Theme_Dantotsu_GreenOLED else R.style.Theme_Dantotsu_Green
+ "PINK" -> if (useOLED) R.style.Theme_Dantotsu_PinkOLED else R.style.Theme_Dantotsu_Pink
+ "RED" -> if (useOLED) R.style.Theme_Dantotsu_RedOLED else R.style.Theme_Dantotsu_Red
+ "LAVENDER" -> if (useOLED) R.style.Theme_Dantotsu_LavenderOLED else R.style.Theme_Dantotsu_Lavender
+ "MONOCHROME (BETA)" -> if (useOLED) R.style.Theme_Dantotsu_MonochromeOLED else R.style.Theme_Dantotsu_Monochrome
+ else -> if (useOLED) R.style.Theme_Dantotsu_PurpleOLED else R.style.Theme_Dantotsu_Purple
+ }
+
+ context.setTheme(themeToApply)
+ }
+
+ private fun isDarkThemeActive(context: Context): Boolean {
+ return when (context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
+ Configuration.UI_MODE_NIGHT_YES -> true
+ Configuration.UI_MODE_NIGHT_NO -> false
+ Configuration.UI_MODE_NIGHT_UNDEFINED -> false
+ else -> false
}
}
+
companion object{
enum class Theme(val theme: String) {
PURPLE("PURPLE"),
diff --git a/app/src/main/res/color/chip_text_color.xml b/app/src/main/res/color/chip_text_color.xml
new file mode 100644
index 00000000..7cc1a4af
--- /dev/null
+++ b/app/src/main/res/color/chip_text_color.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/anim_splash.xml b/app/src/main/res/drawable/anim_splash.xml
index 2fa23aa5..f841df4f 100644
--- a/app/src/main/res/drawable/anim_splash.xml
+++ b/app/src/main/res/drawable/anim_splash.xml
@@ -1,173 +1,377 @@
-
+ android:name="vector"
+ android:width="768dp"
+ android:height="768dp"
+ android:viewportWidth="768"
+ android:viewportHeight="768">
- clip-path
- android:name="clip"
- android:pathData="M32,32m-32,0a32,32 0,1 1,64 0a32,32 0,1 1,-64 0" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:name="wrapper"
+ android:pivotX="384"
+ android:pivotY="384">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+ android:valueType="floatType"
+ android:interpolator="@android:anim/overshoot_interpolator"/>
+ android:valueType="floatType"
+ android:interpolator="@android:anim/overshoot_interpolator"/>
-
+
+ android:propertyName="rotation"
+ android:startOffset="350"
+ android:duration="550"
+ android:valueFrom="-10"
+ android:valueTo="0"
+ android:valueType="floatType"
+ android:interpolator="@android:anim/overshoot_interpolator"/>
+ android:valueType="floatType"
+ android:interpolator="@android:interpolator/fast_out_slow_in"/>
+
-
-
-
-
-
-
-
-
-
+
+ android:valueType="floatType"
+ android:interpolator="@android:anim/overshoot_interpolator"/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:valueType="floatType"
+ android:interpolator="@android:interpolator/fast_out_slow_in"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/card_outline.xml b/app/src/main/res/drawable/card_outline.xml
new file mode 100644
index 00000000..70356674
--- /dev/null
+++ b/app/src/main/res/drawable/card_outline.xml
@@ -0,0 +1,15 @@
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index 278186ca..2df302a9 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -1,23 +1,30 @@
-
+ android:viewportWidth="768"
+ android:viewportHeight="768">
+
+
+ android:pathData="M128,128h512v511.96h-512z"
+ android:strokeWidth="0"
+ android:fillColor="#ff00f4"/>
+ android:pathData="m128,128v335.26c23.32,3.7 47.23,5.63 71.58,5.63 211.59,0 389.34,-144.9 439.43,-340.89H128Z"
+ android:strokeWidth="0"
+ android:fillColor="#7000b8"/>
+ android:pathData="M384,384m-172.26,0a172.26,172.26 0,1 1,344.52 0a172.26,172.26 0,1 1,-344.52 0"
+ android:strokeWidth="0"
+ android:fillColor="#d300e5"/>
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
index b3679636..60fae8d8 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -1,27 +1,22 @@
-
+ android:viewportWidth="768"
+ android:viewportHeight="768">
+
+
+ android:pathData="m44.26,128c0,46.25 37.49,83.74 83.74,83.74h256c95.13,0 172.26,77.12 172.26,172.26h0c0,95.13 -77.12,172.26 -172.26,172.26H128c-46.24,0 -83.72,37.47 -83.74,83.71h723.74V128H44.26Z"
+ android:strokeWidth="0"
+ android:fillColor="#1f1f30"/>
+ android:pathData="m481.82,384h0c0,54.03 -43.8,97.82 -97.82,97.82H0v-195.64h384c54.02,0 97.82,43.8 97.82,97.82Z"
+ android:strokeWidth="0"
+ android:fillColor="#1f1f30"/>
-
+ android:pathData="m442,366.7l-76.02,-43.89c-13.32,-7.69 -29.96,1.92 -29.96,17.3v87.78c0,15.38 16.65,24.99 29.96,17.3l76.02,-43.89c13.32,-7.69 13.32,-26.91 0,-34.6Z"
+ android:strokeWidth="0"
+ android:fillColor="#efe7ff"/>
diff --git a/app/src/main/res/drawable/mono.xml b/app/src/main/res/drawable/mono.xml
index 7bf506e7..1ee5f5d8 100644
--- a/app/src/main/res/drawable/mono.xml
+++ b/app/src/main/res/drawable/mono.xml
@@ -1,27 +1,17 @@
-
-
-
-
-
-
+ android:width="768dp"
+ android:height="768dp"
+ android:viewportWidth="768"
+ android:viewportHeight="768">
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_extensions.xml b/app/src/main/res/layout/activity_extensions.xml
index 3f22d75c..172f065b 100644
--- a/app/src/main/res/layout/activity_extensions.xml
+++ b/app/src/main/res/layout/activity_extensions.xml
@@ -51,13 +51,9 @@
android:text="@string/extensions"
android:textSize="28sp" />
-
+ android:layout_height="80dp" />
@@ -69,13 +65,38 @@
tools:ignore="UseCompoundDrawables">
-
+ android:layout_height="56dp"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginBottom="8dp"
+ android:transitionName="@string/search"
+ app:boxBackgroundColor="@color/bg"
+ app:boxBackgroundMode="outline"
+ app:boxCornerRadiusBottomEnd="28dp"
+ app:boxCornerRadiusBottomStart="28dp"
+ app:boxCornerRadiusTopEnd="28dp"
+ app:boxCornerRadiusTopStart="28dp"
+ app:endIconDrawable="@drawable/ic_round_search_24"
+ app:hintAnimationEnabled="true">
+
+
+
@@ -84,15 +105,26 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
+ app:tabTextColor="?attr/colorOnBackground"
+ selectedTabIndicatorColor="?attr/colorPrimary"
+ app:tabIndicatorColor="?attr/colorPrimary"
app:tabGravity="fill">
+ android:text="Installed Anime"/>
+ android:text="Available Anime"/>
+
+
diff --git a/app/src/main/res/layout/activity_manga_reader.xml b/app/src/main/res/layout/activity_manga_reader.xml
index 8bd8e543..bd8c890c 100644
--- a/app/src/main/res/layout/activity_manga_reader.xml
+++ b/app/src/main/res/layout/activity_manga_reader.xml
@@ -133,7 +133,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
- app:cardBackgroundColor="#000000"
+ app:cardBackgroundColor="?attr/colorSurface"
app:cardCornerRadius="16dp"
app:contentPadding="8dp"
app:strokeColor="?attr/colorSecondary"
@@ -148,7 +148,7 @@
android:layout_marginEnd="8dp"
android:fontFamily="@font/poppins_bold"
android:text="@string/app_name"
- android:textColor="?android:colorBackground"
+ android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
@@ -170,7 +170,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
- app:cardBackgroundColor="#000000"
+ app:cardBackgroundColor="?attr/colorSurface"
app:cardCornerRadius="16dp"
app:contentPadding="8dp"
app:strokeColor="?attr/colorSecondary"
@@ -185,7 +185,7 @@
android:layout_marginEnd="8dp"
android:fontFamily="@font/poppins_bold"
android:text="@string/app_name"
- android:textColor="?android:colorBackground"
+ android:textColor="?attr/colorOnSurface"
android:textSize="16sp" />
diff --git a/app/src/main/res/layout/activity_media.xml b/app/src/main/res/layout/activity_media.xml
index e84267b0..844524a2 100644
--- a/app/src/main/res/layout/activity_media.xml
+++ b/app/src/main/res/layout/activity_media.xml
@@ -123,6 +123,7 @@
android:text="@string/add"
android:textAllCaps="true"
android:textColor="?attr/colorPrimary"
+ app:strokeColor="?attr/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
app:cornerRadius="16dp"
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 1b5a3b96..c2a01baa 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -161,16 +161,34 @@
+
+
+ app:iconTint="?attr/colorOnPrimaryContainer" />
diff --git a/app/src/main/res/layout/item_episode_list.xml b/app/src/main/res/layout/item_episode_list.xml
index 4480d61f..3c91530f 100644
--- a/app/src/main/res/layout/item_episode_list.xml
+++ b/app/src/main/res/layout/item_episode_list.xml
@@ -8,7 +8,7 @@
android:layout_margin="8dp"
android:backgroundTintMode="src_atop"
android:longClickable="true"
- app:cardBackgroundColor="?attr/colorSurface"
+ android:background="@drawable/card_outline"
app:cardCornerRadius="16dp">
@@ -65,6 +65,7 @@
android:layout_width="12dp"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_round_star_24"
+ app:tint="?attr/colorOnPrimary"
tools:ignore="ContentDescription" />
diff --git a/app/src/main/res/layout/item_media_large.xml b/app/src/main/res/layout/item_media_large.xml
index 6778876f..83fcffa8 100644
--- a/app/src/main/res/layout/item_media_large.xml
+++ b/app/src/main/res/layout/item_media_large.xml
@@ -74,7 +74,7 @@
android:layout_marginStart="2dp"
android:fontFamily="@font/poppins_bold"
android:paddingTop="2dp"
- android:textColor="@color/bg_white"
+ android:textColor="?attr/colorOnPrimary"
android:textSize="12sp"
tools:ignore="TextContrastCheck"
tools:text="0.0" />
@@ -84,6 +84,7 @@
android:layout_width="12dp"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_round_star_24"
+ app:tint="?attr/colorOnPrimary"
tools:ignore="ContentDescription" />
diff --git a/app/src/main/res/layout/item_media_page.xml b/app/src/main/res/layout/item_media_page.xml
index dc540bcb..0afa0585 100644
--- a/app/src/main/res/layout/item_media_page.xml
+++ b/app/src/main/res/layout/item_media_page.xml
@@ -72,7 +72,7 @@
android:layout_marginStart="2dp"
android:fontFamily="@font/poppins_bold"
android:paddingTop="2dp"
- android:textColor="@color/bg_white"
+ android:textColor="?attr/colorOnPrimary"
android:textSize="12sp"
tools:ignore="TextContrastCheck"
tools:text="0.0" />
@@ -82,6 +82,7 @@
android:layout_width="12dp"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_round_star_24"
+ app:tint="?attr/colorOnPrimary"
tools:ignore="ContentDescription" />
diff --git a/app/src/main/res/layout/item_media_page_small.xml b/app/src/main/res/layout/item_media_page_small.xml
index dd4236a4..2499ea59 100644
--- a/app/src/main/res/layout/item_media_page_small.xml
+++ b/app/src/main/res/layout/item_media_page_small.xml
@@ -92,7 +92,7 @@
android:layout_marginStart="2dp"
android:fontFamily="@font/poppins_bold"
android:paddingTop="2dp"
- android:textColor="@color/bg_white"
+ android:textColor="?attr/colorOnPrimary"
android:textSize="12sp"
tools:ignore="TextContrastCheck"
tools:text="0.0" />
@@ -102,6 +102,7 @@
android:layout_width="12dp"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_round_star_24"
+ app:tint="?attr/colorOnPrimary"
tools:ignore="ContentDescription" />
diff --git a/app/src/main/res/layout/item_search_header.xml b/app/src/main/res/layout/item_search_header.xml
index 50713209..320cd2a9 100644
--- a/app/src/main/res/layout/item_search_header.xml
+++ b/app/src/main/res/layout/item_search_header.xml
@@ -60,6 +60,8 @@
android:layout_weight="1"
android:layoutDirection="inherit"
android:text="@string/list_only"
+ android:textColor="?attr/colorOnBackground"
+ app:buttonTint="?attr/colorPrimary"
android:visibility="visible"
app:checkedState="indeterminate"
tools:ignore="TextContrastCheck,TouchTargetSizeCheck" />
@@ -75,7 +77,8 @@
android:text="@string/adult"
android:textAlignment="textEnd"
android:visibility="visible"
- app:buttonTint="?attr/colorPrimaryContainer"
+ android:textColor="?attr/colorOnBackground"
+ app:buttonTint="?attr/colorPrimary"
tools:ignore="TextContrastCheck,TouchTargetSizeCheck" />
diff --git a/app/src/main/res/layout/splash_screen.xml b/app/src/main/res/layout/splash_screen.xml
index 28b6cc3a..eac727b5 100644
--- a/app/src/main/res/layout/splash_screen.xml
+++ b/app/src/main/res/layout/splash_screen.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?android:colorBackground">
+ android:background="@color/bg_black">
@color/bg_white
- @color/bg_black
- @color/bg_white
- - @color/bg_white
- - @color/bg_black
- - @color/bg_white
- - @color/bg_black
- - @color/bg_white
+ - @color/bg_black
+ - @color/bg_white
+ - @color/bg_black
+ - @color/bg_white
+ - @color/bg_black
- @color/bg_black
@@ -208,4 +208,40 @@
- @color/md_1_theme_dark_inverseSurface
- @color/md_1_theme_dark_inversePrimary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 6344d4c6..a1e9864b 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,6 +1,7 @@
@@ -189,13 +192,13 @@