diff --git a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt index f45d5740..88cf276e 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt @@ -998,36 +998,43 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { preloading = false val context = this - lifecycleScope.launch { - val presence = RPC.createPresence(RPC.Companion.RPCData( - applicationId = Discord.application_Id, - type = RPC.Type.WATCHING, - activityName = media.userPreferredName, - details = ep.title?.takeIf { it.isNotEmpty() } ?: getString( - R.string.episode_num, - ep.number - ), - state = "Episode : ${ep.number}/${media.anime?.totalEpisodes ?: "??"}", - largeImage = media.cover?.let { RPC.Link(media.userPreferredName, it) }, - smallImage = RPC.Link( - "Dantotsu", - Discord.small_Image - ), - buttons = mutableListOf( - RPC.Link(getString(R.string.view_anime), media.shareLink ?: ""), - RPC.Link( - "Stream on Dantotsu", - "https://github.com/rebelonion/Dantotsu/" + if (isOnline(context) && Discord.token != null) { + lifecycleScope.launch { + val presence = RPC.createPresence(RPC.Companion.RPCData( + applicationId = Discord.application_Id, + type = RPC.Type.WATCHING, + activityName = media.userPreferredName, + details = ep.title?.takeIf { it.isNotEmpty() } ?: getString( + R.string.episode_num, + ep.number + ), + state = "Episode : ${ep.number}/${media.anime?.totalEpisodes ?: "??"}", + largeImage = media.cover?.let { + RPC.Link( + media.userPreferredName, + it + ) + }, + smallImage = RPC.Link( + "Dantotsu", + Discord.small_Image + ), + buttons = mutableListOf( + RPC.Link(getString(R.string.view_anime), media.shareLink ?: ""), + RPC.Link( + "Stream on Dantotsu", + "https://github.com/rebelonion/Dantotsu/" + ) ) ) - ) - ) + ) - val intent = Intent(context, DiscordService::class.java).apply { - putExtra("presence", presence) + val intent = Intent(context, DiscordService::class.java).apply { + putExtra("presence", presence) + } + DiscordServiceRunningSingleton.running = true + startService(intent) } - DiscordServiceRunningSingleton.running = true - startService(intent) } updateProgress() @@ -1426,9 +1433,11 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { exoPlayer.release() VideoCache.release() mediaSession?.release() - val stopIntent = Intent(this, DiscordService::class.java) - DiscordServiceRunningSingleton.running = false - stopService(stopIntent) + if(DiscordServiceRunningSingleton.running) { + val stopIntent = Intent(this, DiscordService::class.java) + DiscordServiceRunningSingleton.running = false + stopService(stopIntent) + } } diff --git a/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt b/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt index f39497a1..5040f08c 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt @@ -124,7 +124,7 @@ class MangaReaderActivity : AppCompatActivity() { override fun onDestroy() { mangaCache.clear() - if (isOnline(baseContext)) { //TODO: + if (DiscordServiceRunningSingleton.running) { DiscordServiceRunningSingleton.running = false val stopIntent = Intent(this, DiscordService::class.java) stopService(stopIntent) @@ -329,7 +329,7 @@ class MangaReaderActivity : AppCompatActivity() { chaptersTitleArr.getOrNull(currentChapterIndex - 1) ?: "" applySettings() val context = this - if (isOnline(context)) { + if (isOnline(context) && Discord.token != null) { lifecycleScope.launch { val presence = RPC.createPresence( RPC.Companion.RPCData(