From ea83b722a68fbc4dfac4960af0e5fb83b0744a8b Mon Sep 17 00:00:00 2001 From: Finnley Somdahl <87634197+rebelonion@users.noreply.github.com> Date: Tue, 5 Dec 2023 00:25:37 -0600 Subject: [PATCH] no presence when not signed in --- .../ani/dantotsu/media/anime/ExoplayerView.kt | 67 +++++++++++-------- .../manga/mangareader/MangaReaderActivity.kt | 4 +- 2 files changed, 40 insertions(+), 31 deletions(-) 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(