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
|
@ -28,9 +28,11 @@ android {
|
||||||
buildTypes {
|
buildTypes {
|
||||||
debug {
|
debug {
|
||||||
applicationIdSuffix ".beta"
|
applicationIdSuffix ".beta"
|
||||||
|
manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher_beta"]
|
||||||
debuggable true
|
debuggable true
|
||||||
}
|
}
|
||||||
release {
|
release {
|
||||||
|
manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher"]
|
||||||
debuggable false
|
debuggable false
|
||||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
|
@ -76,11 +78,11 @@ dependencies {
|
||||||
|
|
||||||
// FireBase
|
// FireBase
|
||||||
implementation platform('com.google.firebase:firebase-bom:32.2.3')
|
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-analytics-ktx:21.5.0'
|
||||||
implementation 'com.google.firebase:firebase-crashlytics-ktx:18.4.3'
|
implementation 'com.google.firebase:firebase-crashlytics-ktx:18.6.0'
|
||||||
|
|
||||||
// Exoplayer
|
// Exoplayer
|
||||||
ext.exo_version = '1.1.1'
|
ext.exo_version = '1.2.0'
|
||||||
implementation "androidx.media3:media3-exoplayer:$exo_version"
|
implementation "androidx.media3:media3-exoplayer:$exo_version"
|
||||||
implementation "androidx.media3:media3-ui:$exo_version"
|
implementation "androidx.media3:media3-ui:$exo_version"
|
||||||
implementation "androidx.media3:media3-exoplayer-hls:$exo_version"
|
implementation "androidx.media3:media3-exoplayer-hls:$exo_version"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Dantotsu</string>
|
<string name="app_name">Dantotsu ß</string>
|
||||||
</resources>
|
</resources>
|
|
@ -47,7 +47,7 @@
|
||||||
<application
|
<application
|
||||||
android:name=".App"
|
android:name=".App"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="${icon_placeholder}"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:largeHeap="true"
|
android:largeHeap="true"
|
||||||
android:requestLegacyExternalStorage="true"
|
android:requestLegacyExternalStorage="true"
|
||||||
|
|
BIN
app/src/main/ic_launcher_beta-playstore.png
Normal file
After Width: | Height: | Size: 15 KiB |
|
@ -83,9 +83,9 @@ class MainActivity : AppCompatActivity() {
|
||||||
private var uiSettings = UserInterfaceSettings()
|
private var uiSettings = UserInterfaceSettings()
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
LangSet.setLocale(this)
|
|
||||||
ThemeManager(this).applyTheme()
|
ThemeManager(this).applyTheme()
|
||||||
|
LangSet.setLocale(this)
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
|
@ -270,27 +270,7 @@ class MediaDetailsViewModel : ViewModel() {
|
||||||
private val mangaChapter = MutableLiveData<MangaChapter?>(null)
|
private val mangaChapter = MutableLiveData<MangaChapter?>(null)
|
||||||
fun getMangaChapter(): LiveData<MangaChapter?> = mangaChapter
|
fun getMangaChapter(): LiveData<MangaChapter?> = mangaChapter
|
||||||
suspend fun loadMangaChapterImages(chapter: MangaChapter, selected: Selected, series: String, post: Boolean = true): Boolean {
|
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<DownloadsManager>()
|
|
||||||
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<MangaImage>()
|
|
||||||
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) {
|
return tryWithSuspend(true) {
|
||||||
chapter.addImages(
|
chapter.addImages(
|
||||||
mangaReadSources?.get(selected.sourceIndex)?.loadImages(chapter.link, chapter.sChapter) ?: return@tryWithSuspend false
|
mangaReadSources?.get(selected.sourceIndex)?.loadImages(chapter.link, chapter.sChapter) ?: return@tryWithSuspend false
|
||||||
|
|
|
@ -321,16 +321,18 @@ class AnimeWatchFragment : Fragment() {
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
|
|
||||||
// Move the fragment transaction here
|
// Move the fragment transaction here
|
||||||
val fragment =
|
requireActivity().runOnUiThread {
|
||||||
AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
|
val fragment =
|
||||||
changeUIVisibility(true)
|
AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) {
|
||||||
loadEpisodes(media.selected!!.sourceIndex, true)
|
changeUIVisibility(true)
|
||||||
}
|
loadEpisodes(media.selected!!.sourceIndex, true)
|
||||||
parentFragmentManager.beginTransaction()
|
}
|
||||||
.setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
|
parentFragmentManager.beginTransaction()
|
||||||
.replace(R.id.fragmentExtensionsContainer, fragment)
|
.setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
|
||||||
.addToBackStack(null)
|
.replace(R.id.fragmentExtensionsContainer, fragment)
|
||||||
.commit()
|
.addToBackStack(null)
|
||||||
|
.commit()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.setNegativeButton("Cancel") { dialog, _ ->
|
.setNegativeButton("Cancel") { dialog, _ ->
|
||||||
dialog.cancel()
|
dialog.cancel()
|
||||||
|
@ -340,15 +342,18 @@ class AnimeWatchFragment : Fragment() {
|
||||||
.show()
|
.show()
|
||||||
} else {
|
} else {
|
||||||
// If there's only one setting, proceed with the fragment transaction
|
// If there's only one setting, proceed with the fragment transaction
|
||||||
val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
|
requireActivity().runOnUiThread {
|
||||||
changeUIVisibility(true)
|
val fragment =
|
||||||
loadEpisodes(media.selected!!.sourceIndex, true)
|
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)
|
changeUIVisibility(false)
|
||||||
|
|
|
@ -323,7 +323,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
LangSet.setLocale(this)
|
LangSet.setLocale(this)
|
||||||
ThemeManager(this).applyTheme()
|
ThemeManager(this).applyTheme()
|
||||||
binding = ActivityExoplayerBinding.inflate(layoutInflater)
|
binding = ActivityExoplayerBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
|
@ -1450,6 +1450,7 @@ ThemeManager(this).applyTheme()
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
LangSet.setLocale(this)
|
||||||
orientationListener?.enable()
|
orientationListener?.enable()
|
||||||
hideSystemBars()
|
hideSystemBars()
|
||||||
if (isInitialized) {
|
if (isInitialized) {
|
||||||
|
|
|
@ -139,7 +139,7 @@ class MangaChapterAdapter(
|
||||||
binding.itemDownload.postDelayed({
|
binding.itemDownload.postDelayed({
|
||||||
binding.itemDownload.setImageResource(R.drawable.ic_circle_cancel)
|
binding.itemDownload.setImageResource(R.drawable.ic_circle_cancel)
|
||||||
binding.itemDownload.setColorFilter(typedValue2.data)
|
binding.itemDownload.setColorFilter(typedValue2.data)
|
||||||
}, 5000)
|
}, 1000)
|
||||||
} else {
|
} else {
|
||||||
// Show download icon
|
// Show download icon
|
||||||
binding.itemDownload.setImageResource(R.drawable.ic_circle_add)
|
binding.itemDownload.setImageResource(R.drawable.ic_circle_add)
|
||||||
|
|
|
@ -3,6 +3,7 @@ package ani.dantotsu.parsers
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
import ani.dantotsu.currContext
|
import ani.dantotsu.currContext
|
||||||
import ani.dantotsu.download.DownloadsManager
|
import ani.dantotsu.download.DownloadsManager
|
||||||
|
import ani.dantotsu.logger
|
||||||
import ani.dantotsu.media.manga.MangaNameAdapter
|
import ani.dantotsu.media.manga.MangaNameAdapter
|
||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
|
@ -47,6 +48,7 @@ class OfflineMangaParser: MangaParser() {
|
||||||
"Dantotsu/Manga/$chapterLink"
|
"Dantotsu/Manga/$chapterLink"
|
||||||
)
|
)
|
||||||
val images = mutableListOf<MangaImage>()
|
val images = mutableListOf<MangaImage>()
|
||||||
|
val imageNumberRegex = Regex("""(\d+)\.jpg$""")
|
||||||
if (directory.exists()) {
|
if (directory.exists()) {
|
||||||
directory.listFiles()?.forEach {
|
directory.listFiles()?.forEach {
|
||||||
if (it.isFile) {
|
if (it.isFile) {
|
||||||
|
@ -54,6 +56,13 @@ class OfflineMangaParser: MangaParser() {
|
||||||
images.add(image)
|
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 images
|
||||||
}
|
}
|
||||||
return emptyList()
|
return emptyList()
|
||||||
|
|
|
@ -63,19 +63,26 @@ class InstalledAnimeExtensionsFragment : Fragment() {
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
|
|
||||||
// Move the fragment transaction here
|
// Move the fragment transaction here
|
||||||
val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
|
val eActivity = requireActivity() as ExtensionsActivity
|
||||||
val activity = requireActivity() as ExtensionsActivity
|
eActivity.runOnUiThread {
|
||||||
activity.findViewById<ViewPager2>(R.id.viewPager).visibility = View.VISIBLE
|
val fragment =
|
||||||
activity.findViewById<TabLayout>(R.id.tabLayout).visibility = View.VISIBLE
|
AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) {
|
||||||
activity.findViewById<TextInputLayout>(R.id.searchView).visibility = View.VISIBLE
|
|
||||||
activity.findViewById<FrameLayout>(R.id.fragmentExtensionsContainer).visibility =
|
eActivity.findViewById<ViewPager2>(R.id.viewPager).visibility =
|
||||||
View.GONE
|
View.VISIBLE
|
||||||
|
eActivity.findViewById<TabLayout>(R.id.tabLayout).visibility =
|
||||||
|
View.VISIBLE
|
||||||
|
eActivity.findViewById<TextInputLayout>(R.id.searchView).visibility =
|
||||||
|
View.VISIBLE
|
||||||
|
eActivity.findViewById<FrameLayout>(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, _ ->
|
.setNegativeButton("Cancel") { dialog, _ ->
|
||||||
dialog.cancel()
|
dialog.cancel()
|
||||||
|
@ -84,19 +91,26 @@ class InstalledAnimeExtensionsFragment : Fragment() {
|
||||||
.show()
|
.show()
|
||||||
} else {
|
} else {
|
||||||
// If there's only one setting, proceed with the fragment transaction
|
// If there's only one setting, proceed with the fragment transaction
|
||||||
val fragment = AnimeSourcePreferencesFragment().getInstance(selectedSetting.id){
|
val eActivity = requireActivity() as ExtensionsActivity
|
||||||
val activity = requireActivity() as ExtensionsActivity
|
eActivity.runOnUiThread {
|
||||||
activity.findViewById<ViewPager2>(R.id.viewPager).visibility = View.VISIBLE
|
val fragment =
|
||||||
activity.findViewById<TabLayout>(R.id.tabLayout).visibility = View.VISIBLE
|
AnimeSourcePreferencesFragment().getInstance(selectedSetting.id) {
|
||||||
activity.findViewById<TextInputLayout>(R.id.searchView).visibility = View.VISIBLE
|
|
||||||
activity.findViewById<FrameLayout>(R.id.fragmentExtensionsContainer).visibility =
|
eActivity.findViewById<ViewPager2>(R.id.viewPager).visibility =
|
||||||
View.GONE
|
View.VISIBLE
|
||||||
|
eActivity.findViewById<TabLayout>(R.id.tabLayout).visibility =
|
||||||
|
View.VISIBLE
|
||||||
|
eActivity.findViewById<TextInputLayout>(R.id.searchView).visibility =
|
||||||
|
View.VISIBLE
|
||||||
|
eActivity.findViewById<FrameLayout>(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
|
// Hide ViewPager2 and TabLayout
|
||||||
|
@ -149,7 +163,7 @@ class InstalledAnimeExtensionsFragment : Fragment() {
|
||||||
context,
|
context,
|
||||||
Notifications.CHANNEL_DOWNLOADER_PROGRESS
|
Notifications.CHANNEL_DOWNLOADER_PROGRESS
|
||||||
)
|
)
|
||||||
.setSmallIcon(androidx.media3.ui.R.drawable.exo_ic_check)
|
.setSmallIcon(R.drawable.ic_circle_check)
|
||||||
.setContentTitle("Update complete")
|
.setContentTitle("Update complete")
|
||||||
.setContentText("The extension has been successfully updated.")
|
.setContentText("The extension has been successfully updated.")
|
||||||
.setPriority(NotificationCompat.PRIORITY_LOW)
|
.setPriority(NotificationCompat.PRIORITY_LOW)
|
||||||
|
@ -192,13 +206,11 @@ class InstalledAnimeExtensionsFragment : Fragment() {
|
||||||
private class AnimeExtensionsAdapter(
|
private class AnimeExtensionsAdapter(
|
||||||
private val onSettingsClicked: (AnimeExtension.Installed) -> Unit,
|
private val onSettingsClicked: (AnimeExtension.Installed) -> Unit,
|
||||||
private val onUninstallClicked: (AnimeExtension.Installed) -> Unit,
|
private val onUninstallClicked: (AnimeExtension.Installed) -> Unit,
|
||||||
skipIcons: Boolean
|
val skipIcons: Boolean
|
||||||
) : ListAdapter<AnimeExtension.Installed, AnimeExtensionsAdapter.ViewHolder>(
|
) : ListAdapter<AnimeExtension.Installed, AnimeExtensionsAdapter.ViewHolder>(
|
||||||
DIFF_CALLBACK_INSTALLED
|
DIFF_CALLBACK_INSTALLED
|
||||||
) {
|
) {
|
||||||
|
|
||||||
val skipIcons = skipIcons
|
|
||||||
|
|
||||||
fun updateData(newExtensions: List<AnimeExtension.Installed>) {
|
fun updateData(newExtensions: List<AnimeExtension.Installed>) {
|
||||||
submitList(newExtensions) // Use submitList instead of manual list handling
|
submitList(newExtensions) // Use submitList instead of manual list handling
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() {
|
||||||
onCloseAction?.invoke()
|
onCloseAction?.invoke()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun populateAnimePreferenceScreen(): PreferenceScreen {
|
private fun populateAnimePreferenceScreen(): PreferenceScreen {
|
||||||
val sourceId = requireArguments().getLong(SOURCE_ID)
|
val sourceId = requireArguments().getLong(SOURCE_ID)
|
||||||
val source = Injekt.get<AnimeSourceManager>().get(sourceId)!!
|
val source = Injekt.get<AnimeSourceManager>().get(sourceId)!!
|
||||||
check(source is ConfigurableAnimeSource)
|
check(source is ConfigurableAnimeSource)
|
||||||
|
@ -57,11 +57,11 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() {
|
||||||
pref.isIconSpaceReserved = false
|
pref.isIconSpaceReserved = false
|
||||||
if (pref is DialogPreference) {
|
if (pref is DialogPreference) {
|
||||||
pref.dialogTitle = pref.title
|
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}")
|
Log.d("Preferences", "Key: ${entry.key}, Value: ${entry.value}")
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// Apply incognito IME for EditTextPreference
|
// Apply incognito IME for EditTextPreference
|
||||||
if (pref is EditTextPreference) {
|
if (pref is EditTextPreference) {
|
||||||
|
|
377
app/src/main/res/drawable/anim_splash_beta.xml
Normal file
|
@ -0,0 +1,377 @@
|
||||||
|
<animated-vector
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:aapt="http://schemas.android.com/aapt">
|
||||||
|
<aapt:attr name="android:drawable">
|
||||||
|
<vector
|
||||||
|
android:name="vector"
|
||||||
|
android:width="768dp"
|
||||||
|
android:height="768dp"
|
||||||
|
android:viewportWidth="768"
|
||||||
|
android:viewportHeight="768">
|
||||||
|
<group
|
||||||
|
android:name="wrapper"
|
||||||
|
android:pivotX="384"
|
||||||
|
android:pivotY="384">
|
||||||
|
<clip-path
|
||||||
|
android:name="clippath"
|
||||||
|
android:pathData="M 384 128.04 C 329.836 127.869 276.99 144.889 233.11 176.638 C 189.23 208.387 156.539 253.255 139.769 304.75 C 122.999 356.244 122.999 411.756 139.769 463.25 C 156.539 514.745 189.23 559.613 233.11 591.362 C 276.99 623.111 329.836 640.131 384 639.96 C 451.869 639.96 517.028 612.974 565.019 564.991 C 613.01 517.008 640 451.859 640 384 C 640 316.141 613.01 250.992 565.019 203.009 C 517.028 155.026 451.869 128.04 384 128.04 Z"/>
|
||||||
|
<group android:name="group">
|
||||||
|
<group android:name="group_1">
|
||||||
|
<path
|
||||||
|
android:name="path"
|
||||||
|
android:pathData="M 128 128 L 640 128 L 640 639.96 L 128 639.96 Z"
|
||||||
|
android:fillColor="#6901fd"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
<group
|
||||||
|
android:name="group_12"
|
||||||
|
android:pivotX="384"
|
||||||
|
android:pivotY="384">
|
||||||
|
<path
|
||||||
|
android:name="path_2"
|
||||||
|
android:pathData="M 384 211.74 C 338.331 211.74 294.486 229.901 262.194 262.194 C 229.901 294.486 211.74 338.331 211.74 384 C 211.74 429.669 229.901 473.514 262.194 505.806 C 294.486 538.099 338.331 556.26 384 556.26 C 429.669 556.26 473.514 538.099 505.806 505.806 C 538.099 473.514 556.26 429.669 556.26 384 C 556.26 338.331 538.099 294.486 505.806 262.194 C 473.514 229.901 429.669 211.74 384 211.74 Z"
|
||||||
|
android:fillColor="#4800e5"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<group android:name="group_2">
|
||||||
|
<group android:name="group_7">
|
||||||
|
<group android:name="group_10">
|
||||||
|
<group
|
||||||
|
android:name="group_11"
|
||||||
|
android:pivotX="94"
|
||||||
|
android:pivotY="440"
|
||||||
|
android:rotation="-90">
|
||||||
|
<path
|
||||||
|
android:name="path_1"
|
||||||
|
android:pathData="M 128 128 L 128 463.26 C 151.32 466.96 175.23 468.89 199.58 468.89 C 411.17 468.89 588.92 323.99 639.01 128 L 128 128 Z"
|
||||||
|
android:fillColor="#2000bd"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
<clip-path
|
||||||
|
android:name="mask_2"
|
||||||
|
android:pathData="M 128 128 L 128 463.26 C 151.32 466.96 175.23 468.89 199.58 468.89 C 411.17 468.89 588.92 323.99 639.01 128 L 128 128 Z"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<group
|
||||||
|
android:name="group_13"
|
||||||
|
android:pivotX="384"
|
||||||
|
android:pivotY="384">
|
||||||
|
<clip-path
|
||||||
|
android:name="mask_1"
|
||||||
|
android:pathData="M 384 211.74 C 338.331 211.74 294.486 229.901 262.194 262.194 C 229.901 294.486 211.74 338.331 211.74 384 C 211.74 429.669 229.901 473.514 262.194 505.806 C 294.486 538.099 338.331 556.26 384 556.26 C 429.669 556.26 473.514 538.099 505.806 505.806 C 538.099 473.514 556.26 429.669 556.26 384 C 556.26 338.331 538.099 294.486 505.806 262.194 C 473.514 229.901 429.669 211.74 384 211.74 Z"/>
|
||||||
|
<group
|
||||||
|
android:name="group_9"
|
||||||
|
android:pivotX="94"
|
||||||
|
android:pivotY="440"
|
||||||
|
android:rotation="-90">
|
||||||
|
<path
|
||||||
|
android:name="path_3"
|
||||||
|
android:pathData="M 128 128 L 128 463.26 C 151.32 466.96 175.23 468.89 199.58 468.89 C 411.17 468.89 588.92 323.99 639.01 128 L 128 128 Z"
|
||||||
|
android:fillColor="#1e00d1"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<group
|
||||||
|
android:name="group_6"
|
||||||
|
android:pivotX="94"
|
||||||
|
android:pivotY="440"
|
||||||
|
android:scaleX="1.2"
|
||||||
|
android:scaleY="1.2"
|
||||||
|
android:rotation="-5"/>
|
||||||
|
</group>
|
||||||
|
<group
|
||||||
|
android:name="group_8"
|
||||||
|
android:pivotX="94"
|
||||||
|
android:pivotY="440"
|
||||||
|
android:rotation="-90">
|
||||||
|
<group
|
||||||
|
android:name="group_14"
|
||||||
|
android:pivotX="94"
|
||||||
|
android:pivotY="440">
|
||||||
|
<path
|
||||||
|
android:name="path_4"
|
||||||
|
android:pathData="M 539.28 128 C 503.71 317.07 337.72 460.12 138.31 460.12 C 134.86 460.12 131.42 460.06 128 459.98 L 128 465.73 C 168.23 476.19 210.43 481.78 253.93 481.78 C 409.53 481.78 548.48 410.55 640 298.94 L 640 128.01 L 539.28 128.01 Z"
|
||||||
|
android:fillColor="#2900da"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<group
|
||||||
|
android:name="group_3"
|
||||||
|
android:translateX="-360">
|
||||||
|
<path
|
||||||
|
android:name="path_6"
|
||||||
|
android:pathData="M 481.82 384 C 481.82 438.03 438.02 481.82 384 481.82 L 0 481.82 L 0 286.18 L 384 286.18 C 438.02 286.18 481.82 329.98 481.82 384 Z"
|
||||||
|
android:fillColor="#1f1f30"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
</group>
|
||||||
|
<group
|
||||||
|
android:name="group_4"
|
||||||
|
android:pivotX="384"
|
||||||
|
android:pivotY="384"
|
||||||
|
android:scaleX="1.5"
|
||||||
|
android:scaleY="1.5">
|
||||||
|
<path
|
||||||
|
android:name="path_5"
|
||||||
|
android:pathData="M 44.26 128 C 44.26 174.25 81.75 211.74 128 211.74 L 384 211.74 C 479.13 211.74 556.26 288.86 556.26 384 C 556.26 479.13 479.14 556.26 384 556.26 L 128 556.26 C 81.76 556.26 44.28 593.73 44.26 639.97 L 768 639.97 L 768 128 L 44.26 128 Z"
|
||||||
|
android:fillColor="#1f1f30"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
</group>
|
||||||
|
<group
|
||||||
|
android:name="group_5"
|
||||||
|
android:pivotX="384"
|
||||||
|
android:pivotY="384"
|
||||||
|
android:scaleX="3"
|
||||||
|
android:scaleY="3"
|
||||||
|
android:rotation="-15">
|
||||||
|
<path
|
||||||
|
android:name="path_7"
|
||||||
|
android:pathData="M 442 366.7 L 365.98 322.81 C 352.66 315.12 336.02 324.73 336.02 340.11 L 336.02 427.89 C 336.02 443.27 352.67 452.88 365.98 445.19 L 442 401.3 C 455.32 393.61 455.32 374.39 442 366.7 Z"
|
||||||
|
android:fillColor="#efe7ff"
|
||||||
|
android:fillAlpha="0"
|
||||||
|
android:strokeWidth="1"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</vector>
|
||||||
|
</aapt:attr>
|
||||||
|
<target android:name="wrapper">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:duration="500"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:duration="500"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_6">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="rotation"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="-10"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="300"
|
||||||
|
android:valueFrom="1.2"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="300"
|
||||||
|
android:valueFrom="1.2"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_3">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="translateX"
|
||||||
|
android:startOffset="250"
|
||||||
|
android:duration="400"
|
||||||
|
android:valueFrom="-360"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_4">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:startOffset="400"
|
||||||
|
android:duration="350"
|
||||||
|
android:valueFrom="1.5"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:startOffset="400"
|
||||||
|
android:duration="350"
|
||||||
|
android:valueFrom="1.5"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="path_7">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="fillAlpha"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_5">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="rotation"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="-45"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/decelerate_interpolator"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="3"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="3"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_8">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="rotation"
|
||||||
|
android:startOffset="100"
|
||||||
|
android:duration="350"
|
||||||
|
android:valueFrom="-90"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_9">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="rotation"
|
||||||
|
android:startOffset="100"
|
||||||
|
android:duration="350"
|
||||||
|
android:valueFrom="-90"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:duration="350"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:duration="350"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_11">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="rotation"
|
||||||
|
android:startOffset="100"
|
||||||
|
android:duration="350"
|
||||||
|
android:valueFrom="-90"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:interpolator/fast_out_slow_in"/>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_12">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_13">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:duration="550"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/overshoot_interpolator"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
<target android:name="group_14">
|
||||||
|
<aapt:attr name="android:animation">
|
||||||
|
<set>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="rotation"
|
||||||
|
android:startOffset="350"
|
||||||
|
android:duration="200"
|
||||||
|
android:valueFrom="5"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
|
||||||
|
<objectAnimator
|
||||||
|
android:propertyName="rotation"
|
||||||
|
android:startOffset="250"
|
||||||
|
android:duration="100"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="5"
|
||||||
|
android:valueType="floatType"
|
||||||
|
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
|
||||||
|
</set>
|
||||||
|
</aapt:attr>
|
||||||
|
</target>
|
||||||
|
</animated-vector>
|
30
app/src/main/res/drawable/ic_launcher_beta_background.xml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="768"
|
||||||
|
android:viewportHeight="768">
|
||||||
|
<group>
|
||||||
|
<clip-path
|
||||||
|
android:pathData="M125.71,125.71h516.58v516.58h-516.58z"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M123.53,128.02h512v511.96h-512z"
|
||||||
|
android:strokeWidth="0"
|
||||||
|
android:fillColor="#6901fd"/>
|
||||||
|
<path
|
||||||
|
android:pathData="m117.58,129.49v335.26c23.32,3.7 47.23,5.63 71.58,5.63 211.59,0 389.34,-144.9 439.43,-340.89H117.58Z"
|
||||||
|
android:strokeWidth="0"
|
||||||
|
android:fillColor="#2000bd"/>
|
||||||
|
<path
|
||||||
|
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="#4800e5"/>
|
||||||
|
<path
|
||||||
|
android:pathData="m384,211.74c-95.13,0 -172.26,77.12 -172.26,172.26 0,24.51 5.13,47.83 14.37,68.93 89.21,-7.3 172.93,-33.96 246.97,-75.77 24.85,-18.81 47.7,-40.12 68.18,-63.56 -26.92,-60.04 -87.2,-101.86 -157.25,-101.86Z"
|
||||||
|
android:strokeWidth="0"
|
||||||
|
android:fillColor="#1e00d1"/>
|
||||||
|
<path
|
||||||
|
android:pathData="m539.28,128c-35.57,189.07 -201.56,332.12 -400.97,332.12 -3.45,0 -6.89,-0.06 -10.31,-0.14v5.75c40.23,10.46 82.43,16.05 125.93,16.05 155.6,0 294.55,-71.23 386.07,-182.84v-170.93h-100.72Z"
|
||||||
|
android:strokeWidth="0"
|
||||||
|
android:fillColor="#2900da"/>
|
||||||
|
</group>
|
||||||
|
</vector>
|
22
app/src/main/res/drawable/ic_launcher_beta_foreground.xml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="768"
|
||||||
|
android:viewportHeight="768">
|
||||||
|
<group>
|
||||||
|
<clip-path
|
||||||
|
android:pathData="M125.71,125.71h516.58v516.58h-516.58z"/>
|
||||||
|
<path
|
||||||
|
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"/>
|
||||||
|
<path
|
||||||
|
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"/>
|
||||||
|
<path
|
||||||
|
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"/>
|
||||||
|
</group>
|
||||||
|
</vector>
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/bg_black">
|
android:background="?android:colorBackground">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/splashImage"
|
android:id="@+id/splashImage"
|
||||||
|
|
6
app/src/main/res/mipmap-anydpi-v26/ic_launcher_beta.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_beta_background"/>
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_beta_foreground"/>
|
||||||
|
<monochrome android:drawable="@drawable/mono"/>
|
||||||
|
</adaptive-icon>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_beta_background"/>
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_beta_foreground"/>
|
||||||
|
</adaptive-icon>
|
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_beta.webp
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_beta_round.webp
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_beta.webp
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_beta_round.webp
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_beta.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_beta_round.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.webp
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_beta_round.webp
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta.webp
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta_round.webp
Normal file
After Width: | Height: | Size: 7.8 KiB |
|
@ -1,4 +1,4 @@
|
||||||
<resources>
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<style name="Theme.Dantotsu" parent="Theme.Base">
|
<style name="Theme.Dantotsu" parent="Theme.Base">
|
||||||
<item name="android:statusBarColor">@color/status</item>
|
<item name="android:statusBarColor">@color/status</item>
|
||||||
<item name="colorOnPrimary">@color/bg_black</item>
|
<item name="colorOnPrimary">@color/bg_black</item>
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
<item name="android:windowSplashScreenAnimationDuration" tools:targetApi="s">1000</item>
|
<item name="android:windowSplashScreenAnimationDuration" tools:targetApi="s">1000</item>
|
||||||
<item name="android:windowSplashScreenAnimatedIcon" tools:targetApi="s">@drawable/anim_splash</item>
|
<item name="android:windowSplashScreenAnimatedIcon" tools:targetApi="s">@drawable/anim_splash</item>
|
||||||
<item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="o_mr1">shortEdges</item>
|
<item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="o_mr1">shortEdges</item>
|
||||||
<item name="android:windowSplashScreenBackground" tools:targetApi="s">@color/bg_black</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.Dantotsu" parent="Theme.Base">
|
<style name="Theme.Dantotsu" parent="Theme.Base">
|
||||||
|
|