@@ -19,7 +19,7 @@ abstract class AlarmManager {
1919class AndroidShockAlarmManager implements AlarmManager {
2020 @override
2121 AlarmManagerType ? type = AlarmManagerType .android;
22-
22+
2323 @override
2424 Future scheduleAlarms (List <Alarm > alarms) async {
2525 for (var alarm in alarms) {
@@ -30,9 +30,7 @@ class AndroidShockAlarmManager implements AlarmManager {
3030 }
3131
3232 @override
33- Future deleteAlarm (Alarm alarm) async {
34-
35- }
33+ Future deleteAlarm (Alarm alarm) async {}
3634
3735 @override
3836 Future <ErrorContainer <List <Alarm >>> getAlarms () async {
@@ -44,84 +42,89 @@ class AndroidShockAlarmManager implements AlarmManager {
4442 // Alarms are saved automatically, nothing has to be done here
4543 return true ;
4644 }
47-
45+
4846 @override
4947 Future <ErrorContainer <List <AlarmTone >>> getAlarmTones () async {
5048 return ErrorContainer ([], null );
5149 }
52-
50+
5351 @override
5452 Future <bool > saveTone (AlarmTone tone) async {
5553 return true ;
5654 }
57-
58- @override
59- Future deleteTone (AlarmTone tone) async {
6055
61- }
56+ @override
57+ Future deleteTone (AlarmTone tone) async {}
6258}
6359
6460class AlarmServerShockAlarmManager implements AlarmManager {
6561 @override
6662 AlarmManagerType ? type = AlarmManagerType .server;
6763
6864 @override
69- Future scheduleAlarms (List <Alarm > alarms) async {
70-
71- }
65+ Future scheduleAlarms (List <Alarm > alarms) async {}
7266
7367 @override
7468 Future deleteAlarm (Alarm alarm) async {
7569 Token ? userToken = AlarmListManager .getInstance ().getAlarmServerUserToken ();
76- if (userToken == null ) {
70+ if (userToken == null ) {
7771 return ;
7872 }
79- var response = await AlarmServerClient ().DeleteRequest (userToken, "/api/v1/alarms/" , jsonEncode (alarm.toAlarmServerAlarm (userToken.userId)));
80- if (response.statusCode == 200 ) {
73+ var response = await AlarmServerClient ().DeleteRequest (
74+ userToken,
75+ "/api/v1/alarms/" ,
76+ jsonEncode (await alarm.toAlarmServerAlarm (userToken.userId)));
77+ if (response.statusCode == 200 ) {
8178 return ;
8279 }
8380 }
84-
81+
8582 @override
8683 Future deleteTone (AlarmTone tone) async {
8784 Token ? userToken = AlarmListManager .getInstance ().getAlarmServerUserToken ();
88- if (userToken == null ) {
85+ if (userToken == null ) {
8986 return ;
9087 }
91- var response = await AlarmServerClient ().DeleteRequest (userToken, "/api/v1/tones/" , jsonEncode (tone.toAlarmServerJson ()));
92- if (response.statusCode == 200 ) {
88+ var response = await AlarmServerClient ().DeleteRequest (
89+ userToken, "/api/v1/tones/" , jsonEncode (tone.toAlarmServerJson ()));
90+ if (response.statusCode == 200 ) {
9391 return ;
9492 }
9593 }
9694
9795 @override
9896 Future <ErrorContainer <List <Alarm >>> getAlarms () async {
9997 Token ? userToken = AlarmListManager .getInstance ().getAlarmServerUserToken ();
100- if (userToken == null ) {
98+ if (userToken == null ) {
10199 return ErrorContainer ([], "Token is invalid." );
102100 }
103- ErrorContainer <List <Alarm >> alarms = await AlarmServerClient ().getAlarms (userToken);
101+ ErrorContainer <List <Alarm >> alarms =
102+ await AlarmServerClient ().getAlarms (userToken);
104103 return alarms;
105104 }
106105
107106 @override
108107 Future <ErrorContainer <List <AlarmTone >>> getAlarmTones () async {
109108 Token ? userToken = AlarmListManager .getInstance ().getAlarmServerUserToken ();
110- if (userToken == null ) {
109+ if (userToken == null ) {
111110 return ErrorContainer ([], "Token is invalid." );
112111 }
113- ErrorContainer <List <AlarmTone >> alarms = await AlarmServerClient ().getAlarmTones (userToken);
112+ ErrorContainer <List <AlarmTone >> alarms =
113+ await AlarmServerClient ().getAlarmTones (userToken);
114114 return alarms;
115115 }
116116
117117 @override
118118 Future <bool > saveAlarm (Alarm alarm) async {
119119 Token ? userToken = AlarmListManager .getInstance ().getAlarmServerUserToken ();
120- if (userToken == null ) {
120+ if (userToken == null ) {
121121 return false ;
122122 }
123- var response = await AlarmServerClient ().PostRequest (userToken, "/api/v1/alarms" , jsonEncode (alarm.toAlarmServerAlarm (userToken.userId)));
124- if (response.statusCode == 200 ) {
123+ var response = await AlarmServerClient ().PostRequest (
124+ userToken,
125+ "/api/v1/alarms" ,
126+ jsonEncode (await alarm.toAlarmServerAlarm (userToken.userId)));
127+ if (response.statusCode == 200 ) {
125128 alarm.serverId = jsonDecode (response.body)["CreatedId" ];
126129 AlarmListManager .getInstance ().saveAlarm (alarm, updateServer: false );
127130 return true ;
@@ -132,11 +135,12 @@ class AlarmServerShockAlarmManager implements AlarmManager {
132135 @override
133136 Future <bool > saveTone (AlarmTone tone) async {
134137 Token ? userToken = AlarmListManager .getInstance ().getAlarmServerUserToken ();
135- if (userToken == null ) {
138+ if (userToken == null ) {
136139 return false ;
137140 }
138- var response = await AlarmServerClient ().PostRequest (userToken, "/api/v1/tones" , jsonEncode (tone.toAlarmServerJson ()));
139- if (response.statusCode == 200 ) {
141+ var response = await AlarmServerClient ().PostRequest (
142+ userToken, "/api/v1/tones" , jsonEncode (tone.toAlarmServerJson ()));
143+ if (response.statusCode == 200 && response.body.startsWith ("{" )) {
140144 tone.serverId = jsonDecode (response.body)["CreatedId" ];
141145 AlarmListManager .getInstance ().saveTone (tone, updateServer: false );
142146 return true ;
@@ -145,10 +149,7 @@ class AlarmServerShockAlarmManager implements AlarmManager {
145149 }
146150}
147151
148- enum AlarmManagerType {
149- android,
150- server
151- }
152+ enum AlarmManagerType { android, server }
152153
153154class ErrorContainer <T > {
154155 T ? value;
@@ -157,10 +158,15 @@ class ErrorContainer<T> {
157158}
158159
159160class AlarmServerClient {
160- Future <ErrorContainer <Token >> loginOrRegister (String serverAddress, String username, String password, bool register) async {
161- Token t = Token (DateTime .now ().microsecondsSinceEpoch, "" , server: serverAddress);
161+ Future <ErrorContainer <Token >> loginOrRegister (String serverAddress,
162+ String username, String password, bool register) async {
163+ Token t =
164+ Token (DateTime .now ().microsecondsSinceEpoch, "" , server: serverAddress);
162165 t.flavor = TokenFlavor .alarmserver;
163- var response = await PostRequest (t, "/api/v1/user/${register ? "register" : "login" }" , jsonEncode ({"Username" : username, "Password" : password}));
166+ var response = await PostRequest (
167+ t,
168+ "/api/v1/user/${register ? "register" : "login" }" ,
169+ jsonEncode ({"Username" : username, "Password" : password}));
164170 if (response.statusCode != 200 ) {
165171 return ErrorContainer (null , response.body);
166172 }
@@ -175,11 +181,18 @@ class AlarmServerClient {
175181 return ErrorContainer (t, null );
176182 }
177183
178- Future <ErrorContainer <Token >> addOpenShockTokenToAccount (Token ? alarmServerToken, Token ? openShockToken) async {
179- if (alarmServerToken == null ) {
184+ Future <ErrorContainer <Token >> addOpenShockTokenToAccount (
185+ Token ? alarmServerToken, Token ? openShockToken) async {
186+ if (alarmServerToken == null ) {
180187 return ErrorContainer (null , "Token is invalid." );
181188 }
182- var response = await PostRequest (alarmServerToken, "/api/v1/tokens" , jsonEncode ({"Token" : openShockToken? .token, "Server" : openShockToken? .server}));
189+ var response = await PostRequest (
190+ alarmServerToken,
191+ "/api/v1/tokens" ,
192+ jsonEncode ({
193+ "Token" : openShockToken? .token,
194+ "Server" : openShockToken? .server
195+ }));
183196 if (response.statusCode != 200 ) {
184197 return ErrorContainer (null , response.body);
185198 }
@@ -189,7 +202,7 @@ class AlarmServerClient {
189202 }
190203
191204 Future <ErrorContainer <Token >> populateTokenForAccount (Token ? t) async {
192- if (t == null ) {
205+ if (t == null ) {
193206 return ErrorContainer (null , "Token is invalid." );
194207 }
195208 var response = await GetRequest (t, "/api/v1/tokens" );
@@ -204,36 +217,35 @@ class AlarmServerClient {
204217 }
205218
206219 Future <ErrorContainer <List <Alarm >>> getAlarms (Token ? t) async {
207- if (t == null ) {
220+ if (t == null ) {
208221 return ErrorContainer <List <Alarm >>(null , "Token is invalid." );
209222 }
210223 var response = await GetRequest (t, "/api/v1/alarms" );
211- if (response.statusCode != 200 ) {
224+ if (response.statusCode != 200 ) {
212225 return ErrorContainer (null , response.body);
213226 }
214227 print (response.body);
215228 var alarms = jsonDecode (response.body);
216229 List <Alarm > decodedAlarms = [];
217- for (var a in alarms) {
230+ for (var a in alarms) {
218231 // now decode every single alarm
219232 decodedAlarms.add (Alarm .fromAlarmServerAlarm (a));
220233 }
221234 return ErrorContainer (decodedAlarms, null );
222235 }
223236
224-
225237 Future <ErrorContainer <List <AlarmTone >>> getAlarmTones (Token t) async {
226- if (t == null ) {
238+ if (t == null ) {
227239 return ErrorContainer <List <AlarmTone >>(null , "Token is invalid." );
228240 }
229241 var response = await GetRequest (t, "/api/v1/tones" );
230- if (response.statusCode != 200 ) {
242+ if (response.statusCode != 200 ) {
231243 return ErrorContainer (null , response.body);
232244 }
233245 print (response.body);
234246 var alarms = jsonDecode (response.body);
235247 List <AlarmTone > decodedAlarmTones = [];
236- for (var a in alarms) {
248+ for (var a in alarms) {
237249 // now decode every single alarm
238250 decodedAlarmTones.add (AlarmTone .fromAlarmServerJson (a));
239251 }
@@ -250,19 +262,23 @@ class AlarmServerClient {
250262
251263 Future <http.Response > PostRequest (Token t, String path, String body) {
252264 var url = Uri .parse (t.server + path);
253- return http.post (url, headers: {
254- "Authorization" : "Bearer ${t .token }" ,
255- "Content-Type" : "application/json" ,
256- 'User-Agent' : GetUserAgent (),
257- }, body: body);
265+ return http.post (url,
266+ headers: {
267+ "Authorization" : "Bearer ${t .token }" ,
268+ "Content-Type" : "application/json" ,
269+ 'User-Agent' : GetUserAgent (),
270+ },
271+ body: body);
258272 }
259273
260274 Future <http.Response > DeleteRequest (Token t, String path, String body) {
261275 var url = Uri .parse (t.server + path);
262- return http.delete (url, headers: {
263- "Authorization" : "Bearer ${t .token }" ,
264- "Content-Type" : "application/json" ,
265- 'User-Agent' : GetUserAgent (),
266- }, body: body);
276+ return http.delete (url,
277+ headers: {
278+ "Authorization" : "Bearer ${t .token }" ,
279+ "Content-Type" : "application/json" ,
280+ 'User-Agent' : GetUserAgent (),
281+ },
282+ body: body);
267283 }
268- }
284+ }
0 commit comments