Enable libolm
This commit is contained in:
parent
2c2f5408ee
commit
d388d8267c
|
@ -657,6 +657,9 @@ class I18n {
|
||||||
String get visibilityOfTheChatHistory =>
|
String get visibilityOfTheChatHistory =>
|
||||||
Intl.message("Visibility of the chat history");
|
Intl.message("Visibility of the chat history");
|
||||||
|
|
||||||
|
String get warningEncryptionInBeta => Intl.message(
|
||||||
|
"End to end encryption is currently in Beta! Use at your own risk!");
|
||||||
|
|
||||||
String get wednesday => Intl.message("Wednesday");
|
String get wednesday => Intl.message("Wednesday");
|
||||||
|
|
||||||
String get whoIsAllowedToJoinThisGroup =>
|
String get whoIsAllowedToJoinThisGroup =>
|
||||||
|
|
|
@ -162,9 +162,10 @@ extension LocalizedBody on Event {
|
||||||
break;
|
break;
|
||||||
case EventTypes.Encryption:
|
case EventTypes.Encryption:
|
||||||
localizedBody =
|
localizedBody =
|
||||||
I18n.of(context).activatedEndToEndEncryption(senderName) +
|
I18n.of(context).activatedEndToEndEncryption(senderName);
|
||||||
". " +
|
if (!room.client.encryptionEnabled) {
|
||||||
I18n.of(context).needPantalaimonWarning;
|
localizedBody += ". " + I18n.of(context).needPantalaimonWarning;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case EventTypes.Encrypted:
|
case EventTypes.Encrypted:
|
||||||
localizedBody = I18n.of(context).couldNotDecryptMessage;
|
localizedBody = I18n.of(context).couldNotDecryptMessage;
|
||||||
|
|
80
lib/views/app_info.dart
Normal file
80
lib/views/app_info.dart
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
import 'package:fluffychat/components/adaptive_page_layout.dart';
|
||||||
|
import 'package:fluffychat/components/matrix.dart';
|
||||||
|
import 'package:fluffychat/i18n/i18n.dart';
|
||||||
|
import 'package:fluffychat/views/chat_list.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:olm/olm.dart' as olm;
|
||||||
|
import 'package:fluffychat/utils/beautify_string_extension.dart';
|
||||||
|
|
||||||
|
class AppInfoView extends StatelessWidget {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return AdaptivePageLayout(
|
||||||
|
primaryPage: FocusPage.SECOND,
|
||||||
|
firstScaffold: ChatList(),
|
||||||
|
secondScaffold: AppInfo(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AppInfo extends StatelessWidget {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
Client client = Matrix.of(context).client;
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: Text("About FluffyChat"),
|
||||||
|
),
|
||||||
|
body: ListView(
|
||||||
|
children: <Widget>[
|
||||||
|
ListTile(
|
||||||
|
title: Text(I18n.of(context).yourOwnUsername + ":"),
|
||||||
|
subtitle: Text(client.userID),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("Homeserver:"),
|
||||||
|
subtitle: Text(client.homeserver),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("Supported versions:"),
|
||||||
|
subtitle: Text(client.matrixVersions.toString()),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("Lazy Loading members enabled:"),
|
||||||
|
subtitle: Text(client.lazyLoadMembers.toString()),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("Device name:"),
|
||||||
|
subtitle: Text(client.deviceName),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("Device ID:"),
|
||||||
|
subtitle: Text(client.deviceID),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("Encryption enabled:"),
|
||||||
|
subtitle: Text(client.encryptionEnabled.toString()),
|
||||||
|
),
|
||||||
|
if (client.encryptionEnabled)
|
||||||
|
Column(
|
||||||
|
children: <Widget>[
|
||||||
|
ListTile(
|
||||||
|
title: Text("Your public fingerprint key:"),
|
||||||
|
subtitle: Text(client.fingerprintKey.beautified),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("Your public identity key:"),
|
||||||
|
subtitle: Text(client.identityKey.beautified),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
title: Text("LibOlm version:"),
|
||||||
|
subtitle: Text(olm.get_library_version().join(".")),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -84,9 +84,18 @@ class _ChatEncryptionSettingsState extends State<ChatEncryptionSettings> {
|
||||||
ListTile(
|
ListTile(
|
||||||
trailing: Icon(Icons.info),
|
trailing: Icon(Icons.info),
|
||||||
subtitle: Text(
|
subtitle: Text(
|
||||||
I18n.of(context).needPantalaimonWarning,
|
Matrix.of(context).encryptionEnabled
|
||||||
|
? I18n.of(context).warningEncryptionInBeta
|
||||||
|
: I18n.of(context).needPantalaimonWarning,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
if (room.encrypted)
|
||||||
|
ListTile(
|
||||||
|
title: Text("Outbound MegOlm session ID:"),
|
||||||
|
subtitle: Text(
|
||||||
|
room.outboundGroupSession?.session_id()?.beautified ??
|
||||||
|
"None"),
|
||||||
|
),
|
||||||
Divider(height: 1),
|
Divider(height: 1),
|
||||||
if (room.encrypted)
|
if (room.encrypted)
|
||||||
ListTile(
|
ListTile(
|
||||||
|
|
|
@ -6,6 +6,7 @@ import 'package:fluffychat/components/content_banner.dart';
|
||||||
import 'package:fluffychat/components/matrix.dart';
|
import 'package:fluffychat/components/matrix.dart';
|
||||||
import 'package:fluffychat/i18n/i18n.dart';
|
import 'package:fluffychat/i18n/i18n.dart';
|
||||||
import 'package:fluffychat/utils/app_route.dart';
|
import 'package:fluffychat/utils/app_route.dart';
|
||||||
|
import 'package:fluffychat/views/app_info.dart';
|
||||||
import 'package:fluffychat/views/chat_list.dart';
|
import 'package:fluffychat/views/chat_list.dart';
|
||||||
import 'package:fluffychat/views/sign_up.dart';
|
import 'package:fluffychat/views/sign_up.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
|
@ -132,6 +133,16 @@ class _SettingsState extends State<Settings> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
ListTile(
|
||||||
|
leading: Icon(Icons.info),
|
||||||
|
title: Text(I18n.of(context).fluffychat),
|
||||||
|
onTap: () => Navigator.of(context).push(
|
||||||
|
AppRoute.defaultRoute(
|
||||||
|
context,
|
||||||
|
AppInfoView(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
leading: Icon(Icons.sentiment_very_satisfied),
|
leading: Icon(Icons.sentiment_very_satisfied),
|
||||||
title: Text(I18n.of(context).donate),
|
title: Text(I18n.of(context).donate),
|
||||||
|
|
Loading…
Reference in a new issue