diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/playlist/detail/AudioContentPlaylistDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/playlist/detail/AudioContentPlaylistDetailActivity.kt index 7c2fefe..1d8c017 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/playlist/detail/AudioContentPlaylistDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/playlist/detail/AudioContentPlaylistDetailActivity.kt @@ -82,12 +82,11 @@ class AudioContentPlaylistDetailActivity : BaseActivity(FragmentLiveBinding::infl ) } + @UnstableApi fun enterLiveRoom(roomId: Long) { requireContext().startService( Intent(requireContext(), AudioContentPlayService::class.java).apply { @@ -674,6 +677,12 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl } ) + requireContext().startService( + Intent(requireContext(), AudioContentPlayerService::class.java).apply { + action = "STOP_SERVICE" + } + ) + val onEnterRoomSuccess = { requireActivity().runOnUiThread { val intent = Intent(requireContext(), LiveRoomActivity::class.java) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/now/all/LiveNowAllActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/now/all/LiveNowAllActivity.kt index 5aec400..48ee37d 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/now/all/LiveNowAllActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/now/all/LiveNowAllActivity.kt @@ -5,10 +5,12 @@ import android.content.Intent import android.os.Bundle import android.view.View import android.widget.Toast +import androidx.media3.common.util.UnstableApi import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService +import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService import kr.co.vividnext.sodalive.base.BaseActivity import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.GridSpacingItemDecoration @@ -94,6 +96,7 @@ class LiveNowAllActivity : BaseActivity( } } + @UnstableApi private fun enterLiveRoom(roomId: Long) { startService( Intent(applicationContext, AudioContentPlayService::class.java).apply { @@ -101,6 +104,12 @@ class LiveNowAllActivity : BaseActivity( } ) + startService( + Intent(applicationContext, AudioContentPlayerService::class.java).apply { + action = "STOP_SERVICE" + } + ) + val onEnterRoomSuccess = { runOnUiThread { val intent = Intent(applicationContext, LiveRoomActivity::class.java) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/network/TokenAuthenticator.kt b/app/src/main/java/kr/co/vividnext/sodalive/network/TokenAuthenticator.kt index 5cce62b..4831628 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/network/TokenAuthenticator.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/network/TokenAuthenticator.kt @@ -2,7 +2,9 @@ package kr.co.vividnext.sodalive.network import android.content.Context import android.content.Intent +import androidx.media3.common.util.UnstableApi import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService +import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.user.login.LoginActivity import okhttp3.Authenticator @@ -13,6 +15,7 @@ import okhttp3.Route class TokenAuthenticator( private val context: Context ) : Authenticator { + @UnstableApi override fun authenticate(route: Route?, response: Response): Request? { if (response.code == 401) { context.startService( @@ -20,6 +23,11 @@ class TokenAuthenticator( action = AudioContentPlayService.MusicAction.STOP.name } ) + context.startService( + Intent(context, AudioContentPlayerService::class.java).apply { + action = "STOP_SERVICE" + } + ) SharedPreferenceManager.clear() val intent = Intent(context, LoginActivity::class.java) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/settings/SettingsActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/settings/SettingsActivity.kt index 1e25250..1e39c7c 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/settings/SettingsActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/settings/SettingsActivity.kt @@ -7,9 +7,11 @@ import android.os.Bundle import android.view.View import android.widget.Toast import androidx.activity.viewModels +import androidx.media3.common.util.UnstableApi import com.google.android.gms.oss.licenses.OssLicensesMenuActivity import kr.co.vividnext.sodalive.BuildConfig import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService +import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService import kr.co.vividnext.sodalive.base.BaseActivity import kr.co.vividnext.sodalive.base.SodaDialog import kr.co.vividnext.sodalive.common.Constants @@ -157,6 +159,7 @@ class SettingsActivity : BaseActivity(ActivitySettingsB } } + @UnstableApi private fun logout() { startService( Intent(applicationContext, AudioContentPlayService::class.java).apply { @@ -164,6 +167,12 @@ class SettingsActivity : BaseActivity(ActivitySettingsB } ) + startService( + Intent(applicationContext, AudioContentPlayerService::class.java).apply { + action = "STOP_SERVICE" + } + ) + viewModel.logout { SharedPreferenceManager.clear() alarmViewModel.truncate() @@ -172,6 +181,7 @@ class SettingsActivity : BaseActivity(ActivitySettingsB } } + @UnstableApi private fun logoutAllDevice() { startService( Intent(applicationContext, AudioContentPlayService::class.java).apply { @@ -179,6 +189,12 @@ class SettingsActivity : BaseActivity(ActivitySettingsB } ) + startService( + Intent(applicationContext, AudioContentPlayerService::class.java).apply { + action = "STOP_SERVICE" + } + ) + viewModel.logoutAllDevice() { SharedPreferenceManager.clear() finishAffinity()