diff --git a/android/festago/app/build.gradle.kts b/android/festago/app/build.gradle.kts
index a68dc9e53..56f5b7d3a 100644
--- a/android/festago/app/build.gradle.kts
+++ b/android/festago/app/build.gradle.kts
@@ -27,9 +27,14 @@ android {
}
buildTypes {
+ debug {
+ buildConfigField("Boolean", "DEBUG_MODE", "true")
+ }
+
release {
isMinifyEnabled = true
isShrinkResources = true
+ buildConfigField("Boolean", "DEBUG_MODE", "false")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
diff --git a/android/festago/app/src/main/AndroidManifest.xml b/android/festago/app/src/main/AndroidManifest.xml
index dedf3da4e..bbe9127fe 100644
--- a/android/festago/app/src/main/AndroidManifest.xml
+++ b/android/festago/app/src/main/AndroidManifest.xml
@@ -12,11 +12,11 @@
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
+ android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true"
- android:theme="@style/Theme.Festago"
+ android:theme="@style/Base.Theme.Festago"
android:usesCleartextTraffic="true"
- tools:targetApi="31">
+ tools:targetApi="34">
diff --git a/android/festago/app/src/main/ic_festago_logo-playstore.png b/android/festago/app/src/main/ic_festago_logo-playstore.png
deleted file mode 100644
index bc1cf755b..000000000
Binary files a/android/festago/app/src/main/ic_festago_logo-playstore.png and /dev/null differ
diff --git a/android/festago/app/src/main/ic_festago_logo_playstore.png b/android/festago/app/src/main/ic_festago_logo_playstore.png
new file mode 100644
index 000000000..ae1c8bc13
Binary files /dev/null and b/android/festago/app/src/main/ic_festago_logo_playstore.png differ
diff --git a/android/festago/common/build.gradle.kts b/android/festago/common/build.gradle.kts
index 4bc5c90e2..796d1ff0d 100644
--- a/android/festago/common/build.gradle.kts
+++ b/android/festago/common/build.gradle.kts
@@ -14,8 +14,12 @@ android {
}
buildTypes {
+ debug {
+ buildConfigField("Boolean", "DEBUG_MODE", "true")
+ }
release {
isMinifyEnabled = false
+ buildConfigField("Boolean", "DEBUG_MODE", "false")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
@@ -42,5 +46,6 @@ dependencies {
implementation(platform("com.google.firebase:firebase-bom:32.2.0"))
implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-crashlytics-ktx")
- implementation("com.google.firebase:firebase-messaging-ktx:23.2.1")
+ implementation("com.google.firebase:firebase-messaging-ktx:23.4.1")
+ implementation("com.google.firebase:firebase-config:21.6.3")
}
diff --git a/android/festago/data-legacy/build.gradle.kts b/android/festago/data-legacy/build.gradle.kts
index b4d7d6f5c..a40a9a331 100644
--- a/android/festago/data-legacy/build.gradle.kts
+++ b/android/festago/data-legacy/build.gradle.kts
@@ -19,8 +19,13 @@ android {
}
buildTypes {
+ debug {
+ buildConfigField("Boolean", "DEBUG_MODE", "true")
+ }
+
release {
isMinifyEnabled = false
+ buildConfigField("Boolean", "DEBUG_MODE", "false")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
diff --git a/android/festago/data/build.gradle.kts b/android/festago/data/build.gradle.kts
index 912a80fbb..c6507388b 100644
--- a/android/festago/data/build.gradle.kts
+++ b/android/festago/data/build.gradle.kts
@@ -19,8 +19,13 @@ android {
}
buildTypes {
+ debug {
+ buildConfigField("Boolean", "DEBUG_MODE", "true")
+ }
+
release {
isMinifyEnabled = false
+ buildConfigField("Boolean", "DEBUG_MODE", "false")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
diff --git a/android/festago/presentation-legacy/build.gradle.kts b/android/festago/presentation-legacy/build.gradle.kts
index 84ae7793b..6706372db 100644
--- a/android/festago/presentation-legacy/build.gradle.kts
+++ b/android/festago/presentation-legacy/build.gradle.kts
@@ -23,8 +23,12 @@ android {
}
buildTypes {
+ debug {
+ buildConfigField("Boolean", "DEBUG_MODE", "true")
+ }
release {
isMinifyEnabled = false
+ buildConfigField("Boolean", "DEBUG_MODE", "false")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
diff --git a/android/festago/presentation/build.gradle.kts b/android/festago/presentation/build.gradle.kts
index d9728396f..05e1d77f8 100644
--- a/android/festago/presentation/build.gradle.kts
+++ b/android/festago/presentation/build.gradle.kts
@@ -24,8 +24,13 @@ android {
}
buildTypes {
+ debug {
+ buildConfigField("Boolean", "DEBUG_MODE", "true")
+ }
+
release {
isMinifyEnabled = false
+ buildConfigField("Boolean", "DEBUG_MODE", "false")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
@@ -58,6 +63,7 @@ dependencies {
// Feature module Support
implementation("androidx.navigation:navigation-dynamic-features-fragment:2.7.7")
implementation("androidx.navigation:navigation-ui-ktx:2.7.7")
+ implementation("com.google.firebase:firebase-config-ktx:21.6.3")
// Testing Navigation
androidTestImplementation("androidx.navigation:navigation-testing:2.7.7")
diff --git a/android/festago/presentation/src/main/AndroidManifest.xml b/android/festago/presentation/src/main/AndroidManifest.xml
index 4fa2771c1..fb67ef37a 100644
--- a/android/festago/presentation/src/main/AndroidManifest.xml
+++ b/android/festago/presentation/src/main/AndroidManifest.xml
@@ -3,18 +3,24 @@
-
+ android:screenOrientation="portrait"
+ android:theme="@style/Base.Theme.Festago">
+
+
+
diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/splash/SplashActivity.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/splash/SplashActivity.kt
new file mode 100644
index 000000000..5bde693d3
--- /dev/null
+++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/splash/SplashActivity.kt
@@ -0,0 +1,167 @@
+package com.festago.festago.presentation.ui.splash
+
+import android.annotation.SuppressLint
+import android.app.AlertDialog
+import android.content.Intent
+import android.content.SharedPreferences
+import android.net.Uri
+import android.os.Bundle
+import android.widget.Toast
+import androidx.activity.ComponentActivity
+import androidx.core.splashscreen.SplashScreen
+import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
+import com.festago.festago.presentation.BuildConfig
+import com.festago.festago.presentation.R
+import com.festago.festago.presentation.databinding.ActivitySplashBinding
+import com.festago.festago.presentation.ui.home.HomeActivity
+import com.google.firebase.remoteconfig.FirebaseRemoteConfig
+import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings
+import com.kakao.sdk.common.KakaoSdk
+import dagger.hilt.android.AndroidEntryPoint
+
+@SuppressLint("CustomSplashScreen")
+@AndroidEntryPoint
+class SplashActivity : ComponentActivity() {
+
+ private val binding by lazy { ActivitySplashBinding.inflate(layoutInflater) }
+ private val firebaseRemoteConfig by lazy { FirebaseRemoteConfig.getInstance() }
+ private lateinit var splashScreen: SplashScreen
+ private val configSettings by lazy {
+ FirebaseRemoteConfigSettings.Builder()
+ .setMinimumFetchIntervalInSeconds(if (BuildConfig.DEBUG) DEBUG_REMOTE_CONFIG_FETCH_INTERVAL else RELEASE_REMOTE_CONFIG_FETCH_INTERVAL)
+ .build()
+ }
+
+ init {
+ firebaseRemoteConfig.setConfigSettingsAsync(configSettings)
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ splashScreen = installSplashScreen()
+ splashScreen.setKeepOnScreenCondition { true }
+ initKakaoSdk()
+ setContentView(binding.root)
+ }
+
+ override fun onResume() {
+ super.onResume()
+ checkAppUpdate()
+ }
+
+ private fun initKakaoSdk() {
+ KakaoSdk.init(this.applicationContext, BuildConfig.KAKAO_NATIVE_APP_KEY)
+ }
+
+ private fun checkAppUpdate() {
+ firebaseRemoteConfig.fetchAndActivate().addOnCompleteListener(this) {
+ if (it.isSuccessful) {
+ val currentVersion = try {
+ packageManager.getPackageInfo(packageName, 0).longVersionCode
+ } catch (e: Exception) {
+ e.printStackTrace()
+ handleError()
+ return@addOnCompleteListener
+ }
+ val latestVersion = firebaseRemoteConfig.getLong(KEY_LATEST_VERSION)
+ if (latestVersion == currentVersion) {
+ navigateToHome()
+ return@addOnCompleteListener
+ }
+ splashScreen.setKeepOnScreenCondition { false }
+ requestUpdate(latestVersion)
+ }
+ }
+ }
+
+ private fun requestUpdate(latestVersion: Long) {
+ val isForceUpdateVersion = firebaseRemoteConfig.getBoolean(KEY_FORCE_UPDATE_REQUIRED)
+ val latestVersionDescription =
+ firebaseRemoteConfig.getString(KEY_LATEST_VERSION_DESCRIPTION)
+ if (isForceUpdateVersion) {
+ requestForceUpdate(message = latestVersionDescription)
+ return
+ }
+ requestOptionalUpdate(latestVersion = latestVersion, message = latestVersionDescription)
+ }
+
+ private fun requestForceUpdate(message: String) {
+ alertUpdate(message = message, update = ::handleUpdate, cancel = ::handleCancelForceUpdate)
+ }
+
+ private fun requestOptionalUpdate(latestVersion: Long, message: String) {
+ val sharedPref = getPreferences(MODE_PRIVATE) ?: return
+ val storedLatestVersion = sharedPref.getLong(KEY_STORED_LATEST_VERSION, 0L)
+ if (latestVersion == storedLatestVersion) {
+ navigateToHome()
+ return
+ }
+ alertUpdate(message = message, update = ::handleUpdate) {
+ handleOptionalUpdateCancel(sharedPref, latestVersion)
+ }
+ }
+
+ private fun handleOptionalUpdateCancel(sharedPref: SharedPreferences, latestVersion: Long) {
+ updateStoredLatestVersion(sharedPref, latestVersion)
+ navigateToHome()
+ }
+
+ private fun updateStoredLatestVersion(sharedPref: SharedPreferences, latestVersion: Long) {
+ with(sharedPref.edit()) {
+ putLong(KEY_STORED_LATEST_VERSION, latestVersion)
+ apply()
+ }
+ }
+
+ private fun handleUpdate() {
+ navigateToAppStore()
+ finish()
+ }
+
+ private fun navigateToHome() {
+ startActivity(HomeActivity.getIntent(this))
+ finish()
+ }
+
+ private fun navigateToAppStore() {
+ startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$packageName")))
+ finish()
+ }
+
+ private fun handleError() {
+ Toast.makeText(
+ this@SplashActivity,
+ getString(R.string.splash_app_default_error_message),
+ Toast.LENGTH_SHORT,
+ ).show()
+ finish()
+ }
+
+ private fun alertUpdate(message: String, update: () -> Unit, cancel: () -> Unit) {
+ AlertDialog.Builder(this).apply {
+ setTitle(getString(R.string.splash_app_update_request_dialog_title))
+ setMessage(message)
+ setPositiveButton(R.string.ok_dialog_btn_update) { _, _ -> update() }
+ setNegativeButton(R.string.ok_dialog_btn_cancel) { _, _ -> cancel() }
+ setCancelable(false)
+ }.show()
+ }
+
+ private fun handleCancelForceUpdate() {
+ Toast.makeText(
+ this@SplashActivity,
+ getString(R.string.splash_app_update_denied),
+ Toast.LENGTH_SHORT,
+ ).show()
+ finish()
+ }
+
+ companion object {
+ private const val KEY_STORED_LATEST_VERSION = "KEY_STORED_LATEST_VERSION"
+ private const val DEBUG_REMOTE_CONFIG_FETCH_INTERVAL = 0L
+ private const val RELEASE_REMOTE_CONFIG_FETCH_INTERVAL = 3600L
+ private const val KEY_FORCE_UPDATE_REQUIRED = "FORCE_UPDATE_REQUIRED"
+ private const val KEY_LATEST_VERSION = "LATEST_VERSION"
+ private const val KEY_LATEST_VERSION_DESCRIPTION = "LATEST_VERSION_DESCRIPTION"
+ }
+}
diff --git a/android/festago/presentation/src/main/res/drawable-v24/ic_launcher_foreground.xml b/android/festago/presentation/src/main/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index 7706ab9e6..000000000
--- a/android/festago/presentation/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/festago/presentation/src/main/res/drawable/ic_festago_text_logo.xml b/android/festago/presentation/src/main/res/drawable/ic_festago_text_logo.xml
new file mode 100644
index 000000000..b7dc1feb2
--- /dev/null
+++ b/android/festago/presentation/src/main/res/drawable/ic_festago_text_logo.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/festago/presentation/src/main/res/drawable/ic_launcher_background.xml b/android/festago/presentation/src/main/res/drawable/ic_launcher_background.xml
index 07d5da9cb..90aba7634 100644
--- a/android/festago/presentation/src/main/res/drawable/ic_launcher_background.xml
+++ b/android/festago/presentation/src/main/res/drawable/ic_launcher_background.xml
@@ -1,170 +1,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:width="100dp"
+ android:height="100dp"
+ android:viewportWidth="100"
+ android:viewportHeight="100">
+
diff --git a/android/festago/presentation/src/main/res/layout/activity_splash.xml b/android/festago/presentation/src/main/res/layout/activity_splash.xml
new file mode 100644
index 000000000..ce74f886d
--- /dev/null
+++ b/android/festago/presentation/src/main/res/layout/activity_splash.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/android/festago/presentation/src/main/res/layout/fragment_artist_detail.xml b/android/festago/presentation/src/main/res/layout/fragment_artist_detail.xml
index 1d756777b..2ea8b3347 100644
--- a/android/festago/presentation/src/main/res/layout/fragment_artist_detail.xml
+++ b/android/festago/presentation/src/main/res/layout/fragment_artist_detail.xml
@@ -75,7 +75,7 @@
android:adjustViewBounds="true"
android:contentDescription="@null"
android:scaleType="centerCrop"
- android:src="@drawable/ic_launcher_foreground" />
+ tools:src="@color/background_gray_03"/>
+ tools:src="@color/background_gray_02" />
+ tools:src="@color/background_gray_03" />
@@ -43,6 +43,7 @@
android:layout_height="wrap_content"
android:layout_marginVertical="8dp"
android:layout_marginEnd="16dp"
+ android:importantForAccessibility="no"
android:src="@drawable/ic_search"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/ivAlarm"
@@ -54,6 +55,7 @@
android:layout_height="wrap_content"
android:layout_marginVertical="8dp"
android:layout_marginEnd="16dp"
+ android:importantForAccessibility="no"
android:src="@drawable/ic_bell"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/android/festago/presentation/src/main/res/layout/fragment_school_detail.xml b/android/festago/presentation/src/main/res/layout/fragment_school_detail.xml
index 32c889aaf..1a03742ea 100644
--- a/android/festago/presentation/src/main/res/layout/fragment_school_detail.xml
+++ b/android/festago/presentation/src/main/res/layout/fragment_school_detail.xml
@@ -46,15 +46,17 @@
imageUrl="@{successUiState.schoolInfo.backgroundUrl}"
android:layout_width="match_parent"
android:layout_height="136dp"
+ android:importantForAccessibility="no"
android:scaleType="centerCrop"
app:layout_constraintTop_toTopOf="parent"
- tools:src="@drawable/ic_launcher_background" />
+ tools:src="@color/background_gray_02" />
+ tools:src="@color/background_gray_03" />
+ tools:src="@color/background_gray_03" />
+ tools:src="@color/background_gray_02" />
+ tools:src="@color/background_gray_03" />
diff --git a/android/festago/presentation/src/main/res/layout/item_festival_list_artist.xml b/android/festago/presentation/src/main/res/layout/item_festival_list_artist.xml
index 1c302631b..01685ef18 100644
--- a/android/festago/presentation/src/main/res/layout/item_festival_list_artist.xml
+++ b/android/festago/presentation/src/main/res/layout/item_festival_list_artist.xml
@@ -34,7 +34,7 @@
android:layout_height="match_parent"
android:contentDescription="@string/festival_list_iv_image"
android:scaleType="centerCrop"
- tools:src="@drawable/ic_launcher_background" />
+ tools:src="@color/background_gray_03" />
+ tools:src="@color/background_gray_03" />
+ tools:src="@color/background_gray_03" />
diff --git a/android/festago/presentation/src/main/res/layout/item_popular_festival_foreground.xml b/android/festago/presentation/src/main/res/layout/item_popular_festival_foreground.xml
index f68d11c25..d9ca87d91 100644
--- a/android/festago/presentation/src/main/res/layout/item_popular_festival_foreground.xml
+++ b/android/festago/presentation/src/main/res/layout/item_popular_festival_foreground.xml
@@ -32,7 +32,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:src="@drawable/ic_launcher_background" />
+ tools:src="@color/background_gray_03" />
diff --git a/android/festago/presentation/src/main/res/layout/item_school_detail_artist.xml b/android/festago/presentation/src/main/res/layout/item_school_detail_artist.xml
index 1c30c1a3c..bb45f8e6a 100644
--- a/android/festago/presentation/src/main/res/layout/item_school_detail_artist.xml
+++ b/android/festago/presentation/src/main/res/layout/item_school_detail_artist.xml
@@ -35,7 +35,7 @@
android:layout_height="match_parent"
android:contentDescription="@string/festival_list_iv_image"
android:scaleType="centerCrop"
- tools:src="@drawable/ic_launcher_background" />
+ tools:src="@color/background_gray_03" />
+ tools:src="@color/background_gray_03" />
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/android/festago/presentation/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/festago/presentation/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index b3e26b4c6..000000000
--- a/android/festago/presentation/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher.png b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..90e99352d
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher.webp b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index c209e78ec..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_background.png b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_background.png
new file mode 100644
index 000000000..b0f574f56
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_background.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..6f43f3e00
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index b2dfe3d1b..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-hdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-mdpi/ic_launcher.webp b/android/festago/presentation/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 4f0f1d64e..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-mdpi/ic_launcher.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/android/festago/presentation/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 62b611da0..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-mdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..397f691c6
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher.webp b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher.webp
deleted file mode 100644
index 948a3070f..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_background.png
new file mode 100644
index 000000000..e6c7bf953
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_background.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..b4a04182a
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
deleted file mode 100644
index 1b9a6956b..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..e230591d7
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 28d4b77f9..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
new file mode 100644
index 000000000..355d5641c
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_background.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..d566adc16
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9287f5083..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..60a750b3b
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index aa7d6427e..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
new file mode 100644
index 000000000..04ce89f14
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..277507a2a
Binary files /dev/null and b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9126ae37c..000000000
Binary files a/android/festago/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/android/festago/presentation/src/main/res/values-night/themes.xml b/android/festago/presentation/src/main/res/values-night/themes.xml
index 4001546b6..c913337bf 100644
--- a/android/festago/presentation/src/main/res/values-night/themes.xml
+++ b/android/festago/presentation/src/main/res/values-night/themes.xml
@@ -7,4 +7,11 @@
- true
- @color/background_gray_01
+
+
diff --git a/android/festago/presentation/src/main/res/values/strings.xml b/android/festago/presentation/src/main/res/values/strings.xml
index fd3b7a6e8..2d6b07373 100644
--- a/android/festago/presentation/src/main/res/values/strings.xml
+++ b/android/festago/presentation/src/main/res/values/strings.xml
@@ -53,4 +53,16 @@
앗! 검색 결과가 없네요
찾으시는 정보가 없다면 저희에게 알려주세요
추가 요청하러 가기
+
+
+ 업데이트 알림
+ 새로운 페스타고를 사용하기 위해 업데이트 해주세요!
+ 업데이트 후 정상 사용가능합니다.
+ 페스타고 실행 중 문제가 발생했습니다. 페스타고로 문의해주세요.
+
+
+ 확인
+ 업데이트
+ 취소
+
diff --git a/android/festago/presentation/src/main/res/values/themes.xml b/android/festago/presentation/src/main/res/values/themes.xml
index 626b7c8b8..c913337bf 100644
--- a/android/festago/presentation/src/main/res/values/themes.xml
+++ b/android/festago/presentation/src/main/res/values/themes.xml
@@ -8,5 +8,10 @@
- @color/background_gray_01
-
+