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