diff --git a/app/build.gradle b/app/build.gradle
index eb2973e..5fa3dc8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -27,7 +27,8 @@ android {
buildTypes {
release {
- minifyEnabled false
+ minifyEnabled true
+ shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField "Integer", "DB_VERSION", "1"
buildConfigField "Boolean", "TEST", "false"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fe36868..306b486 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,12 +8,6 @@
-
-
>()
- private var fileName = "attestation.db"
+ private val _attestations = MutableLiveData>()
+ private val fileName = "attestation.db"
private val type = object : TypeToken>() {}.type
@Suppress("UNCHECKED_CAST")
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/dao/ConfigDao.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/dao/ConfigDao.kt
new file mode 100644
index 0000000..eef99b9
--- /dev/null
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/dao/ConfigDao.kt
@@ -0,0 +1,45 @@
+package fr.sanchezm.attestationsCovid19.data.db.dao
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import com.google.gson.Gson
+import fr.sanchezm.attestationsCovid19.BuildConfig
+import fr.sanchezm.attestationsCovid19.data.db.entity.Config
+import java.io.File
+
+class ConfigDao(private val savePath: String) {
+
+ private val _config = MutableLiveData()
+ private val fileName = "config.db"
+
+ fun getConfig(): LiveData =
+ _config
+
+ fun updateConfig(config: Config) {
+ _config.value = config
+ save()
+ }
+
+ init {
+ load()
+ }
+
+ private fun load() {
+ val file = File("$savePath/$fileName")
+
+ if (file.exists()) {
+ _config.value = Gson().fromJson(file.readText(Charsets.UTF_8), Config::class.java)
+ _config.value?.versionCode = BuildConfig.VERSION_CODE
+ _config.value?.versionName = BuildConfig.VERSION_NAME
+ } else {
+ _config.value =
+ Config(BuildConfig.DB_VERSION, BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE)
+ save()
+ }
+ }
+
+ private fun save() {
+ File("$savePath/$fileName").writeText(Gson().toJson(_config.value))
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/dao/ProfileDao.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/dao/ProfileDao.kt
index d285a5d..c152df5 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/dao/ProfileDao.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/dao/ProfileDao.kt
@@ -8,8 +8,8 @@ import java.io.File
class ProfileDao(private val path: String) {
- private var _profile = MutableLiveData()
- private var fileName = "profile.db"
+ private val _profile = MutableLiveData()
+ private val fileName = "profile.db"
fun getProfile(): LiveData =
_profile
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/entity/Config.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/entity/Config.kt
new file mode 100644
index 0000000..3f479d2
--- /dev/null
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/entity/Config.kt
@@ -0,0 +1,7 @@
+package fr.sanchezm.attestationsCovid19.data.db.entity
+
+data class Config(
+ val dbVersion: Int,
+ var versionName: String,
+ var versionCode: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/data/repository/ConfigRepository.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/repository/ConfigRepository.kt
new file mode 100644
index 0000000..0c0ccfd
--- /dev/null
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/repository/ConfigRepository.kt
@@ -0,0 +1,21 @@
+package fr.sanchezm.attestationsCovid19.data.repository
+
+import fr.sanchezm.attestationsCovid19.data.db.dao.ConfigDao
+import fr.sanchezm.attestationsCovid19.data.db.entity.Config
+
+class ConfigRepository private constructor(private val configDao: ConfigDao) {
+
+ fun getConfig() = configDao.getConfig()
+
+ fun updateConfig(config: Config) = configDao.updateConfig(config)
+
+ companion object {
+ @Volatile
+ private var instance: ConfigRepository? = null
+
+ fun getInstance(configDao: ConfigDao) =
+ instance ?: synchronized(this) {
+ instance ?: ConfigRepository(configDao).also { instance = it }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt
index b8249d8..2ad4498 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt
@@ -10,6 +10,7 @@ import fr.sanchezm.attestationsCovid19.R
import fr.sanchezm.attestationsCovid19.data.db.entity.Attestation
import fr.sanchezm.attestationsCovid19.data.db.entity.Profile
import fr.sanchezm.attestationsCovid19.data.repository.AttestationRepository
+import fr.sanchezm.attestationsCovid19.data.repository.ConfigRepository
import fr.sanchezm.attestationsCovid19.data.repository.ProfileRepository
import fr.sanchezm.attestationsCovid19.utilities.Event
import java.text.SimpleDateFormat
@@ -18,6 +19,7 @@ import java.time.format.DateTimeFormatter
import java.util.*
class AddViewModel(
+ private val configRepository: ConfigRepository,
private val profileRepository: ProfileRepository,
private val attestationRepository: AttestationRepository
) : ViewModel() {
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModelFactory.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModelFactory.kt
index 5570fb7..34545e8 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModelFactory.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModelFactory.kt
@@ -3,9 +3,11 @@ package fr.sanchezm.attestationsCovid19.ui.add
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import fr.sanchezm.attestationsCovid19.data.repository.AttestationRepository
+import fr.sanchezm.attestationsCovid19.data.repository.ConfigRepository
import fr.sanchezm.attestationsCovid19.data.repository.ProfileRepository
class AddViewModelFactory(
+ private val configRepository: ConfigRepository,
private val profileRepository: ProfileRepository,
private val attestationRepository: AttestationRepository
) :
@@ -13,6 +15,6 @@ class AddViewModelFactory(
@Suppress("UNCHECKED_CAST")
override fun create(modelClass: Class): T {
- return AddViewModel(profileRepository, attestationRepository) as T
+ return AddViewModel(configRepository, profileRepository, attestationRepository) as T
}
}
\ No newline at end of file
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModel.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModel.kt
index 4a23ca4..1a240e1 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModel.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModel.kt
@@ -5,9 +5,14 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import fr.sanchezm.attestationsCovid19.data.repository.AttestationRepository
+import fr.sanchezm.attestationsCovid19.data.repository.ConfigRepository
import fr.sanchezm.attestationsCovid19.utilities.Event
-class AttestationsViewModel(attestationRepository: AttestationRepository) : ViewModel() {
+class AttestationsViewModel(
+ private val configRepository: ConfigRepository,
+ attestationRepository: AttestationRepository
+) :
+ ViewModel() {
private val _startActivity = MutableLiveData>()
private var _displayNoAttestation = MutableLiveData()
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModelFactory.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModelFactory.kt
index 913cb1b..ed05e45 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModelFactory.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/attestations/AttestationsViewModelFactory.kt
@@ -3,13 +3,16 @@ package fr.sanchezm.attestationsCovid19.ui.attestations
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import fr.sanchezm.attestationsCovid19.data.repository.AttestationRepository
-import fr.sanchezm.attestationsCovid19.data.repository.ProfileRepository
+import fr.sanchezm.attestationsCovid19.data.repository.ConfigRepository
-class AttestationsViewModelFactory(private val attestationRepository: AttestationRepository) :
+class AttestationsViewModelFactory(
+ private val configRepository: ConfigRepository,
+ private val attestationRepository: AttestationRepository
+) :
ViewModelProvider.NewInstanceFactory() {
@Suppress("UNCHECKED_CAST")
override fun create(modelClass: Class): T {
- return AttestationsViewModel(attestationRepository) as T
+ return AttestationsViewModel(configRepository, attestationRepository) as T
}
}
\ No newline at end of file
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModel.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModel.kt
index 7a3e6b9..600c58d 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModel.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModel.kt
@@ -7,10 +7,15 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import fr.sanchezm.attestationsCovid19.data.db.entity.Attestation
import fr.sanchezm.attestationsCovid19.data.repository.AttestationRepository
+import fr.sanchezm.attestationsCovid19.data.repository.ConfigRepository
import fr.sanchezm.attestationsCovid19.utilities.Event
import fr.sanchezm.attestationsCovid19.utilities.QRCodeUtils
-class QrCodeViewModel(private val attestationRepository: AttestationRepository) : ViewModel() {
+class QrCodeViewModel(
+ private val configRepository: ConfigRepository,
+ private val attestationRepository: AttestationRepository
+) :
+ ViewModel() {
private val _attestation = MutableLiveData()
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModelFactory.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModelFactory.kt
index 18f4395..98bc5bd 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModelFactory.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/qrcode/QrCodeViewModelFactory.kt
@@ -3,12 +3,16 @@ package fr.sanchezm.attestationsCovid19.ui.qrcode
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import fr.sanchezm.attestationsCovid19.data.repository.AttestationRepository
+import fr.sanchezm.attestationsCovid19.data.repository.ConfigRepository
-class QrCodeViewModelFactory(private val attestationRepository: AttestationRepository) :
+class QrCodeViewModelFactory(
+ private val configRepository: ConfigRepository,
+ private val attestationRepository: AttestationRepository
+) :
ViewModelProvider.NewInstanceFactory() {
@Suppress("UNCHECKED_CAST")
override fun create(modelClass: Class): T {
- return QrCodeViewModel(attestationRepository) as T
+ return QrCodeViewModel(configRepository, attestationRepository) as T
}
}
\ No newline at end of file
diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/InjectorUtils.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/InjectorUtils.kt
index 0da4f76..9e0f85d 100644
--- a/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/InjectorUtils.kt
+++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/InjectorUtils.kt
@@ -4,6 +4,7 @@ import android.content.Context
import android.os.Environment
import fr.sanchezm.attestationsCovid19.data.db.MyDatabase
import fr.sanchezm.attestationsCovid19.data.repository.AttestationRepository
+import fr.sanchezm.attestationsCovid19.data.repository.ConfigRepository
import fr.sanchezm.attestationsCovid19.data.repository.ProfileRepository
import fr.sanchezm.attestationsCovid19.ui.add.AddViewModelFactory
import fr.sanchezm.attestationsCovid19.ui.attestations.AttestationsViewModelFactory
@@ -11,41 +12,42 @@ import fr.sanchezm.attestationsCovid19.ui.qrcode.QrCodeViewModelFactory
object InjectorUtils {
- fun provideAddViewModelFactory(context: Context): AddViewModelFactory {
- val profileRepository =
- ProfileRepository.getInstance(
- MyDatabase.invoke(context, getMyFilesDir(context)).profileDao()
- )
- val attestationRepository =
- AttestationRepository.getInstance(
- MyDatabase.invoke(context, getMyFilesDir(context)).attestationDao()
- )
+ fun provideAddViewModelFactory(context: Context): AddViewModelFactory =
+ AddViewModelFactory(
+ getConfigRepo(context),
+ getProfileRepo(context),
+ getAttestationRepo(context)
+ )
- return AddViewModelFactory(profileRepository, attestationRepository)
- }
+ fun provideAttestationViewModel(context: Context): AttestationsViewModelFactory =
+ AttestationsViewModelFactory(
+ getConfigRepo(context),
+ getAttestationRepo(context)
+ )
- fun provideAttestationViewModel(context: Context): AttestationsViewModelFactory {
- val attestationRepository =
- AttestationRepository.getInstance(
- MyDatabase.invoke(context, getMyFilesDir(context)).attestationDao()
- )
+ fun provideQrCodeViewModel(context: Context): QrCodeViewModelFactory =
+ QrCodeViewModelFactory(
+ getConfigRepo(context),
+ getAttestationRepo(context)
+ )
- return AttestationsViewModelFactory(attestationRepository)
- }
+ fun providePdfUtils(context: Context): PdfUtils =
+ PdfUtils.getInstance(context.assets, getMyFilesDir(context))
- fun provideQrCodeViewModel(context: Context): QrCodeViewModelFactory {
- val attestationRepository =
- AttestationRepository.getInstance(
- MyDatabase.invoke(context, getMyFilesDir(context)).attestationDao()
- )
+ private fun getMyFilesDir(context: Context): String =
+ context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)?.path!!
- return QrCodeViewModelFactory(attestationRepository)
- }
+ private fun getAttestationRepo(context: Context): AttestationRepository =
+ AttestationRepository.getInstance(
+ MyDatabase.invoke(context, getMyFilesDir(context)).attestationDao()
+ )
- fun providePdfUtils(context: Context): PdfUtils {
- return PdfUtils.getInstance(context.assets, getMyFilesDir(context))
- }
+ private fun getProfileRepo(context: Context): ProfileRepository = ProfileRepository.getInstance(
+ MyDatabase.invoke(context, getMyFilesDir(context)).profileDao()
+ )
- private fun getMyFilesDir(context: Context): String = context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)?.path!!
+ private fun getConfigRepo(context: Context): ConfigRepository = ConfigRepository.getInstance(
+ MyDatabase.invoke(context, getMyFilesDir(context)).configDao()
+ )
}
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index 9418759..0000000
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..4c50f55
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..7f3080f
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
deleted file mode 100644
index d1db237..0000000
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..2b91601
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 9a77947..0000000
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..ea4fb45
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..ce4eb66
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
deleted file mode 100644
index 4896373..0000000
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1d9f116
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 95690c6..0000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..5e9d49b
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
deleted file mode 100644
index c9716cc..0000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..337a7f7
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
deleted file mode 100644
index 5834841..0000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..7f4b833
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 75bcc32..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..5e27941
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..98bd237
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
deleted file mode 100644
index 2c20f06..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..957a1cb
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 8221df5..0000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..ffeb1bd
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
deleted file mode 100644
index fd1684c..0000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..39c1e8f
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
deleted file mode 100644
index fb44143..0000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..21fcf61
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ