From a1913ed968e176b92a1208cd2a1929c2d99b475e Mon Sep 17 00:00:00 2001
From: Finnley Somdahl <87634197+rebelonion@users.noreply.github.com>
Date: Wed, 22 Nov 2023 00:32:26 -0600
Subject: [PATCH] new icon color fixed sorting issue [12:28 AM] some nice gui
stuff for downloading [12:28 AM] yomiroll preferences bug [12:28 AM]
background no longer stuck on black
---
app/build.gradle | 8 +-
app/src/debug/res/values/strings.xml | 2 +-
app/src/main/AndroidManifest.xml | 2 +-
app/src/main/ic_launcher_beta-playstore.png | Bin 0 -> 15523 bytes
.../main/java/ani/dantotsu/MainActivity.kt | 4 +-
.../dantotsu/media/MediaDetailsViewModel.kt | 22 +-
.../media/anime/AnimeWatchFragment.kt | 41 +-
.../ani/dantotsu/media/anime/ExoplayerView.kt | 3 +-
.../media/manga/MangaChapterAdapter.kt | 2 +-
.../dantotsu/parsers/OfflineMangaParser.kt | 9 +
.../InstalledAnimeExtensionsFragment.kt | 68 ++--
.../AnimePreferenceFragmentCompat.kt | 8 +-
.../main/res/drawable/anim_splash_beta.xml | 377 ++++++++++++++++++
.../drawable/ic_launcher_beta_background.xml | 30 ++
.../drawable/ic_launcher_beta_foreground.xml | 22 +
app/src/main/res/layout/splash_screen.xml | 2 +-
.../mipmap-anydpi-v26/ic_launcher_beta.xml | 6 +
.../ic_launcher_beta_round.xml | 5 +
.../res/mipmap-hdpi/ic_launcher_beta.webp | Bin 0 -> 2896 bytes
.../mipmap-hdpi/ic_launcher_beta_round.webp | Bin 0 -> 2896 bytes
.../res/mipmap-mdpi/ic_launcher_beta.webp | Bin 0 -> 1864 bytes
.../mipmap-mdpi/ic_launcher_beta_round.webp | Bin 0 -> 1864 bytes
.../res/mipmap-xhdpi/ic_launcher_beta.webp | Bin 0 -> 3832 bytes
.../mipmap-xhdpi/ic_launcher_beta_round.webp | Bin 0 -> 3832 bytes
.../res/mipmap-xxhdpi/ic_launcher_beta.webp | Bin 0 -> 5818 bytes
.../mipmap-xxhdpi/ic_launcher_beta_round.webp | Bin 0 -> 5818 bytes
.../res/mipmap-xxxhdpi/ic_launcher_beta.webp | Bin 0 -> 7964 bytes
.../ic_launcher_beta_round.webp | Bin 0 -> 7964 bytes
app/src/main/res/values-night/themes.xml | 2 +-
app/src/main/res/values/themes.xml | 1 -
30 files changed, 531 insertions(+), 83 deletions(-)
create mode 100644 app/src/main/ic_launcher_beta-playstore.png
create mode 100644 app/src/main/res/drawable/anim_splash_beta.xml
create mode 100644 app/src/main/res/drawable/ic_launcher_beta_background.xml
create mode 100644 app/src/main/res/drawable/ic_launcher_beta_foreground.xml
create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta.xml
create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml
create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_beta.webp
create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_beta_round.webp
create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_beta.webp
create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_beta_round.webp
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_beta.webp
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_beta_round.webp
create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.webp
create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_beta_round.webp
create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta.webp
create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta_round.webp
diff --git a/app/build.gradle b/app/build.gradle
index eac864f1..5caa29de 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -28,9 +28,11 @@ android {
buildTypes {
debug {
applicationIdSuffix ".beta"
+ manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher_beta"]
debuggable true
}
release {
+ manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher"]
debuggable false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
@@ -76,11 +78,11 @@ dependencies {
// FireBase
implementation platform('com.google.firebase:firebase-bom:32.2.3')
- implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0'
- implementation 'com.google.firebase:firebase-crashlytics-ktx:18.4.3'
+ implementation 'com.google.firebase:firebase-analytics-ktx:21.5.0'
+ implementation 'com.google.firebase:firebase-crashlytics-ktx:18.6.0'
// Exoplayer
- ext.exo_version = '1.1.1'
+ ext.exo_version = '1.2.0'
implementation "androidx.media3:media3-exoplayer:$exo_version"
implementation "androidx.media3:media3-ui:$exo_version"
implementation "androidx.media3:media3-exoplayer-hls:$exo_version"
diff --git a/app/src/debug/res/values/strings.xml b/app/src/debug/res/values/strings.xml
index e74ebc2f..ef58c36a 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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6647fea0..b3e07cea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -47,7 +47,7 @@
^v
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
literal 0
HcmV?d00001
diff --git a/app/src/main/java/ani/dantotsu/MainActivity.kt b/app/src/main/java/ani/dantotsu/MainActivity.kt
index d79503a7..4cea1e39 100644
--- a/app/src/main/java/ani/dantotsu/MainActivity.kt
+++ b/app/src/main/java/ani/dantotsu/MainActivity.kt
@@ -83,9 +83,9 @@ class MainActivity : AppCompatActivity() {
private var uiSettings = UserInterfaceSettings()
override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- LangSet.setLocale(this)
ThemeManager(this).applyTheme()
+ LangSet.setLocale(this)
+ super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
diff --git a/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt b/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt
index f850b206..5235e6b5 100644
--- a/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt
+++ b/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt
@@ -270,27 +270,7 @@ class MediaDetailsViewModel : ViewModel() {
private val mangaChapter = MutableLiveData(null)
fun getMangaChapter(): LiveData = mangaChapter
suspend fun loadMangaChapterImages(chapter: MangaChapter, selected: Selected, series: String, post: Boolean = true): Boolean {
- //check if the chapter has been downloaded already
- val downloadsManager = Injekt.get()
- if(downloadsManager.mangaDownloads.contains(Download(series, chapter.title!!, Download.Type.MANGA))) {
- val download = downloadsManager.mangaDownloads.find { it.title == series && it.chapter == chapter.title!! } ?: return false
- //look in the downloads folder for the chapter and add all the numerically named images to the chapter
- val directory = File(
- currContext()?.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS),
- "Dantotsu/Manga/$series/${chapter.title!!}"
- )
- val images = mutableListOf()
- directory.listFiles()?.forEach {
- if (it.nameWithoutExtension.toIntOrNull() != null) {
- images.add(MangaImage(FileUrl(it.absolutePath), false))
- }
- }
- //sort the images by name
- images.sortBy { it.url.url }
- chapter.addImages(images)
- if (post) mangaChapter.postValue(chapter)
- return true
- }
+
return tryWithSuspend(true) {
chapter.addImages(
mangaReadSources?.get(selected.sourceIndex)?.loadImages(chapter.link, chapter.sChapter) ?: return@tryWithSuspend false
diff --git a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt
index 0613eceb..0dc1fda7 100644
--- a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt
+++ b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchFragment.kt
@@ -321,16 +321,18 @@ class AnimeWatchFragment : Fragment() {
dialog.dismiss()
// Move the fragment transaction here
- val fragment =
- AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
- changeUIVisibility(true)
- loadEpisodes(media.selected!!.sourceIndex, true)
- }
- parentFragmentManager.beginTransaction()
- .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
- .replace(R.id.fragmentExtensionsContainer, fragment)
- .addToBackStack(null)
- .commit()
+ requireActivity().runOnUiThread {
+ val fragment =
+ AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) {
+ changeUIVisibility(true)
+ loadEpisodes(media.selected!!.sourceIndex, true)
+ }
+ parentFragmentManager.beginTransaction()
+ .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
+ .replace(R.id.fragmentExtensionsContainer, fragment)
+ .addToBackStack(null)
+ .commit()
+ }
}
.setNegativeButton("Cancel") { dialog, _ ->
dialog.cancel()
@@ -340,15 +342,18 @@ class AnimeWatchFragment : Fragment() {
.show()
} else {
// If there's only one setting, proceed with the fragment transaction
- val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
- changeUIVisibility(true)
- loadEpisodes(media.selected!!.sourceIndex, true)
+ requireActivity().runOnUiThread {
+ val fragment =
+ AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) {
+ changeUIVisibility(true)
+ loadEpisodes(media.selected!!.sourceIndex, true)
+ }
+ parentFragmentManager.beginTransaction()
+ .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
+ .replace(R.id.fragmentExtensionsContainer, fragment)
+ .addToBackStack(null)
+ .commit()
}
- parentFragmentManager.beginTransaction()
- .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
- .replace(R.id.fragmentExtensionsContainer, fragment)
- .addToBackStack(null)
- .commit()
}
changeUIVisibility(false)
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 2617907a..abf500ce 100644
--- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt
+++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt
@@ -323,7 +323,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
LangSet.setLocale(this)
-ThemeManager(this).applyTheme()
+ ThemeManager(this).applyTheme()
binding = ActivityExoplayerBinding.inflate(layoutInflater)
setContentView(binding.root)
@@ -1450,6 +1450,7 @@ ThemeManager(this).applyTheme()
override fun onResume() {
super.onResume()
+ LangSet.setLocale(this)
orientationListener?.enable()
hideSystemBars()
if (isInitialized) {
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 cfce2642..b14a81f1 100644
--- a/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/media/manga/MangaChapterAdapter.kt
@@ -139,7 +139,7 @@ class MangaChapterAdapter(
binding.itemDownload.postDelayed({
binding.itemDownload.setImageResource(R.drawable.ic_circle_cancel)
binding.itemDownload.setColorFilter(typedValue2.data)
- }, 5000)
+ }, 1000)
} else {
// Show download icon
binding.itemDownload.setImageResource(R.drawable.ic_circle_add)
diff --git a/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt b/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt
index 50e3fed3..3684ee8b 100644
--- a/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt
+++ b/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt
@@ -3,6 +3,7 @@ package ani.dantotsu.parsers
import android.os.Environment
import ani.dantotsu.currContext
import ani.dantotsu.download.DownloadsManager
+import ani.dantotsu.logger
import ani.dantotsu.media.manga.MangaNameAdapter
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
@@ -47,6 +48,7 @@ class OfflineMangaParser: MangaParser() {
"Dantotsu/Manga/$chapterLink"
)
val images = mutableListOf()
+ val imageNumberRegex = Regex("""(\d+)\.jpg$""")
if (directory.exists()) {
directory.listFiles()?.forEach {
if (it.isFile) {
@@ -54,6 +56,13 @@ class OfflineMangaParser: MangaParser() {
images.add(image)
}
}
+ images.sortBy { image ->
+ val matchResult = imageNumberRegex.find(image.url.url)
+ matchResult?.groups?.get(1)?.value?.toIntOrNull() ?: Int.MAX_VALUE
+ }
+ for (image in images) {
+ logger("imageNumber: ${image.url.url}")
+ }
return images
}
return emptyList()
diff --git a/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt b/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt
index 980fa019..b668cf2a 100644
--- a/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt
+++ b/app/src/main/java/ani/dantotsu/settings/InstalledAnimeExtensionsFragment.kt
@@ -63,19 +63,26 @@ class InstalledAnimeExtensionsFragment : Fragment() {
dialog.dismiss()
// Move the fragment transaction here
- val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
- val activity = requireActivity() as ExtensionsActivity
- activity.findViewById(R.id.viewPager).visibility = View.VISIBLE
- activity.findViewById(R.id.tabLayout).visibility = View.VISIBLE
- activity.findViewById(R.id.searchView).visibility = View.VISIBLE
- activity.findViewById(R.id.fragmentExtensionsContainer).visibility =
- View.GONE
+ val eActivity = requireActivity() as ExtensionsActivity
+ eActivity.runOnUiThread {
+ val fragment =
+ AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) {
+
+ eActivity.findViewById(R.id.viewPager).visibility =
+ View.VISIBLE
+ eActivity.findViewById(R.id.tabLayout).visibility =
+ View.VISIBLE
+ eActivity.findViewById(R.id.searchView).visibility =
+ View.VISIBLE
+ eActivity.findViewById(R.id.fragmentExtensionsContainer).visibility =
+ View.GONE
+ }
+ parentFragmentManager.beginTransaction()
+ .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
+ .replace(R.id.fragmentExtensionsContainer, fragment)
+ .addToBackStack(null)
+ .commit()
}
- parentFragmentManager.beginTransaction()
- .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
- .replace(R.id.fragmentExtensionsContainer, fragment)
- .addToBackStack(null)
- .commit()
}
.setNegativeButton("Cancel") { dialog, _ ->
dialog.cancel()
@@ -84,19 +91,26 @@ class InstalledAnimeExtensionsFragment : Fragment() {
.show()
} else {
// If there's only one setting, proceed with the fragment transaction
- val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
- val activity = requireActivity() as ExtensionsActivity
- activity.findViewById(R.id.viewPager).visibility = View.VISIBLE
- activity.findViewById(R.id.tabLayout).visibility = View.VISIBLE
- activity.findViewById(R.id.searchView).visibility = View.VISIBLE
- activity.findViewById(R.id.fragmentExtensionsContainer).visibility =
- View.GONE
+ val eActivity = requireActivity() as ExtensionsActivity
+ eActivity.runOnUiThread {
+ val fragment =
+ AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) {
+
+ eActivity.findViewById(R.id.viewPager).visibility =
+ View.VISIBLE
+ eActivity.findViewById(R.id.tabLayout).visibility =
+ View.VISIBLE
+ eActivity.findViewById(R.id.searchView).visibility =
+ View.VISIBLE
+ eActivity.findViewById(R.id.fragmentExtensionsContainer).visibility =
+ View.GONE
+ }
+ parentFragmentManager.beginTransaction()
+ .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
+ .replace(R.id.fragmentExtensionsContainer, fragment)
+ .addToBackStack(null)
+ .commit()
}
- parentFragmentManager.beginTransaction()
- .setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
- .replace(R.id.fragmentExtensionsContainer, fragment)
- .addToBackStack(null)
- .commit()
}
// Hide ViewPager2 and TabLayout
@@ -149,7 +163,7 @@ class InstalledAnimeExtensionsFragment : Fragment() {
context,
Notifications.CHANNEL_DOWNLOADER_PROGRESS
)
- .setSmallIcon(androidx.media3.ui.R.drawable.exo_ic_check)
+ .setSmallIcon(R.drawable.ic_circle_check)
.setContentTitle("Update complete")
.setContentText("The extension has been successfully updated.")
.setPriority(NotificationCompat.PRIORITY_LOW)
@@ -192,13 +206,11 @@ class InstalledAnimeExtensionsFragment : Fragment() {
private class AnimeExtensionsAdapter(
private val onSettingsClicked: (AnimeExtension.Installed) -> Unit,
private val onUninstallClicked: (AnimeExtension.Installed) -> Unit,
- skipIcons: Boolean
+ val skipIcons: Boolean
) : ListAdapter(
DIFF_CALLBACK_INSTALLED
) {
- val skipIcons = skipIcons
-
fun updateData(newExtensions: List) {
submitList(newExtensions) // Use submitList instead of manual list handling
}
diff --git a/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt b/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt
index b4f93561..b82629f5 100644
--- a/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt
+++ b/app/src/main/java/ani/dantotsu/settings/extensionprefs/AnimePreferenceFragmentCompat.kt
@@ -44,7 +44,7 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() {
onCloseAction?.invoke()
}
- fun populateAnimePreferenceScreen(): PreferenceScreen {
+ private fun populateAnimePreferenceScreen(): PreferenceScreen {
val sourceId = requireArguments().getLong(SOURCE_ID)
val source = Injekt.get().get(sourceId)!!
check(source is ConfigurableAnimeSource)
@@ -57,11 +57,11 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() {
pref.isIconSpaceReserved = false
if (pref is DialogPreference) {
pref.dialogTitle = pref.title
- println("pref.dialogTitle: ${pref.dialogTitle}")
+ //println("pref.dialogTitle: ${pref.dialogTitle}")
}
- for (entry in sharedPreferences.all.entries) {
+ /*for (entry in sharedPreferences.all.entries) {
Log.d("Preferences", "Key: ${entry.key}, Value: ${entry.value}")
- }
+ }*/
// Apply incognito IME for EditTextPreference
if (pref is EditTextPreference) {
diff --git a/app/src/main/res/drawable/anim_splash_beta.xml b/app/src/main/res/drawable/anim_splash_beta.xml
new file mode 100644
index 00000000..3338cb41
--- /dev/null
+++ b/app/src/main/res/drawable/anim_splash_beta.xml
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_beta_background.xml b/app/src/main/res/drawable/ic_launcher_beta_background.xml
new file mode 100644
index 00000000..657fc674
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_beta_background.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_beta_foreground.xml b/app/src/main/res/drawable/ic_launcher_beta_foreground.xml
new file mode 100644
index 00000000..f19b9a98
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_beta_foreground.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/splash_screen.xml b/app/src/main/res/layout/splash_screen.xml
index eac727b5..28b6cc3a 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="@color/bg_black">
+ android:background="?android:colorBackground">
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml
new file mode 100644
index 00000000..4b4e6996
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_beta.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_beta.webp
new file mode 100644
index 0000000000000000000000000000000000000000..f8f3052afc38f92ea651bbff6b8293008370f366
GIT binary patch
literal 2896
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
C8Hqsv
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_beta_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_beta_round.webp
new file mode 100644
index 0000000000000000000000000000000000000000..587346da374ea8387b0cd20d88babaa4009a1f10
GIT binary patch
literal 1864
zcmV-O2e>UjeF#%K)xGYt&
zwe4x+eA<=4;lz@1dJDb(i)&&~Y5$emVMfOtp0NJH${|;gY&%gKAmf1VXMms}D#&S9
z2GZe1lI>cVuLbv>vwKlNeDfEc22**@B@KQQkPJ4-U}9-4;K;UZ+Nx*UHouK7*tX5g
zW&>>hF4$K76o1<~n}OT5aipZ(eQ((thld~Nx0e!0HmzfDM9Y^TIo@O}0glr6Unb|JwTRnj{!I
zjL!>l+a=pnZTU~ujP@rE_SWRuXw{uaPs;-${X(29`XYvh(qj6-gM{JBB4!cAB1~Cq
z3Xm4~_?4yrZl4%{|Mi0hl7*go=s9F|K&u<*IyHG?os+Ty7(N&n*RGC;5c&1W7==qD5_CRAsx3bK$+>B?#c-AqV
zwOr#{GoB;kxhT?jt|UnUJ0}Oj%ih0#UmqP1YE8Vrbx3*9jTm0;Toe~AQVA0i^mR3h
za>Jk{nB0)@zHLiT)|ZgiB9lYaptV<76GtPVU{Mqba
zB#i?I4G7{0L)HMGxhWuv$|%HpugOL)jAe9P=h7~QM&(NyI}x}diTj4TW4JSlI*8CZ
z08~{Ysi;Yfh|1)uSjeDfZwXp7%zh6^qg20;nX)3x=gDXNK-+=7J*j
zBA^y2X|fQ~WJm#uVB|H3O(HqvSbA{6@wB2g1E41ILU=ZpWmE(sAD@CpB0AxHcbHtj
zDM@TXNKND^1Jj$ZzQ$8!x~Z9r
z8=5&Oi0uHVs``;RtnI?dkutN7+%TayIw1kP7L)1hK;V+1y6?$(MIAzj-jm2EX|A^`
zb8&GfHgfnqX{vJofdnv3Q7)EHkrw+98W6-$j;#eib1kD5%_JxZZ@rRbjEWSN(REd=
z^CT1(B=2oYY
zZLd|cjNtF6LEB%u@9E-Mby*RFD+t00&4aLl%mp**&ybHI4f&D90@(<2fO-xfqFmxdbxOig3D87Pgc%$_^rJZ5&jRf$ngMbcE$IP2gsQ3
z>ec%J>i3P*?+a1D^Mj$D;?nT|>f~k70+1u$8GQd(0ur^{pQ+y$sQ>3LF@=w3xH;!i
z(Cb?#s@&g{7l51qF4_SkbT`rJdi+-ZZ{Vh>%I7;gUKw)WjoRxq!a*IMQUJJ3%kRKA
zVGWi9G8zCI{cV?eUZL{;`&RzGLQG9nKAz#}8ZJ+`;Npm{pBG*;M?ncJ_aZN4Pe~;7>sjzra}M|
C8Hqsv
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_beta.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_beta.webp
new file mode 100644
index 0000000000000000000000000000000000000000..489d7184074846631acd16e66d8466cd22075e7d
GIT binary patch
literal 3832
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
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_beta_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_beta_round.webp
new file mode 100644
index 0000000000000000000000000000000000000000..489d7184074846631acd16e66d8466cd22075e7d
GIT binary patch
literal 3832
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
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.webp
new file mode 100644
index 0000000000000000000000000000000000000000..572b138d18ee3ff8874e1a0c75747f4d1e5d22be
GIT binary patch
literal 5818
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
E0KD}7!TZJ2~V>~;r2L`(o(**j0J
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