From a46a3a3c1d95a134a829be2e05e4264ddc8c9c8c Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Sat, 9 May 2020 11:54:10 +0200 Subject: [PATCH] Fix #54 --- lib/views/chat_encryption_settings.dart | 126 ++++++++++++------------ pubspec.lock | 23 ++--- 2 files changed, 69 insertions(+), 80 deletions(-) diff --git a/lib/views/chat_encryption_settings.dart b/lib/views/chat_encryption_settings.dart index 282e157..8c9b76e 100644 --- a/lib/views/chat_encryption_settings.dart +++ b/lib/views/chat_encryption_settings.dart @@ -58,75 +58,71 @@ class _ChatEncryptionSettingsState extends State { return Center(child: CircularProgressIndicator()); } final List deviceKeys = snapshot.data; - return Expanded( - child: ListView.separated( - separatorBuilder: (BuildContext context, int i) => - Divider(height: 1), - itemCount: deviceKeys.length, - itemBuilder: (BuildContext context, int i) => Column( - mainAxisSize: MainAxisSize.min, - children: [ - if (i == 0 || - deviceKeys[i].userId != deviceKeys[i - 1].userId) - Material( - child: ListTile( - leading: Avatar( - room - .getUserByMXIDSync(deviceKeys[i].userId) - .avatarUrl, - room - .getUserByMXIDSync(deviceKeys[i].userId) - .calcDisplayname(), - ), - title: Text(room + return ListView.separated( + separatorBuilder: (BuildContext context, int i) => + Divider(height: 1), + itemCount: deviceKeys.length, + itemBuilder: (BuildContext context, int i) => Column( + mainAxisSize: MainAxisSize.min, + children: [ + if (i == 0 || + deviceKeys[i].userId != deviceKeys[i - 1].userId) + Material( + child: ListTile( + leading: Avatar( + room .getUserByMXIDSync(deviceKeys[i].userId) - .calcDisplayname()), - subtitle: Text(deviceKeys[i].userId), + .avatarUrl, + room + .getUserByMXIDSync(deviceKeys[i].userId) + .calcDisplayname(), ), - elevation: 2, + title: Text(room + .getUserByMXIDSync(deviceKeys[i].userId) + .calcDisplayname()), + subtitle: Text(deviceKeys[i].userId), ), - CheckboxListTile( - title: Text( - "${deviceKeys[i].unsigned["device_display_name"] ?? L10n.of(context).unknownDevice} - ${deviceKeys[i].deviceId}", - style: TextStyle( - color: deviceKeys[i].blocked - ? Colors.red - : deviceKeys[i].verified - ? Colors.green - : Colors.orange), - ), - subtitle: Text( - deviceKeys[i] - .keys["ed25519:${deviceKeys[i].deviceId}"] - .beautified, - style: TextStyle( - color: Theme.of(context) - .textTheme - .bodyText2 - .color), - ), - value: deviceKeys[i].verified, - onChanged: (bool newVal) { - if (newVal == true) { - if (deviceKeys[i].blocked) { - deviceKeys[i].setBlocked( - false, Matrix.of(context).client); - } - deviceKeys[i] - .setVerified(true, Matrix.of(context).client); - } else { - if (deviceKeys[i].verified) { - deviceKeys[i].setVerified( - false, Matrix.of(context).client); - } - deviceKeys[i] - .setBlocked(true, Matrix.of(context).client); - } - setState(() => null); - }, + elevation: 2, ), - ], - ), + CheckboxListTile( + title: Text( + "${deviceKeys[i].unsigned["device_display_name"] ?? L10n.of(context).unknownDevice} - ${deviceKeys[i].deviceId}", + style: TextStyle( + color: deviceKeys[i].blocked + ? Colors.red + : deviceKeys[i].verified + ? Colors.green + : Colors.orange), + ), + subtitle: Text( + deviceKeys[i] + .keys["ed25519:${deviceKeys[i].deviceId}"] + .beautified, + style: TextStyle( + color: + Theme.of(context).textTheme.bodyText2.color), + ), + value: deviceKeys[i].verified, + onChanged: (bool newVal) { + if (newVal == true) { + if (deviceKeys[i].blocked) { + deviceKeys[i] + .setBlocked(false, Matrix.of(context).client); + } + deviceKeys[i] + .setVerified(true, Matrix.of(context).client); + } else { + if (deviceKeys[i].verified) { + deviceKeys[i].setVerified( + false, Matrix.of(context).client); + } + deviceKeys[i] + .setBlocked(true, Matrix.of(context).client); + } + setState(() => null); + }, + ), + ], ), ); }, diff --git a/pubspec.lock b/pubspec.lock index 30052a1..77f6bd0 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -64,13 +64,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.3" - clock: - dependency: transitive - description: - name: clock - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" collection: dependency: transitive description: @@ -120,13 +113,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.3" - fake_async: - dependency: transitive - description: - name: fake_async - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" famedlysdk: dependency: "direct main" description: @@ -446,7 +432,7 @@ packages: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.6.4" path_drawing: dependency: transitive description: @@ -524,6 +510,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.4.2" + quiver: + dependency: transitive + description: + name: quiver + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" receive_sharing_intent: dependency: "direct main" description: