콘텐츠 메인
- 로그인 하지 않고도 페이지를 조회할 수 있도록 수정
This commit is contained in:
		| @@ -265,6 +265,14 @@ interface AudioContentApi { | ||||
|         @Header("Authorization") authHeader: String | ||||
|     ): Single<ApiResponse<List<GetAudioContentRankingItem>>> | ||||
|  | ||||
|     @GET("/v2/audio-content/main/home/content/ranking") | ||||
|     fun getContentMainHomeContentRanking( | ||||
|         @Query("sort-type") sortType: String, | ||||
|         @Query("isAdultContentVisible") isAdultContentVisible: Boolean, | ||||
|         @Query("contentType") contentType: ContentType, | ||||
|         @Header("Authorization") authHeader: String | ||||
|     ): Single<ApiResponse<List<GetAudioContentRankingItem>>> | ||||
|  | ||||
|     @GET("/v2/audio-content/main/series") | ||||
|     fun getContentMainSeries( | ||||
|         @Query("isAdultContentVisible") isAdultContentVisible: Boolean, | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package kr.co.vividnext.sodalive.audio_content.main.v2.home | ||||
|  | ||||
| import android.content.Intent | ||||
| import android.content.SharedPreferences | ||||
| import android.graphics.Color | ||||
| import android.graphics.Rect | ||||
| import android.net.Uri | ||||
| @@ -72,14 +73,45 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|     private lateinit var contentRankCreatorAdapter: ContentRankCreatorAdapter | ||||
|     private lateinit var popularContentByCreatorAdapter: PopularContentByCreatorAdapter | ||||
|  | ||||
|     private val preferenceChangeListener = | ||||
|         SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key -> | ||||
|             // 특정 키에 대한 값이 변경될 때 UI 업데이트 | ||||
|             if (key == Constants.PREF_USER_ROLE) { | ||||
|                 if ( | ||||
|                     sharedPreferences.getString( | ||||
|                         key, | ||||
|                         MemberRole.USER.name | ||||
|                     ) == MemberRole.CREATOR.name | ||||
|                 ) { | ||||
|                     binding.llUploadContent.visibility = View.VISIBLE | ||||
|                     binding.llUploadContent.setOnClickListener { | ||||
|                         startActivity( | ||||
|                             Intent( | ||||
|                                 requireActivity(), | ||||
|                                 AudioContentUploadActivity::class.java | ||||
|                             ) | ||||
|                         ) | ||||
|                     } | ||||
|                 } else { | ||||
|                     binding.llUploadContent.visibility = View.GONE | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|     override fun onViewCreated(view: View, savedInstanceState: Bundle?) { | ||||
|         super.onViewCreated(view, savedInstanceState) | ||||
|         SharedPreferenceManager.registerOnSharedPreferenceChangeListener(preferenceChangeListener) | ||||
|         setupView() | ||||
|         bindData() | ||||
|  | ||||
|         viewModel.fetchData() | ||||
|     } | ||||
|  | ||||
|     override fun onDestroyView() { | ||||
|         SharedPreferenceManager.unregisterOnSharedPreferenceChangeListener(preferenceChangeListener) | ||||
|         super.onDestroyView() | ||||
|     } | ||||
|  | ||||
|     private fun bindData() { | ||||
|         viewModel.toastLiveData.observe(viewLifecycleOwner) { | ||||
|             it?.let { Toast.makeText(requireContext(), it, Toast.LENGTH_LONG).show() } | ||||
| @@ -125,22 +157,29 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|             binding.llUploadContent.visibility = View.GONE | ||||
|         } | ||||
|  | ||||
|         binding.ivContentKeep.setOnClickListener { | ||||
|             startActivity( | ||||
|                 Intent( | ||||
|                     requireContext(), | ||||
|                     AudioContentBoxActivity::class.java | ||||
|         if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|             binding.ivContentKeep.setOnClickListener { | ||||
|                 startActivity( | ||||
|                     Intent( | ||||
|                         requireContext(), | ||||
|                         AudioContentBoxActivity::class.java | ||||
|                     ) | ||||
|                 ) | ||||
|             ) | ||||
|         } | ||||
|             } | ||||
|  | ||||
|         binding.ivAlarm.setOnClickListener { | ||||
|             startActivity( | ||||
|                 Intent( | ||||
|                     requireActivity(), | ||||
|                     AlarmListActivity::class.java | ||||
|             binding.ivAlarm.setOnClickListener { | ||||
|                 startActivity( | ||||
|                     Intent( | ||||
|                         requireActivity(), | ||||
|                         AlarmListActivity::class.java | ||||
|                     ) | ||||
|                 ) | ||||
|             ) | ||||
|             } | ||||
|             binding.ivAlarm.visibility = View.VISIBLE | ||||
|             binding.ivContentKeep.visibility = View.VISIBLE | ||||
|         } else { | ||||
|             binding.ivAlarm.visibility = View.GONE | ||||
|             binding.ivContentKeep.visibility = View.GONE | ||||
|         } | ||||
|  | ||||
|         binding.flSearchChannel.setOnClickListener { | ||||
| @@ -244,7 +283,10 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|             .setIndicatorHeight(4f.dpToPx().toInt()) | ||||
|  | ||||
|         viewModel.contentBannerLiveData.observe(viewLifecycleOwner) { | ||||
|             if (contentBannerAdapter.itemCount <= 0 && it.isEmpty()) { | ||||
|             if ( | ||||
|                 SharedPreferenceManager.token.isBlank() || | ||||
|                 (contentBannerAdapter.itemCount <= 0 && it.isEmpty()) | ||||
|             ) { | ||||
|                 binding.rvBanner.visibility = View.GONE | ||||
|                 binding.indicatorBanner.visibility = View.GONE | ||||
|             } else { | ||||
| @@ -256,6 +298,12 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|     } | ||||
|  | ||||
|     private fun setupCategory() { | ||||
|         if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|             binding.llCategoryContainer.visibility = View.VISIBLE | ||||
|         } else { | ||||
|             binding.llCategoryContainer.visibility = View.GONE | ||||
|         } | ||||
|  | ||||
|         binding.rlCategoryAudioBook.setOnClickListener { | ||||
|             showToast("준비중 입니다.") | ||||
|         } | ||||
| @@ -303,11 +351,15 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|     private fun setupRankCreator() { | ||||
|         rankCreatorAdapter = ExplorerSectionAdapter( | ||||
|             onClickItem = { | ||||
|                 startActivity( | ||||
|                     Intent(requireContext(), UserProfileActivity::class.java).apply { | ||||
|                         putExtra(Constants.EXTRA_USER_ID, it) | ||||
|                     } | ||||
|                 ) | ||||
|                 if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|                     startActivity( | ||||
|                         Intent(requireContext(), UserProfileActivity::class.java).apply { | ||||
|                             putExtra(Constants.EXTRA_USER_ID, it) | ||||
|                         } | ||||
|                     ) | ||||
|                 } else { | ||||
|                     (requireActivity() as MainActivity).showLoginActivity() | ||||
|                 } | ||||
|             }, | ||||
|             isVisibleRanking = true | ||||
|         ) | ||||
| @@ -388,18 +440,26 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|     private fun setupRankSeries() { | ||||
|         rankSeriesAdapter = UserProfileSeriesListAdapter( | ||||
|             onClickItem = { | ||||
|                 startActivity( | ||||
|                     Intent(requireContext(), SeriesDetailActivity::class.java).apply { | ||||
|                         putExtra(Constants.EXTRA_SERIES_ID, it) | ||||
|                     } | ||||
|                 ) | ||||
|                 if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|                     startActivity( | ||||
|                         Intent(requireContext(), SeriesDetailActivity::class.java).apply { | ||||
|                             putExtra(Constants.EXTRA_SERIES_ID, it) | ||||
|                         } | ||||
|                     ) | ||||
|                 } else { | ||||
|                     (requireActivity() as MainActivity).showLoginActivity() | ||||
|                 } | ||||
|             }, | ||||
|             onClickCreator = { | ||||
|                 startActivity( | ||||
|                     Intent(requireContext(), UserProfileActivity::class.java).apply { | ||||
|                         putExtra(Constants.EXTRA_USER_ID, it) | ||||
|                     } | ||||
|                 ) | ||||
|                 if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|                     startActivity( | ||||
|                         Intent(requireContext(), UserProfileActivity::class.java).apply { | ||||
|                             putExtra(Constants.EXTRA_USER_ID, it) | ||||
|                         } | ||||
|                     ) | ||||
|                 } else { | ||||
|                     (requireActivity() as MainActivity).showLoginActivity() | ||||
|                 } | ||||
|             }, | ||||
|             isVisibleCreator = true | ||||
|         ) | ||||
| @@ -444,6 +504,7 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|         viewModel.rankSeriesLiveData.observe(viewLifecycleOwner) { | ||||
|             rankSeriesAdapter.addItems(it) | ||||
|             binding.llRankSeries.visibility = if ( | ||||
|                 SharedPreferenceManager.token.isBlank() || | ||||
|                 rankSeriesAdapter.itemCount <= 0 && it.isEmpty() | ||||
|             ) { | ||||
|                 View.GONE | ||||
| @@ -502,17 +563,25 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|  | ||||
|     private fun setupRankContent() { | ||||
|         binding.ivRankContentAll.setOnClickListener { | ||||
|             startActivity(Intent(requireContext(), AudioContentRankingAllActivity::class.java)) | ||||
|             if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|                 startActivity(Intent(requireContext(), AudioContentRankingAllActivity::class.java)) | ||||
|             } else { | ||||
|                 (requireActivity() as MainActivity).showLoginActivity() | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         rankContentAdapter = AudioContentMainRankingAdapter( | ||||
|             width = (screenWidth * 0.66).toInt() | ||||
|         ) { | ||||
|             startActivity( | ||||
|                 Intent(requireContext(), AudioContentDetailActivity::class.java).apply { | ||||
|                     putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, it) | ||||
|                 } | ||||
|             ) | ||||
|             if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|                 startActivity( | ||||
|                     Intent(requireContext(), AudioContentDetailActivity::class.java).apply { | ||||
|                         putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, it) | ||||
|                     } | ||||
|                 ) | ||||
|             } else { | ||||
|                 (requireActivity() as MainActivity).showLoginActivity() | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         binding.rvRankContent.layoutManager = GridLayoutManager( | ||||
| @@ -583,7 +652,7 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|             .setIndicatorHeight(4f.dpToPx().toInt()) | ||||
|  | ||||
|         viewModel.eventLiveData.observe(viewLifecycleOwner) { | ||||
|             if (it.isNotEmpty()) { | ||||
|             if (it.isNotEmpty() && SharedPreferenceManager.token.isNotBlank()) { | ||||
|                 binding.eventBannerSlider.visibility = View.VISIBLE | ||||
|                 binding.eventBannerSlider.refreshData(it) | ||||
|             } else { | ||||
| @@ -649,18 +718,24 @@ class AudioContentMainTabHomeFragment : BaseFragment<FragmentAudioContentMainTab | ||||
|         popularContentByCreatorAdapter = PopularContentByCreatorAdapter( | ||||
|             itemWidth = ((screenWidth - 13.3f.dpToPx() * 3) / 2).toInt(), | ||||
|             onClickItem = { contentId -> | ||||
|                 startActivity( | ||||
|                     Intent(requireActivity(), AudioContentDetailActivity::class.java).apply { | ||||
|                         putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, contentId) | ||||
|                     } | ||||
|                 ) | ||||
|                 if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|                     startActivity( | ||||
|                         Intent(requireActivity(), AudioContentDetailActivity::class.java).apply { | ||||
|                             putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, contentId) | ||||
|                         } | ||||
|                     ) | ||||
|                 } else { | ||||
|                     (requireActivity() as MainActivity).showLoginActivity() | ||||
|                 } | ||||
|             }, | ||||
|             onClickCreator = { creatorId -> | ||||
|                 startActivity( | ||||
|                     Intent(requireActivity(), UserProfileActivity::class.java).apply { | ||||
|                         putExtra(Constants.EXTRA_USER_ID, creatorId) | ||||
|                     } | ||||
|                 ) | ||||
|                 if (SharedPreferenceManager.token.isNotBlank()) { | ||||
|                     startActivity( | ||||
|                         Intent(requireActivity(), UserProfileActivity::class.java).apply { | ||||
|                             putExtra(Constants.EXTRA_USER_ID, creatorId) | ||||
|                         } | ||||
|                     ) | ||||
|                 } | ||||
|             } | ||||
|         ) | ||||
|  | ||||
|   | ||||
| @@ -20,4 +20,11 @@ class AudioContentMainTabHomeRepository(private val api: AudioContentApi) { | ||||
|         contentType = ContentType.values()[SharedPreferenceManager.contentPreference], | ||||
|         authHeader = token | ||||
|     ) | ||||
|  | ||||
|     fun getContentRanking(sort: String, token: String) = api.getContentMainHomeContentRanking( | ||||
|         sortType = sort, | ||||
|         isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, | ||||
|         contentType = ContentType.values()[SharedPreferenceManager.contentPreference], | ||||
|         authHeader = token | ||||
|     ) | ||||
| } | ||||
|   | ||||
| @@ -5,7 +5,6 @@ import androidx.lifecycle.MutableLiveData | ||||
| import com.orhanobut.logger.Logger | ||||
| import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers | ||||
| import io.reactivex.rxjava3.schedulers.Schedulers | ||||
| import kr.co.vividnext.sodalive.audio_content.AudioContentRepository | ||||
| import kr.co.vividnext.sodalive.audio_content.main.ContentCreatorResponse | ||||
| import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentBannerResponse | ||||
| import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem | ||||
| @@ -17,8 +16,7 @@ import kr.co.vividnext.sodalive.settings.event.EventItem | ||||
| import kr.co.vividnext.sodalive.settings.notice.NoticeItem | ||||
|  | ||||
| class AudioContentMainTabHomeViewModel( | ||||
|     private val repository: AudioContentMainTabHomeRepository, | ||||
|     private val contentRepository: AudioContentRepository | ||||
|     private val repository: AudioContentMainTabHomeRepository | ||||
| ) : BaseViewModel() { | ||||
|     private val _toastLiveData = MutableLiveData<String?>() | ||||
|     val toastLiveData: LiveData<String?> | ||||
| @@ -112,10 +110,8 @@ class AudioContentMainTabHomeViewModel( | ||||
|     fun getContentRanking(sort: String = "매출") { | ||||
|         _isLoading.value = true | ||||
|         compositeDisposable.add( | ||||
|             contentRepository.getContentRanking( | ||||
|                 page = 1, | ||||
|                 size = 12, | ||||
|                 sortType = sort, | ||||
|             repository.getContentRanking( | ||||
|                 sort = sort, | ||||
|                 token = "Bearer ${SharedPreferenceManager.token}" | ||||
|             ) | ||||
|                 .subscribeOn(Schedulers.io()) | ||||
| @@ -124,7 +120,7 @@ class AudioContentMainTabHomeViewModel( | ||||
|                     { | ||||
|                         _isLoading.value = false | ||||
|                         if (it.success && it.data != null) { | ||||
|                             _rankContentLiveData.value = it.data.items | ||||
|                             _rankContentLiveData.value = it.data!! | ||||
|                         } else { | ||||
|                             if (it.message != null) { | ||||
|                                 _toastLiveData.postValue(it.message) | ||||
|   | ||||
| @@ -309,7 +309,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) { | ||||
|         viewModel { AuditionDetailViewModel(get()) } | ||||
|         viewModel { AuditionRoleDetailViewModel(get()) } | ||||
|         viewModel { AudioContentMainCreatorRankingViewModel(get()) } | ||||
|         viewModel { AudioContentMainTabHomeViewModel(get(), get()) } | ||||
|         viewModel { AudioContentMainTabHomeViewModel(get()) } | ||||
|         viewModel { AudioContentMainTabSeriesViewModel(get()) } | ||||
|         viewModel { AudioContentMainTabContentViewModel(get()) } | ||||
|         viewModel { AudioContentMainTabAlarmViewModel(get()) } | ||||
|   | ||||
| @@ -59,6 +59,7 @@ import kr.co.vividnext.sodalive.message.SelectMessageRecipientAdapter | ||||
| import kr.co.vividnext.sodalive.mypage.MyPageFragment | ||||
| import kr.co.vividnext.sodalive.settings.event.EventDetailActivity | ||||
| import kr.co.vividnext.sodalive.settings.notification.NotificationSettingsDialog | ||||
| import kr.co.vividnext.sodalive.user.login.LoginActivity | ||||
| import org.koin.android.ext.android.inject | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| @@ -197,20 +198,27 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl | ||||
|         ) as InputMethodManager | ||||
|  | ||||
|         checkPermissions() | ||||
|         pushTokenUpdate() | ||||
|         updatePidAndGaid() | ||||
|  | ||||
|         getEventPopup() | ||||
|         if ( | ||||
|             SharedPreferenceManager.token.isNotBlank() && | ||||
|             SharedPreferenceManager.token.length > 10 | ||||
|         ) { | ||||
|             pushTokenUpdate() | ||||
|             updatePidAndGaid() | ||||
|             getEventPopup() | ||||
|  | ||||
|         SharedPreferenceManager.registerOnSharedPreferenceChangeListener(preferenceChangeListener) | ||||
|         if (SharedPreferenceManager.isPlayerServiceRunning) { | ||||
|             initAndVisibleMiniPlayer() | ||||
|         } else { | ||||
|             deInitMiniPlayer() | ||||
|             SharedPreferenceManager.registerOnSharedPreferenceChangeListener( | ||||
|                 preferenceChangeListener | ||||
|             ) | ||||
|             if (SharedPreferenceManager.isPlayerServiceRunning) { | ||||
|                 initAndVisibleMiniPlayer() | ||||
|             } else { | ||||
|                 deInitMiniPlayer() | ||||
|             } | ||||
|  | ||||
|             handler.postDelayed({ executeDeeplink(intent) }, 500) | ||||
|         } | ||||
|  | ||||
|         handler.postDelayed({ executeDeeplink(intent) }, 500) | ||||
|  | ||||
|         onBackPressedDispatcher.addCallback { | ||||
|             if (isShowSearchBar) { | ||||
|                 hideSearchBar() | ||||
| @@ -276,7 +284,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl | ||||
|  | ||||
|     private fun executeDeeplink(intent: Intent) { | ||||
|         val bundle = intent.getBundleExtra(Constants.EXTRA_DATA) | ||||
|         if (bundle != null) { | ||||
|         if ( | ||||
|             SharedPreferenceManager.token.isNotBlank() && | ||||
|             SharedPreferenceManager.token.length > 10 && | ||||
|             bundle != null | ||||
|         ) { | ||||
|             try { | ||||
|                 val roomId = bundle.getLong(Constants.EXTRA_ROOM_ID) | ||||
|                 val channelId = bundle.getLong(Constants.EXTRA_USER_ID) | ||||
| @@ -547,9 +559,13 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl | ||||
|     } | ||||
|  | ||||
|     private fun getMemberInfo() { | ||||
|         Logger.e("memberInfo") | ||||
|         viewModel.getMemberInfo(context = applicationContext) { | ||||
|             notificationSettingsDialog.show(screenWidth) | ||||
|         if ( | ||||
|             SharedPreferenceManager.token.isNotBlank() && | ||||
|             SharedPreferenceManager.token.length > 10 | ||||
|         ) { | ||||
|             viewModel.getMemberInfo(context = applicationContext) { | ||||
|                 notificationSettingsDialog.show(screenWidth) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -666,6 +682,19 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     fun showLoginActivity() { | ||||
|         if (SharedPreferenceManager.token.isBlank()) { | ||||
|             val extras = intent.extras | ||||
|             startActivity( | ||||
|                 Intent(applicationContext, LoginActivity::class.java).apply { | ||||
|                     putExtra(Constants.EXTRA_DATA, extras) | ||||
|                     addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) | ||||
|                     addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) | ||||
|                 } | ||||
|             ) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     inner class AudioContentReceiver : BroadcastReceiver() { | ||||
|         override fun onReceive(context: Context?, intent: Intent?) { | ||||
|             val contentId = intent?.getLongExtra(Constants.EXTRA_AUDIO_CONTENT_ID, 0) | ||||
|   | ||||
| @@ -18,10 +18,8 @@ import kr.co.vividnext.sodalive.BuildConfig | ||||
| import kr.co.vividnext.sodalive.base.BaseActivity | ||||
| import kr.co.vividnext.sodalive.base.SodaDialog | ||||
| import kr.co.vividnext.sodalive.common.Constants | ||||
| import kr.co.vividnext.sodalive.common.SharedPreferenceManager | ||||
| import kr.co.vividnext.sodalive.databinding.ActivitySplashBinding | ||||
| import kr.co.vividnext.sodalive.main.MainActivity | ||||
| import kr.co.vividnext.sodalive.user.login.LoginActivity | ||||
|  | ||||
| @SuppressLint("CustomSplashScreen") | ||||
| class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding::inflate) { | ||||
| @@ -169,11 +167,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding | ||||
|                 null | ||||
|             } | ||||
|  | ||||
|         if (SharedPreferenceManager.token.isBlank()) { | ||||
|             showLoginActivity(extras) | ||||
|         } else { | ||||
|             showMainActivity(extras) | ||||
|         } | ||||
|         showMainActivity(extras) | ||||
|     } | ||||
|  | ||||
|     @OptIn(UnstableApi::class) | ||||
| @@ -190,18 +184,5 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding | ||||
|         }, 500) | ||||
|     } | ||||
|  | ||||
|     private fun showLoginActivity(extras: Bundle?) { | ||||
|         handler.postDelayed({ | ||||
|             startActivity( | ||||
|                 Intent(applicationContext, LoginActivity::class.java).apply { | ||||
|                     putExtra(Constants.EXTRA_DATA, extras) | ||||
|                     addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) | ||||
|                     addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) | ||||
|                 } | ||||
|             ) | ||||
|             finish() | ||||
|         }, 500) | ||||
|     } | ||||
|  | ||||
|     override fun setupView() {} | ||||
| } | ||||
|   | ||||
| @@ -24,8 +24,8 @@ | ||||
|  | ||||
|                 <ImageView | ||||
|                     android:id="@+id/iv_logo" | ||||
|                     android:layout_width="33.3dp" | ||||
|                     android:layout_height="33.3dp" | ||||
|                     android:layout_width="20dp" | ||||
|                     android:layout_height="20dp" | ||||
|                     android:layout_alignParentStart="true" | ||||
|                     android:layout_centerVertical="true" | ||||
|                     android:layout_marginEnd="8dp" | ||||
| @@ -34,15 +34,15 @@ | ||||
|  | ||||
|                 <TextView | ||||
|                     android:id="@+id/tv_title" | ||||
|                     android:layout_width="0dp" | ||||
|                     android:layout_width="wrap_content" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_centerVertical="true" | ||||
|                     android:layout_toStartOf="@+id/iv_alarm" | ||||
|                     android:layout_toEndOf="@+id/iv_logo" | ||||
|                     android:fontFamily="@font/gmarket_sans_bold" | ||||
|                     android:gravity="center_vertical" | ||||
|                     android:text="보이스온" | ||||
|                     android:textColor="@color/white" | ||||
|                     android:textSize="24sp" /> | ||||
|                     android:textSize="18sp" /> | ||||
|  | ||||
|                 <ImageView | ||||
|                     android:id="@+id/iv_alarm" | ||||
| @@ -51,7 +51,8 @@ | ||||
|                     android:layout_marginEnd="16dp" | ||||
|                     android:layout_toStartOf="@+id/iv_content_keep" | ||||
|                     android:contentDescription="@null" | ||||
|                     android:src="@drawable/ic_alarm_clock" /> | ||||
|                     android:src="@drawable/ic_alarm_clock" | ||||
|                     android:visibility="gone" /> | ||||
|  | ||||
|                 <ImageView | ||||
|                     android:id="@+id/iv_content_keep" | ||||
| @@ -59,7 +60,8 @@ | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_alignParentEnd="true" | ||||
|                     android:contentDescription="@null" | ||||
|                     android:src="@drawable/ic_content_keep" /> | ||||
|                     android:src="@drawable/ic_content_keep" | ||||
|                     android:visibility="gone" /> | ||||
|             </RelativeLayout> | ||||
|  | ||||
|             <RelativeLayout | ||||
| @@ -96,14 +98,16 @@ | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:layout_marginHorizontal="13.3dp" | ||||
|                 android:layout_marginTop="30dp" /> | ||||
|                 android:layout_marginTop="30dp" | ||||
|                 android:visibility="gone" /> | ||||
|  | ||||
|             <com.zhpan.indicator.IndicatorView | ||||
|                 android:id="@+id/indicator_banner" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:layout_gravity="center" | ||||
|                 android:layout_marginTop="6.7dp" /> | ||||
|                 android:layout_marginTop="6.7dp" | ||||
|                 android:visibility="gone" /> | ||||
|  | ||||
|             <RelativeLayout | ||||
|                 android:id="@+id/fl_search_channel" | ||||
| @@ -112,6 +116,7 @@ | ||||
|                 android:layout_marginHorizontal="13.3dp" | ||||
|                 android:layout_marginTop="30dp" | ||||
|                 android:background="@drawable/bg_round_corner_6_7_222222_bbbbbb" | ||||
|                 android:visibility="gone" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
|                 app:layout_constraintStart_toStartOf="parent" | ||||
|                 app:layout_constraintTop_toTopOf="parent"> | ||||
| @@ -138,13 +143,15 @@ | ||||
|             </RelativeLayout> | ||||
|  | ||||
|             <LinearLayout | ||||
|                 android:id="@+id/ll_category_container" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:layout_marginHorizontal="13.3dp" | ||||
|                 android:layout_marginTop="30dp" | ||||
|                 android:background="@drawable/bg_round_corner_5_3_222222" | ||||
|                 android:orientation="vertical" | ||||
|                 android:paddingVertical="13.3dp"> | ||||
|                 android:paddingVertical="13.3dp" | ||||
|                 android:visibility="gone"> | ||||
|  | ||||
|                 <LinearLayout | ||||
|                     android:layout_width="match_parent" | ||||
| @@ -612,7 +619,8 @@ | ||||
|         android:layout_marginBottom="16.7dp" | ||||
|         android:background="@drawable/bg_round_corner_44_3bb9f1" | ||||
|         android:orientation="horizontal" | ||||
|         android:padding="13.3dp"> | ||||
|         android:padding="13.3dp" | ||||
|         android:visibility="gone"> | ||||
|  | ||||
|         <ImageView | ||||
|             android:layout_width="20dp" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user