From ad7a5b36f13489d2f0e3799baa73f146c18f033c Mon Sep 17 00:00:00 2001 From: klaus Date: Thu, 31 Aug 2023 20:04:33 +0900 Subject: [PATCH] =?UTF-8?q?=ED=91=B8=EC=8B=9C,=20=EB=94=A5=EB=A7=81?= =?UTF-8?q?=ED=81=AC=20-=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=ED=83=AD?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=9D=B4=EB=8F=99=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EC=95=84=EB=8F=84=20=EC=8B=A4=ED=96=89=EB=90=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vividnext/sodalive/live/LiveFragment.kt | 20 ---- .../vividnext/sodalive/main/MainActivity.kt | 107 +++++++++--------- 2 files changed, 55 insertions(+), 72 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt index 001ac64..613439a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt @@ -21,7 +21,6 @@ import com.zhpan.indicator.enums.IndicatorSlideMode import com.zhpan.indicator.enums.IndicatorStyle import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService -import kr.co.vividnext.sodalive.audio_content.detail.AudioContentDetailActivity import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.LoadingDialog @@ -95,25 +94,6 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl message = "라이브를 불러오고 있습니다." viewModel.getSummary() - - try { - val roomId = requireArguments().getLong(Constants.EXTRA_ROOM_ID) - val channelId = requireArguments().getLong(Constants.EXTRA_USER_ID) - val audioContentId = requireArguments().getLong(Constants.EXTRA_AUDIO_CONTENT_ID) - - if (roomId > 0) { - enterLiveRoom(roomId) - } else if (channelId > 0) { - val nextIntent = Intent(requireContext(), UserProfileActivity::class.java) - nextIntent.putExtra(Constants.EXTRA_USER_ID, channelId) - startActivity(nextIntent) - } else if (audioContentId > 0) { - val nextIntent = Intent(requireContext(), AudioContentDetailActivity::class.java) - nextIntent.putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, audioContentId) - startActivity(nextIntent) - } - } catch (_: IllegalStateException) { - } } private fun setupView() { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt index 4a6b4e3..fc01f1f 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt @@ -52,40 +52,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) - - val bundle = intent.getBundleExtra(Constants.EXTRA_DATA) - if (bundle != null) { - try { - val roomId = bundle.getLong(Constants.EXTRA_ROOM_ID) - val channelId = bundle.getLong(Constants.EXTRA_USER_ID) - val audioContentId = bundle.getLong(Constants.EXTRA_AUDIO_CONTENT_ID) - val isLiveReservation = bundle.getBoolean(Constants.EXTRA_LIVE_RESERVATION_RESPONSE) - - if (roomId > 0) { - if (isLiveReservation) { - liveFragment.reservationRoom(roomId) - } else { - handler.postDelayed({ - liveFragment.enterLiveRoom(roomId) - }, 500) - } - } else if (channelId > 0) { - val nextIntent = Intent(applicationContext, UserProfileActivity::class.java) - nextIntent.putExtra(Constants.EXTRA_USER_ID, channelId) - startActivity(nextIntent) - } else if (audioContentId > 0) { - val nextIntent = Intent( - applicationContext, - AudioContentDetailActivity::class.java - ) - nextIntent.putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, audioContentId) - startActivity(nextIntent) - } - } catch (_: IllegalStateException) { - } - } - - checkReceivedMessage(intent) + executeDeeplink() } override fun onCreate(savedInstanceState: Bundle?) { @@ -95,7 +62,8 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl getMemberInfo() getEventPopup() - checkReceivedMessage(intent) + + handler.postDelayed({ executeDeeplink() }, 500) } override fun onResume() { @@ -115,25 +83,9 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl unregisterReceiver(audioContentReceiver) } - private fun checkReceivedMessage(intent: Intent) { - handler.postDelayed({ - val messageId = - intent.getBundleExtra(Constants.EXTRA_DATA)?.getLong(Constants.EXTRA_MESSAGE_ID) - if (messageId != null && messageId > 0) { - changeFragment(MainViewModel.CurrentTab.MESSAGE) - setTabSelected(binding.tabLive, isSelected = false) - setTabSelected(binding.tabExplorer, isSelected = false) - setTabSelected(binding.tabMessage, isSelected = true) - setTabSelected(binding.tabMy, isSelected = false) - } - }, 500) - } - override fun setupView() { loadingDialog = LoadingDialog(this, layoutInflater) - liveFragment = LiveFragment().apply { - arguments = intent.getBundleExtra(Constants.EXTRA_DATA) - } + liveFragment = LiveFragment() notificationSettingsDialog = NotificationSettingsDialog( this, @@ -149,6 +101,57 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl setupBottomTabLayout() } + private fun executeDeeplink() { + val bundle = intent.getBundleExtra(Constants.EXTRA_DATA) + if (bundle != null) { + try { + val roomId = bundle.getLong(Constants.EXTRA_ROOM_ID) + val channelId = bundle.getLong(Constants.EXTRA_USER_ID) + val messageId = bundle.getLong(Constants.EXTRA_MESSAGE_ID) + val contentId = bundle.getLong(Constants.EXTRA_AUDIO_CONTENT_ID) + val isLiveReservation = bundle.getBoolean(Constants.EXTRA_LIVE_RESERVATION_RESPONSE) + + if (roomId > 0) { + changeFragment(MainViewModel.CurrentTab.LIVE) + setTabSelected(binding.tabLive, isSelected = true) + setTabSelected(binding.tabExplorer, isSelected = false) + setTabSelected(binding.tabMessage, isSelected = false) + setTabSelected(binding.tabMy, isSelected = false) + setTabSelected(binding.tabContent, isSelected = false) + + handler.postDelayed({ + if (isLiveReservation) { + liveFragment.reservationRoom(roomId) + } else { + liveFragment.enterLiveRoom(roomId) + } + }, 500) + } else if (channelId > 0) { + val nextIntent = Intent(applicationContext, UserProfileActivity::class.java) + nextIntent.putExtra(Constants.EXTRA_USER_ID, channelId) + startActivity(nextIntent) + } else if (contentId > 0) { + val nextIntent = Intent( + applicationContext, + AudioContentDetailActivity::class.java + ) + nextIntent.putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, contentId) + startActivity(nextIntent) + } else if (messageId > 0) { + handler.postDelayed({ + changeFragment(MainViewModel.CurrentTab.MESSAGE) + setTabSelected(binding.tabLive, isSelected = false) + setTabSelected(binding.tabExplorer, isSelected = false) + setTabSelected(binding.tabMessage, isSelected = true) + setTabSelected(binding.tabMy, isSelected = false) + setTabSelected(binding.tabContent, isSelected = false) + }, 500) + } + } catch (_: IllegalStateException) { + } + } + } + private fun setupBottomTabLayout() { setupTab( binding = binding.tabContent,