diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3a6524d0..adfe0180 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -175,6 +175,7 @@ + diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/AuditionActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/AuditionActivity.kt new file mode 100644 index 00000000..1325b791 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/AuditionActivity.kt @@ -0,0 +1,18 @@ +package kr.co.vividnext.sodalive.audition + +import androidx.annotation.OptIn +import androidx.media3.common.util.UnstableApi +import kr.co.vividnext.sodalive.R +import kr.co.vividnext.sodalive.base.BaseActivity +import kr.co.vividnext.sodalive.databinding.ActivityAuditionBinding + +@OptIn(UnstableApi::class) +class AuditionActivity : BaseActivity( + ActivityAuditionBinding::inflate +) { + override fun setupView() { + supportFragmentManager.beginTransaction() + .replace(R.id.fl_container, AuditionFragment()) + .commit() + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/GetHomeResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/GetHomeResponse.kt index a6eecde2..bf62deaf 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/GetHomeResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/GetHomeResponse.kt @@ -6,7 +6,6 @@ import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentBannerResponse import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem import kr.co.vividnext.sodalive.audio_content.main.v2.GetContentCurationResponse import kr.co.vividnext.sodalive.audio_content.series.GetSeriesListResponse -import kr.co.vividnext.sodalive.audition.GetAuditionListItem import kr.co.vividnext.sodalive.explorer.GetExplorerSectionCreatorResponse import kr.co.vividnext.sodalive.live.GetRoomListResponse import kr.co.vividnext.sodalive.settings.event.GetEventResponse @@ -20,7 +19,6 @@ data class GetHomeResponse( @SerializedName("bannerList") val bannerList: List, @SerializedName("eventBannerList") val eventBannerList: GetEventResponse, @SerializedName("originalAudioDramaList") val originalAudioDramaList: List, - @SerializedName("auditionList") val auditionList: List, @SerializedName("dayOfWeekSeriesList") val dayOfWeekSeriesList: List, @SerializedName("contentRanking") val contentRanking: List, @SerializedName("recommendChannelList") val recommendChannelList: List, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt index 3932390e..0ce803d1 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt @@ -32,7 +32,7 @@ import kr.co.vividnext.sodalive.audio_content.main.banner.AudioContentMainBanner import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService import kr.co.vividnext.sodalive.audio_content.series.detail.SeriesDetailActivity import kr.co.vividnext.sodalive.audio_content.upload.AudioContentUploadActivity -import kr.co.vividnext.sodalive.audition.detail.AuditionDetailActivity +import kr.co.vividnext.sodalive.audition.AuditionActivity import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.LoadingDialog @@ -54,7 +54,6 @@ import org.koin.android.ext.android.inject import java.text.SimpleDateFormat import java.util.Date import java.util.Locale -import kotlin.math.roundToInt @OptIn(UnstableApi::class) class HomeFragment : BaseFragment(FragmentHomeBinding::inflate) { @@ -627,62 +626,23 @@ class HomeFragment : BaseFragment(FragmentHomeBinding::infl private fun setupAudition() { val layoutParams = binding - .auditionSlider + .ivAudition .layoutParams as LinearLayout.LayoutParams - val pagerWidth = screenWidth.toDouble() - val pagerHeight = (pagerWidth * 120 / 352).roundToInt() - layoutParams.width = pagerWidth.roundToInt() - layoutParams.height = pagerHeight + val width = screenWidth + val height = width * 198 / 352 + layoutParams.width = width + layoutParams.height = height - auditionAdapter = AuditionBannerAdapter( - requireContext(), - pagerWidth.roundToInt(), - pagerHeight - ) { - if (SharedPreferenceManager.token.isNotBlank()) { - startActivity( - Intent(requireContext(), AuditionDetailActivity::class.java).apply { - putExtra(Constants.EXTRA_AUDITION_ID, it) - } + binding.ivAudition.layoutParams = layoutParams + + binding.ivAudition.setOnClickListener { + startActivity( + Intent( + requireContext(), + AuditionActivity::class.java ) - } else { - (requireActivity() as MainActivity).showLoginActivity() - } - } - - binding - .auditionSlider - .layoutParams = layoutParams - - binding.auditionSlider.apply { - adapter = auditionAdapter as BaseBannerAdapter - - setLifecycleRegistry(lifecycle) - setScrollDuration(1000) - setInterval(4 * 1000) - }.create() - - binding - .auditionSlider - .setIndicatorView(binding.indicatorAudition) - .setIndicatorStyle(IndicatorStyle.ROUND_RECT) - .setIndicatorSlideMode(IndicatorSlideMode.SMOOTH) - .setIndicatorVisibility(View.GONE) - .setIndicatorSliderColor( - ContextCompat.getColor(requireContext(), R.color.color_909090), - ContextCompat.getColor(requireContext(), R.color.color_3bb9f1) ) - .setIndicatorSliderWidth(10f.dpToPx().toInt(), 10f.dpToPx().toInt()) - .setIndicatorHeight(10f.dpToPx().toInt()) - - viewModel.auditionListLiveData.observe(viewLifecycleOwner) { - if (it.isNotEmpty()) { - binding.llAudition.visibility = View.VISIBLE - binding.auditionSlider.refreshData(it) - } else { - binding.llAudition.visibility = View.GONE - } } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt index 2a2211ce..108cc7b3 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt @@ -50,10 +50,6 @@ class HomeViewModel(private val repository: HomeRepository) : BaseViewModel() { val originalAudioDramaListLiveData: LiveData> get() = _originalAudioDramaListLiveData - private var _auditionListLiveData = MutableLiveData>() - val auditionListLiveData: LiveData> - get() = _auditionListLiveData - private var _dayOfWeekSeriesListLiveData = MutableLiveData>() val dayOfWeekSeriesListLiveData: LiveData> @@ -97,7 +93,6 @@ class HomeViewModel(private val repository: HomeRepository) : BaseViewModel() { _latestContentListLiveData.value = data.latestContentList _eventBannerListLiveData.value = data.bannerList _originalAudioDramaListLiveData.value = data.originalAudioDramaList - _auditionListLiveData.value = data.auditionList _dayOfWeekSeriesListLiveData.value = data.dayOfWeekSeriesList _contentRankingLiveData.value = data.contentRanking _freeContentListLiveData.value = data.freeContentList diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt index 4a396909..2a505c1d 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt @@ -12,7 +12,6 @@ import kr.co.vividnext.sodalive.base.BaseViewModel import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.explorer.profile.creator_community.CreatorCommunityRepository import kr.co.vividnext.sodalive.explorer.profile.creator_community.GetCommunityPostListResponse -import kr.co.vividnext.sodalive.home.AudioContentMainItem import kr.co.vividnext.sodalive.live.recommend.GetRecommendLiveResponse import kr.co.vividnext.sodalive.live.recommend.LiveRecommendRepository import kr.co.vividnext.sodalive.live.recommend_channel.GetRecommendChannelResponse diff --git a/app/src/main/res/drawable-mdpi/img_banner_audition.png b/app/src/main/res/drawable-mdpi/img_banner_audition.png new file mode 100644 index 00000000..d171f916 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_banner_audition.png differ diff --git a/app/src/main/res/layout/activity_audition.xml b/app/src/main/res/layout/activity_audition.xml new file mode 100644 index 00000000..46800199 --- /dev/null +++ b/app/src/main/res/layout/activity_audition.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 42bf6eae..e96af9e4 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -218,26 +218,14 @@ android:paddingHorizontal="24dp" /> - - - - - - + android:contentDescription="@null" + android:scaleType="centerCrop" + android:src="@drawable/img_banner_audition" />