Skip to content

Commit 5c2e30c

Browse files
committed
function capable of creting new notifications
1 parent 9a19b47 commit 5c2e30c

1 file changed

Lines changed: 26 additions & 19 deletions

File tree

AgendappDEMO/lib/Notification/notification_page.dart

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:flutter/cupertino.dart';
22
import 'package:flutter/material.dart';
3+
import 'package:flutter/rendering.dart';
34
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
45
import 'package:flutter_login_page/Model/Talk.dart';
56
import 'package:flutter_login_page/Notification/notification_data.dart';
@@ -95,47 +96,53 @@ class _NotificationPageState extends State<NotificationPage> {
9596
}
9697

9798
//create a notification
98-
Future<void> createTalkNotification(Time timeTalk,Day dayTalk,String titleTalk,String descriptionTalk) async{
99-
100-
final title = titleTalk;
101-
final time = timeTalk;
102-
final day = dayTalk;
103-
final description = 'Day: Hour: ';
99+
Future<void> createTalkNotification( Talk talk/*Time timeTalk,Day dayTalk,String titleTalk,String descriptionTalk*/) async{
104100

101+
final title = talk.name;
102+
final description = weakToString(talk.dateInitial.weekday.toString()) + " " +
103+
talk.dateInitial.day.toString() + " " + monthToString(talk.dateInitial.month.toString()) + " - " +
104+
hourToString(talk.dateInitial.hour.toString())+ "h" + minToString(talk.dateFinal.minute.toString());
105+
final oldTime= talk.dateInitial;
106+
final newTime= talk.dateInitial.subtract(new Duration(minutes: 15));
107+
final time = Time(newTime.hour,newTime.minute);
108+
final day= Day(talk.dateInitial.day);
105109

106110
final notificationData = new NotificationData(title, description,time,day); //todo change to weekly
107-
if(notificationData != null){
108-
print('nulo');
111+
112+
//reset time bc idk if the element is passed by reference
113+
talk.dateInitial = oldTime;
114+
115+
if(notificationData != null) {
109116
final notificationList = await _notificationPlugin.getScheduleNotifications();
110-
int id =0;
111-
for(var i=0; i< 100; i++){
112-
bool exists =_notificationPlugin.checkIfIdExists(notificationList,i);
113-
if(!exists){
114-
id=i;
115-
}
117+
int id = talk.id;
118+
bool exists = _notificationPlugin.checkIfIdExists(notificationList, id);
119+
if (exists) {
120+
return "cant create noptification";
116121
}
122+
}
117123
await _notificationPlugin.showWeeklyAtDayTime(
118124
notificationData.time,
119125
notificationData.day,
120-
id,
126+
talk.id,
121127
notificationData.title,
122128
notificationData.description
123129
);
124130
refreshNotification();
125131
}
126132

127-
}
128-
129133
//generate all talk notifications
130134
void generateAllNotifications() {
131135
int i=0;
132136
widget.talkList.forEach((element) =>({
133137
if(element.selected && element.notify){
138+
//todo
134139
//element.dateInitial.subtract(new Duration(minutes: 15)) //convert time //esta linguagem e so autista...
135-
_notificationPlugin.showWeeklyAtDayTime(Time(element.dateInitial.hour, element.dateInitial.minute),Day(element.dateInitial.day),element.id, element.name,
140+
_notificationPlugin.showWeeklyAtDayTime(
141+
Time(element.dateInitial.hour, element.dateInitial.minute), //time
142+
Day(element.dateInitial.day),element.id, //day
143+
element.name, //id
136144
(weakToString(element.dateInitial.weekday.toString()) +" "+ element.dateInitial.day.toString() + " " +monthToString(element.dateInitial.month.toString()) + " - " + hourToString(element.dateInitial.hour.toString()) + "h" + minToString(element.dateInitial.minute.toString()) ))
137145
}
138-
//createTalkNotification(Time(element.dateInitial.hour, element.dateInitial.minute), Day(element.dateInitial.day), element.name, element.information)
139146
}
140147
));
141148
}

0 commit comments

Comments
 (0)