diff --git a/android/festago/app/build.gradle.kts b/android/festago/app/build.gradle.kts index cce1cf482..b2d2820e7 100644 --- a/android/festago/app/build.gradle.kts +++ b/android/festago/app/build.gradle.kts @@ -16,8 +16,8 @@ android { applicationId = "com.festago.festago" minSdk = 28 targetSdk = 34 - versionCode = 12 - versionName = "2.0.3" + versionCode = 13 + versionName = "2.0.4" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/android/festago/data/src/main/java/com/festago/festago/data/dto/school/SocialMediaResponse.kt b/android/festago/data/src/main/java/com/festago/festago/data/dto/school/SocialMediaResponse.kt index 412704746..1fb0650fb 100644 --- a/android/festago/data/src/main/java/com/festago/festago/data/dto/school/SocialMediaResponse.kt +++ b/android/festago/data/src/main/java/com/festago/festago/data/dto/school/SocialMediaResponse.kt @@ -1,6 +1,7 @@ package com.festago.festago.data.dto.school import com.festago.festago.domain.model.social.SocialMedia +import com.festago.festago.domain.model.social.SocialMediaType import kotlinx.serialization.Serializable @Serializable @@ -10,10 +11,15 @@ data class SocialMediaResponse( val logoUrl: String, val url: String, ) { - fun toDomain(): SocialMedia = SocialMedia( - type = type, - name = name, - logoUrl = logoUrl, - url = url, - ) + fun toDomain(): SocialMedia { + val type = when (this.type) { + "FACEBOOK" -> SocialMediaType.FACEBOOK + "INSTAGRAM" -> SocialMediaType.INSTAGRAM + "YOUTUBE" -> SocialMediaType.YOUTUBE + "X" -> SocialMediaType.X + else -> SocialMediaType.NONE + } + + return SocialMedia(type = type, name = name, logoUrl = logoUrl, url = url) + } } diff --git a/android/festago/data/src/main/java/com/festago/festago/data/dto/schooldetail/SchoolInfoResponse.kt b/android/festago/data/src/main/java/com/festago/festago/data/dto/schooldetail/SchoolInfoResponse.kt index cdc7d51a0..1f0d061be 100644 --- a/android/festago/data/src/main/java/com/festago/festago/data/dto/schooldetail/SchoolInfoResponse.kt +++ b/android/festago/data/src/main/java/com/festago/festago/data/dto/schooldetail/SchoolInfoResponse.kt @@ -17,6 +17,6 @@ data class SchoolInfoResponse( schoolName = name ?: "", logoUrl = logoUrl ?: "", backgroundUrl = backgroundImageUrl ?: "", - socialMedia = socialMedias.map { it.toDomain() }, + socialMedia = socialMedias.map { it.toDomain() } ) } diff --git a/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeArtistRepository.kt b/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeArtistRepository.kt index 15dbc1f39..e704cb514 100644 --- a/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeArtistRepository.kt +++ b/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeArtistRepository.kt @@ -6,6 +6,7 @@ import com.festago.festago.domain.model.festival.Festival import com.festago.festago.domain.model.festival.FestivalsPage import com.festago.festago.domain.model.school.School import com.festago.festago.domain.model.social.SocialMedia +import com.festago.festago.domain.model.social.SocialMediaType import com.festago.festago.domain.repository.ArtistRepository import java.time.LocalDate import javax.inject.Inject @@ -22,13 +23,13 @@ class FakeArtistRepository @Inject constructor() : ArtistRepository { "https://static.wikia.nocookie.net/witchers/images/d/d9/New_Jeans_Cover.png/revision/latest?cb=20220801091438", listOf( SocialMedia( - "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Instagram_icon.png/1200px-Instagram_icon.png?20200512141346", + SocialMediaType.INSTAGRAM, "공식 인스타그램", "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Instagram_logo_2016.svg/264px-Instagram_logo_2016.svg.png", "https://www.instagram.com/newjeans_official/", ), SocialMedia( - "https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/X_logo_2023.svg/600px-X_logo_2023.svg.png?20230819000805", + SocialMediaType.INSTAGRAM, "공식 엑스", "https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/X_logo_2023.svg/531px-X_logo_2023.svg.png", "https://twitter.com/NewJeans_ADOR", diff --git a/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeFestivals.kt b/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeFestivals.kt index 73c537172..02d73c3a3 100644 --- a/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeFestivals.kt +++ b/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeFestivals.kt @@ -5,6 +5,7 @@ import com.festago.festago.domain.model.festival.Festival import com.festago.festago.domain.model.festival.FestivalDetail import com.festago.festago.domain.model.school.School import com.festago.festago.domain.model.social.SocialMedia +import com.festago.festago.domain.model.social.SocialMediaType import com.festago.festago.domain.model.stage.Stage import java.time.LocalDate import java.time.LocalDateTime @@ -20,13 +21,13 @@ object FakeFestivals { school = School(id = 2L, name = "부경대학교", imageUrl = ""), socialMedias = listOf( SocialMedia( - type = "INSTAGRAM", + type = SocialMediaType.INSTAGRAM, name = "총학생회 인스타그램", logoUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Instagram_logo_2016.svg/2048px-Instagram_logo_2016.svg.png", url = "https://www.instagram.com/25th_solution/", ), SocialMedia( - type = "FACEBOOK", + type = SocialMediaType.FACEBOOK, name = "총학생회 페이스북", logoUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Facebook_f_logo_%282019%29.svg/1200px-Facebook_f_logo_%282019%29.svg.png", url = "https://www.facebook.com/23rdemotion/", diff --git a/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeSchool.kt b/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeSchool.kt index cfa9f1ea8..f26d51ad3 100644 --- a/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeSchool.kt +++ b/android/festago/data/src/main/java/com/festago/festago/data/repository/FakeSchool.kt @@ -2,6 +2,7 @@ package com.festago.festago.data.repository import com.festago.festago.domain.model.school.SchoolInfo import com.festago.festago.domain.model.social.SocialMedia +import com.festago.festago.domain.model.social.SocialMediaType object FakeSchool { val googleSchool = SchoolInfo( @@ -11,13 +12,13 @@ object FakeSchool { backgroundUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Google_2015_logo.svg/1200px-Google_2015_logo.svg.png", socialMedia = listOf( SocialMedia( - type = "INSTAGRAM", + type = SocialMediaType.INSTAGRAM, name = "구글대학교 인스타", logoUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Instagram_logo_2016.svg/2048px-Instagram_logo_2016.svg.png", url = "https://www.instagram.com/", ), SocialMedia( - type = "INSTAGRAM", + type = SocialMediaType.INSTAGRAM, name = "구글대학교 X", logoUrl = "https://about.x.com/content/dam/about-twitter/x/brand-toolkit/logo-black.png.twimg.1920.png", url = "https://twitter.com/?lang=en", diff --git a/android/festago/domain/src/main/java/com/festago/festago/domain/model/social/SocialMedia.kt b/android/festago/domain/src/main/java/com/festago/festago/domain/model/social/SocialMedia.kt index 64a1c76af..22e9cbed0 100644 --- a/android/festago/domain/src/main/java/com/festago/festago/domain/model/social/SocialMedia.kt +++ b/android/festago/domain/src/main/java/com/festago/festago/domain/model/social/SocialMedia.kt @@ -1,7 +1,7 @@ package com.festago.festago.domain.model.social data class SocialMedia( - val type: String, + val type: SocialMediaType, val name: String, val logoUrl: String, val url: String diff --git a/android/festago/domain/src/main/java/com/festago/festago/domain/model/social/SocialMediaType.kt b/android/festago/domain/src/main/java/com/festago/festago/domain/model/social/SocialMediaType.kt new file mode 100644 index 000000000..ace6732b4 --- /dev/null +++ b/android/festago/domain/src/main/java/com/festago/festago/domain/model/social/SocialMediaType.kt @@ -0,0 +1,9 @@ +package com.festago.festago.domain.model.social + +enum class SocialMediaType { + FACEBOOK, + INSTAGRAM, + YOUTUBE, + X, + NONE, +} diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/ArtistDetailFragment.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/ArtistDetailFragment.kt index e68ce9103..ee3af37b7 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/ArtistDetailFragment.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/ArtistDetailFragment.kt @@ -11,6 +11,7 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs +import com.festago.festago.domain.model.social.SocialMediaType import com.festago.festago.presentation.R import com.festago.festago.presentation.databinding.FragmentArtistDetailBinding import com.festago.festago.presentation.databinding.ItemMediaBinding @@ -107,13 +108,23 @@ class ArtistDetailFragment : Fragment() { uiState.artist.artistMedia.map { media -> with(ItemMediaBinding.inflate(layoutInflater, binding.llcArtistMedia, false)) { - imageUrl = media.logoUrl + findMediaRes(media.type) ivImage.setOnClickListener { startBrowser(media.url) } binding.llcArtistMedia.addView(ivImage) } } } + private fun findMediaRes(type: SocialMediaType): Int { + return when (type) { + SocialMediaType.YOUTUBE -> R.drawable.ic_youtube + SocialMediaType.INSTAGRAM -> R.drawable.ic_instagram + SocialMediaType.X -> R.drawable.ic_x + SocialMediaType.FACEBOOK -> R.drawable.ic_facebook + SocialMediaType.NONE -> R.drawable.bg_festago_default + } + } + private fun handleError(uiState: ArtistDetailUiState.Error) { binding.refreshListener = { uiState.refresh(args.artist.id) } } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/adapter/festival/ArtistDetailFestivalViewHolder.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/adapter/festival/ArtistDetailFestivalViewHolder.kt index 87391ae03..7a0713565 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/adapter/festival/ArtistDetailFestivalViewHolder.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/artistdetail/adapter/festival/ArtistDetailFestivalViewHolder.kt @@ -23,6 +23,7 @@ class ArtistDetailFestivalViewHolder( init { binding.rvFestivalArtists.adapter = artistAdapter binding.rvFestivalArtists.addItemDecoration(ArtistItemDecoration()) + binding.rvFestivalArtists.itemAnimator = null } fun bind(item: FestivalItemUiState) { diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/FestivalDetailFragment.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/FestivalDetailFragment.kt index 4c921856b..9e9e34af9 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/FestivalDetailFragment.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/FestivalDetailFragment.kt @@ -14,6 +14,8 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs +import com.festago.festago.domain.model.social.SocialMedia +import com.festago.festago.domain.model.social.SocialMediaType import com.festago.festago.presentation.R import com.festago.festago.presentation.databinding.FragmentFestivalDetailBinding import com.festago.festago.presentation.databinding.ItemMediaBinding @@ -110,13 +112,24 @@ class FestivalDetailFragment : Fragment() { binding.llcFestivalSocialMedia.removeAllViews() uiState.festival.socialMedias.forEach { media -> with(ItemMediaBinding.inflate(layoutInflater, binding.llcFestivalSocialMedia, false)) { - imageUrl = media.logoUrl + ivImage.setImageResource(findMediaRes(media)) ivImage.setOnClickListener { startBrowser(media.url) } binding.llcFestivalSocialMedia.addView(ivImage) } } } + private fun findMediaRes(media: SocialMedia): Int { + val res = when (media.type) { + SocialMediaType.INSTAGRAM -> R.drawable.ic_instagram + SocialMediaType.FACEBOOK -> R.drawable.ic_facebook + SocialMediaType.YOUTUBE -> R.drawable.ic_youtube + SocialMediaType.X -> R.drawable.ic_x + else -> R.drawable.bg_festago_default + } + return res + } + private fun handleError(uiState: FestivalDetailUiState.Error) { binding.refreshListener = { uiState.refresh(args.festival.id) } } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/adapter/stage/StageViewHolder.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/adapter/stage/StageViewHolder.kt index f64b5a254..c24844964 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/adapter/stage/StageViewHolder.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/festivaldetail/adapter/stage/StageViewHolder.kt @@ -15,6 +15,7 @@ class StageViewHolder( init { binding.rvStageArtists.adapter = artistAdapter + binding.rvStageArtists.itemAnimator = null } fun bind(item: StageItemUiState) { diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/adapater/FestivalBookmarkViewHolder.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/adapater/FestivalBookmarkViewHolder.kt index 1aa38440d..718c2e7a9 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/adapater/FestivalBookmarkViewHolder.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/adapater/FestivalBookmarkViewHolder.kt @@ -24,6 +24,7 @@ class FestivalBookmarkViewHolder( init { binding.rvFestivalArtists.adapter = artistAdapter binding.rvFestivalArtists.addItemDecoration(ArtistItemDecoration()) + binding.rvFestivalArtists.itemAnimator = null } fun bind(item: FestivalBookmarkItemUiState) { diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/festivallist/festival/FestivalListFestivalViewHolder.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/festivallist/festival/FestivalListFestivalViewHolder.kt index 551acee41..5620b4db4 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/festivallist/festival/FestivalListFestivalViewHolder.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/festivallist/festival/FestivalListFestivalViewHolder.kt @@ -26,6 +26,7 @@ class FestivalListFestivalViewHolder( init { binding.rvFestivalArtists.adapter = artistAdapter binding.rvFestivalArtists.addItemDecoration(ArtistItemDecoration()) + binding.rvFestivalArtists.itemAnimator = null } fun bind(item: FestivalItemUiState) { diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFestivalViewHolder.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFestivalViewHolder.kt index 17b7ad7a4..66fb4407d 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFestivalViewHolder.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFestivalViewHolder.kt @@ -22,6 +22,7 @@ class SchoolDetailFestivalViewHolder( init { binding.rvFestivalArtists.adapter = artistAdapter binding.rvFestivalArtists.addItemDecoration(ArtistItemDecoration()) + binding.rvFestivalArtists.itemAnimator = null } fun bind(item: FestivalItemUiState) { diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFragment.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFragment.kt index e67a22875..530e5d158 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFragment.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/schooldetail/SchoolDetailFragment.kt @@ -11,6 +11,8 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs +import com.festago.festago.domain.model.social.SocialMedia +import com.festago.festago.domain.model.social.SocialMediaType import com.festago.festago.presentation.R import com.festago.festago.presentation.databinding.FragmentSchoolDetailBinding import com.festago.festago.presentation.databinding.ItemMediaBinding @@ -107,13 +109,25 @@ class SchoolDetailFragment : Fragment() { uiState.schoolInfo.socialMedia.forEach { media -> with(ItemMediaBinding.inflate(layoutInflater, binding.llcSchoolSocialMedia, false)) { - imageUrl = media.logoUrl + if (media.type == SocialMediaType.NONE) return@with + ivImage.setImageResource(findMediaRes(media)) ivImage.setOnClickListener { startBrowser(media.url) } binding.llcSchoolSocialMedia.addView(ivImage) } } } + private fun findMediaRes(media: SocialMedia): Int { + val res = when (media.type) { + SocialMediaType.INSTAGRAM -> R.drawable.ic_instagram + SocialMediaType.FACEBOOK -> R.drawable.ic_facebook + SocialMediaType.YOUTUBE -> R.drawable.ic_youtube + SocialMediaType.X -> R.drawable.ic_x + else -> R.drawable.bg_festago_default + } + return res + } + private fun handleError(uiState: SchoolDetailUiState.Error) { binding.refreshListener = { uiState.refresh(args.school.id) } } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/SearchFragment.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/SearchFragment.kt index c0aff61d8..21807d625 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/SearchFragment.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/SearchFragment.kt @@ -119,6 +119,7 @@ class SearchFragment : Fragment() { private fun initRecyclerView() { recentSearchAdapter = RecentSearchAdapter() binding.rvRecentSearch.adapter = recentSearchAdapter + binding.rvRecentSearch.itemAnimator = null } private fun initBack() { diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/festivalsearch/FestivalSearchViewHolder.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/festivalsearch/FestivalSearchViewHolder.kt index 8e7091063..92cd60565 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/festivalsearch/FestivalSearchViewHolder.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/search/festivalsearch/FestivalSearchViewHolder.kt @@ -24,6 +24,7 @@ class FestivalSearchViewHolder( init { binding.rvFestivalArtists.adapter = artistAdapter binding.rvFestivalArtists.addItemDecoration(ArtistItemDecoration()) + binding.rvFestivalArtists.itemAnimator = null } fun bind(item: FestivalSearchItemUiState) { 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 index 732692ddf..1f3da7b10 100644 --- 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 @@ -97,14 +97,27 @@ class SplashActivity : ComponentActivity() { } private fun requestUpdate(latestVersion: Long) { - val isForceUpdateVersion = firebaseRemoteConfig.getBoolean(KEY_FORCE_UPDATE_REQUIRED) val latestVersionDescription = firebaseRemoteConfig.getString(KEY_LATEST_VERSION_DESCRIPTION) + + if (checkForceUpdate(latestVersionDescription)) return + checkOptionalUpdate(latestVersion, latestVersionDescription) + } + + private fun checkForceUpdate(latestVersionDescription: String): Boolean { + val isForceUpdateVersion = firebaseRemoteConfig.getBoolean(KEY_FORCE_UPDATE_REQUIRED) if (isForceUpdateVersion) { requestForceUpdate(message = latestVersionDescription) - return + return true + } + return false + } + + private fun checkOptionalUpdate(latestVersion: Long, latestVersionDescription: String) { + val isOptionalUpdateVersion = firebaseRemoteConfig.getBoolean(KEY_OPTIONAL_UPDATE_REQUIRED) + if (isOptionalUpdateVersion) { + requestOptionalUpdate(latestVersion = latestVersion, message = latestVersionDescription) } - requestOptionalUpdate(latestVersion = latestVersion, message = latestVersionDescription) } private fun requestForceUpdate(message: String) { @@ -188,6 +201,7 @@ class SplashActivity : ComponentActivity() { 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_OPTIONAL_UPDATE_REQUIRED = "OPTIONAL_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/animator/nav_default_enter_anim.xml b/android/festago/presentation/src/main/res/animator/nav_default_enter_anim.xml new file mode 100644 index 000000000..7846f52e8 --- /dev/null +++ b/android/festago/presentation/src/main/res/animator/nav_default_enter_anim.xml @@ -0,0 +1,4 @@ + + + + diff --git a/android/festago/presentation/src/main/res/animator/nav_default_exit_anim.xml b/android/festago/presentation/src/main/res/animator/nav_default_exit_anim.xml new file mode 100644 index 000000000..7846f52e8 --- /dev/null +++ b/android/festago/presentation/src/main/res/animator/nav_default_exit_anim.xml @@ -0,0 +1,4 @@ + + + + diff --git a/android/festago/presentation/src/main/res/animator/nav_default_pop_enter_anim.xml b/android/festago/presentation/src/main/res/animator/nav_default_pop_enter_anim.xml new file mode 100644 index 000000000..7846f52e8 --- /dev/null +++ b/android/festago/presentation/src/main/res/animator/nav_default_pop_enter_anim.xml @@ -0,0 +1,4 @@ + + + + diff --git a/android/festago/presentation/src/main/res/animator/nav_default_pop_exit_anim.xml b/android/festago/presentation/src/main/res/animator/nav_default_pop_exit_anim.xml new file mode 100644 index 000000000..7846f52e8 --- /dev/null +++ b/android/festago/presentation/src/main/res/animator/nav_default_pop_exit_anim.xml @@ -0,0 +1,4 @@ + + + + diff --git a/android/festago/presentation/src/main/res/drawable/bg_artist_stroke.xml b/android/festago/presentation/src/main/res/drawable/bg_artist_stroke.xml new file mode 100644 index 000000000..2daa4ea8d --- /dev/null +++ b/android/festago/presentation/src/main/res/drawable/bg_artist_stroke.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/festago/presentation/src/main/res/drawable/bg_festival_list_festival.xml b/android/festago/presentation/src/main/res/drawable/bg_festival_list_festival.xml index fc05ec76c..90c660f54 100644 --- a/android/festago/presentation/src/main/res/drawable/bg_festival_list_festival.xml +++ b/android/festago/presentation/src/main/res/drawable/bg_festival_list_festival.xml @@ -1,8 +1,7 @@ - + - - \ No newline at end of file + android:width="0.2dp" + android:color="@color/background_gray_03" /> + + diff --git a/android/festago/presentation/src/main/res/drawable/ic_facebook.xml b/android/festago/presentation/src/main/res/drawable/ic_facebook.xml new file mode 100644 index 000000000..5a8f232ef --- /dev/null +++ b/android/festago/presentation/src/main/res/drawable/ic_facebook.xml @@ -0,0 +1,16 @@ + + + + + + + diff --git a/android/festago/presentation/src/main/res/drawable/ic_instagram.xml b/android/festago/presentation/src/main/res/drawable/ic_instagram.xml new file mode 100644 index 000000000..d7948a451 --- /dev/null +++ b/android/festago/presentation/src/main/res/drawable/ic_instagram.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/festago/presentation/src/main/res/drawable/ic_profile_default.xml b/android/festago/presentation/src/main/res/drawable/ic_user_profile_default.xml similarity index 66% rename from android/festago/presentation/src/main/res/drawable/ic_profile_default.xml rename to android/festago/presentation/src/main/res/drawable/ic_user_profile_default.xml index 154bcee73..3e746a890 100644 --- a/android/festago/presentation/src/main/res/drawable/ic_profile_default.xml +++ b/android/festago/presentation/src/main/res/drawable/ic_user_profile_default.xml @@ -7,7 +7,7 @@ android:pathData="M30,30m-30,0a30,30 0,1 1,60 0a30,30 0,1 1,-60 0" android:fillColor="#D1D1D1"/> + + diff --git a/android/festago/presentation/src/main/res/drawable/ic_youtube.xml b/android/festago/presentation/src/main/res/drawable/ic_youtube.xml new file mode 100644 index 000000000..2c302527b --- /dev/null +++ b/android/festago/presentation/src/main/res/drawable/ic_youtube.xml @@ -0,0 +1,14 @@ + + + + diff --git a/android/festago/presentation/src/main/res/drawable/img_default_school.png b/android/festago/presentation/src/main/res/drawable/img_default_school.png new file mode 100644 index 000000000..d06870463 Binary files /dev/null and b/android/festago/presentation/src/main/res/drawable/img_default_school.png differ diff --git a/android/festago/presentation/src/main/res/drawable/img_school_background.png b/android/festago/presentation/src/main/res/drawable/img_school_background.png new file mode 100644 index 000000000..b49156baf Binary files /dev/null and b/android/festago/presentation/src/main/res/drawable/img_school_background.png differ 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 278d4d381..d41eead06 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 @@ -46,7 +46,7 @@ android:id="@+id/tvFestivalDDayEnd" android:layout_width="0dp" android:layout_height="0dp" - android:background="#40000000" + android:background="#99000000" app:layout_constraintBottom_toBottomOf="@+id/ivBackgroundImage" app:layout_constraintEnd_toEndOf="@id/ivBackgroundImage" app:layout_constraintStart_toStartOf="@id/ivBackgroundImage" @@ -109,13 +109,16 @@ + app:layout_constraintTop_toBottomOf="@id/ivBackgroundImage" + tools:text="뉴진스 뉴진스 뉴진스 뉴진스 뉴진스 뉴진스 뉴진스" /> + app:layout_constraintTop_toBottomOf="@id/tvMyPageAppbar"> + android:src="@drawable/ic_user_profile_default" /> - + app:layout_constraintTop_toBottomOf="@id/tvMyPageAppbar" + android:visibility="gone"> + android:src="@drawable/img_school_background" + app:layout_constraintTop_toTopOf="parent" /> + android:src="@drawable/img_default_school" /> + tools:text="성균관대학교 인문사회과학캠퍼스" /> + + + + tools:src="@null" /> + + + + + diff --git a/android/festago/presentation/src/main/res/layout/item_festival_bookmark.xml b/android/festago/presentation/src/main/res/layout/item_festival_bookmark.xml index febbbad69..4c9ac6541 100644 --- a/android/festago/presentation/src/main/res/layout/item_festival_bookmark.xml +++ b/android/festago/presentation/src/main/res/layout/item_festival_bookmark.xml @@ -103,5 +103,20 @@ app:layout_constraintStart_toStartOf="@id/tvFestivalSchedule" app:layout_constraintTop_toBottomOf="@id/tvFestivalSchedule" tools:listitem="@layout/item_festival_list_artist" /> + + + diff --git a/android/festago/presentation/src/main/res/layout/item_festival_bookmark_artist.xml b/android/festago/presentation/src/main/res/layout/item_festival_bookmark_artist.xml index 6df95cc3b..a4219675d 100644 --- a/android/festago/presentation/src/main/res/layout/item_festival_bookmark_artist.xml +++ b/android/festago/presentation/src/main/res/layout/item_festival_bookmark_artist.xml @@ -36,6 +36,11 @@ android:contentDescription="@string/festival_list_iv_image" android:scaleType="centerCrop" tools:src="@color/background_gray_03" /> + + diff --git a/android/festago/presentation/src/main/res/layout/item_festival_detail_stage_artist.xml b/android/festago/presentation/src/main/res/layout/item_festival_detail_stage_artist.xml index 0f7efb403..27adc88db 100644 --- a/android/festago/presentation/src/main/res/layout/item_festival_detail_stage_artist.xml +++ b/android/festago/presentation/src/main/res/layout/item_festival_detail_stage_artist.xml @@ -11,7 +11,7 @@ + + + + + + + diff --git a/android/festago/presentation/src/main/res/layout/item_festival_list_popular.xml b/android/festago/presentation/src/main/res/layout/item_festival_list_popular.xml index 62e14a4a8..b113e25ad 100644 --- a/android/festago/presentation/src/main/res/layout/item_festival_list_popular.xml +++ b/android/festago/presentation/src/main/res/layout/item_festival_list_popular.xml @@ -14,7 +14,8 @@ + android:layout_height="wrap_content" + tools:background="@color/contents_gray_06"> + tools:text="연세대 아카라카 연세대 아카라카 연세대 아카라카 (2024)" /> - - - - - + + + + diff --git a/android/festago/presentation/src/main/res/layout/item_search_festival.xml b/android/festago/presentation/src/main/res/layout/item_search_festival.xml index 09c3cf4cd..bfe525bc6 100644 --- a/android/festago/presentation/src/main/res/layout/item_search_festival.xml +++ b/android/festago/presentation/src/main/res/layout/item_search_festival.xml @@ -104,5 +104,19 @@ app:layout_constraintTop_toBottomOf="@id/tvFestivalSchedule" tools:listitem="@layout/item_festival_list_artist" /> + + diff --git a/android/festago/presentation/src/main/res/layout/item_search_festival_artist.xml b/android/festago/presentation/src/main/res/layout/item_search_festival_artist.xml index a11d97d89..ed9ceb641 100644 --- a/android/festago/presentation/src/main/res/layout/item_search_festival_artist.xml +++ b/android/festago/presentation/src/main/res/layout/item_search_festival_artist.xml @@ -37,6 +37,11 @@ android:scaleType="centerCrop" tools:src="@drawable/ic_launcher_background" /> + + 정말 탈퇴 하시겠습니까? 다시 되돌릴 수 없습니다. 버전 : %s + + 아직 라인업이\n공개되지 않았어요 +