parent
22f90b2e40
commit
70fe5a4441
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue