Skip to content

Commit 59002f6

Browse files
committed
feat: progress bar in rpc
1 parent da061b5 commit 59002f6

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

lib/Screens/Info/Tabs/Watch/Anime/AnimeWatchScreen.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,11 @@ class AnimeWatchScreenState extends BaseWatchScreen<AnimeWatchScreen> {
181181
}
182182

183183
void updateEpisodeDetails(Map<String, Episode> episodeList) {
184+
widget.mediaData.anime?.totalEpisodes = episodeList.length;
185+
widget.mediaData.anime?.episodes = episodeList;
186+
widget.mediaData.anime?.fillerEpisodes = _viewModel.fillerEpisodesList.value;
187+
widget.mediaData.anime?.kitsuEpisodes = _viewModel.kitsuEpisodeList.value;
188+
widget.mediaData.anime?.anifyEpisodes = _viewModel.anifyEpisodeList.value;
184189
episodeList.forEach((number, episode) {
185190
episode.title = _viewModel.anifyEpisodeList.value?[number]?.title ??
186191
_viewModel.kitsuEpisodeList.value?[number]?.title ??

lib/api/Discord/Discord.dart

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,15 @@ class _DiscordController extends GetxController {
7878
showCustomBottomDialog(context, dialog);
7979
}
8080

81-
Future<void> setRpc(media mediaData, Episode episode, String total) async {
81+
Future<void> setRpc(media mediaData, Episode episode) async {
8282
var isAnime = mediaData.anime != null;
83+
var totalFromSource = isAnime ? mediaData.anime!.episodes?.values.last.number : mediaData.manga!.chapters?.values.last.number;
84+
var total = isAnime ? mediaData.anime?.totalEpisodes.toString() : mediaData.manga?.totalChapters.toString() ?? totalFromSource ?? "??";
85+
DateTime startTime = DateTime.now();
86+
DateTime endTime = startTime.add(const Duration(minutes: 24));
87+
int startTimestamp = startTime.millisecondsSinceEpoch;
88+
int endTimestamp = endTime.millisecondsSinceEpoch;
89+
8390
try {
8491
final Map<String, dynamic> rpc = {
8592
'op': 3,
@@ -91,7 +98,10 @@ class _DiscordController extends GetxController {
9198
'details': episode.title,
9299
'state': '${isAnime ? "Episode" : "Chapter"}: ${episode.number}/$total',
93100
'type': 3,
94-
'timestamps': null,
101+
"timestamps": {
102+
"end": endTimestamp,
103+
"start": startTimestamp
104+
},
95105
'assets': {
96106
'large_image': await mediaData.cover?.getDiscordUrl(),
97107
'large_text': mediaData.userPreferredName,

0 commit comments

Comments
 (0)