Implement Webuntis HTTP Api and Display
This commit is contained in:
47
lib/dataOld/incommingPackets/talkContactsPacket.dart
Normal file
47
lib/dataOld/incommingPackets/talkContactsPacket.dart
Normal file
@ -0,0 +1,47 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:jiffy/jiffy.dart';
|
||||
|
||||
import '../incomingPacket.dart';
|
||||
|
||||
class TalkContact {
|
||||
String name;
|
||||
String lastMessage;
|
||||
String lastTime;
|
||||
String profilePicture;
|
||||
bool unreadMessages;
|
||||
bool isGroup;
|
||||
String userToken;
|
||||
|
||||
TalkContact(this.name, this.lastMessage, this.lastTime, this.profilePicture, this.unreadMessages, this.isGroup, this.userToken);
|
||||
}
|
||||
|
||||
class TalkContactsPaket extends IncomingPacket {
|
||||
TalkContactsPaket() : super('talkContacts');
|
||||
|
||||
List<TalkContact> _contacts = List<TalkContact>.empty(growable: true);
|
||||
|
||||
List<TalkContact> get contacts => _contacts;
|
||||
|
||||
@override
|
||||
void handle(data) {
|
||||
_contacts = List<TalkContact>.empty(growable: true);
|
||||
//data["ocs"]["data"].sort((a, b) => a['lastActivity'].compareTo(b['lastActivity']));
|
||||
|
||||
data.forEach((value) async {
|
||||
await Jiffy.locale("de");
|
||||
_contacts.add(
|
||||
TalkContact(
|
||||
value['displayName'],
|
||||
value['lastMessage']['message'],
|
||||
Jiffy(DateTime.fromMillisecondsSinceEpoch(value['lastActivity'] * 1000)).fromNow(),
|
||||
value['name'] != null ? "https://cloud.marianum-fulda.de/avatar/${value['name']}/128" : "",
|
||||
value['unreadMessages'] > 0,
|
||||
value['type'] != 1,
|
||||
value['token']
|
||||
)
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user