Skip to content

Commit ddf9bd7

Browse files
authored
Merge pull request #227 from amitamrutiya2210/issue-205-torrent-notification
added the feature to dismiss the notification when the torrent is deleted
2 parents 9a01437 + ec708b1 commit ddf9bd7

File tree

6 files changed

+163
-92
lines changed

6 files changed

+163
-92
lines changed

lib/Api/torrent_api.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'dart:convert';
22

3+
import 'package:awesome_notifications/awesome_notifications.dart';
34
import 'package:dio/dio.dart';
45
import 'package:flood_mobile/Model/torrent_content_model.dart';
56
import 'package:flood_mobile/Model/torrent_model.dart';
@@ -194,6 +195,7 @@ class TorrentApi {
194195
}
195196

196197
static Future<void> deleteTorrent({
198+
required List<int> id,
197199
required List<String> hashes,
198200
required bool deleteWithData,
199201
required BuildContext context,
@@ -222,6 +224,9 @@ class TorrentApi {
222224
);
223225
if (response.statusCode == 200) {
224226
print('--TORRENT DELETED--');
227+
id.forEach((element) {
228+
AwesomeNotifications().dismiss(element);
229+
});
225230
} else {}
226231
} catch (e) {
227232
print('--ERROR--');

lib/Components/delete_torrent_sheet.dart

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@ import 'package:flutter/material.dart';
66
import 'flood_snackbar.dart';
77

88
class DeleteTorrentSheet extends StatefulWidget {
9-
final int index;
9+
final int themeIndex;
1010
final List<TorrentModel> torrents;
11+
final List<int> indexes;
1112

12-
DeleteTorrentSheet({required this.torrents, required this.index});
13+
DeleteTorrentSheet(
14+
{required this.torrents,
15+
required this.indexes,
16+
required this.themeIndex});
1317

1418
@override
1519
_DeleteTorrentSheetState createState() => _DeleteTorrentSheetState();
@@ -52,7 +56,8 @@ class _DeleteTorrentSheetState extends State<DeleteTorrentSheet> {
5256
Checkbox(
5357
key: Key('Checkbox delete with data'),
5458
value: deleteWithData,
55-
activeColor: ThemeProvider.theme(widget.index).primaryColorDark,
59+
activeColor:
60+
ThemeProvider.theme(widget.themeIndex).primaryColorDark,
5661
onChanged: (bool? value) {
5762
setState(() {
5863
deleteWithData = value ?? false;
@@ -90,7 +95,7 @@ class _DeleteTorrentSheetState extends State<DeleteTorrentSheet> {
9095
child: Text(
9196
"No",
9297
style: TextStyle(
93-
color: ThemeProvider.theme(widget.index)
98+
color: ThemeProvider.theme(widget.themeIndex)
9499
.textTheme
95100
.bodyLarge
96101
?.color,
@@ -118,6 +123,7 @@ class _DeleteTorrentSheetState extends State<DeleteTorrentSheet> {
118123
hashes.add(element.hash);
119124
});
120125
TorrentApi.deleteTorrent(
126+
id: widget.indexes,
121127
hashes: hashes,
122128
deleteWithData: deleteWithData,
123129
context: context);
@@ -136,14 +142,14 @@ class _DeleteTorrentSheetState extends State<DeleteTorrentSheet> {
136142
shape: RoundedRectangleBorder(
137143
borderRadius: BorderRadius.circular(14.0),
138144
),
139-
backgroundColor:
140-
ThemeProvider.theme(widget.index).primaryColorDark,
145+
backgroundColor: ThemeProvider.theme(widget.themeIndex)
146+
.primaryColorDark,
141147
),
142148
child: Center(
143149
child: Text(
144150
"Yes",
145151
style: TextStyle(
146-
color: ThemeProvider.theme(widget.index)
152+
color: ThemeProvider.theme(widget.themeIndex)
147153
.textTheme
148154
.bodyLarge
149155
?.color,

0 commit comments

Comments
 (0)