|
|
@ -156,9 +156,14 @@ class ChatListController extends State<ChatList> {
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
void initState() {
|
|
|
|
_initReceiveSharingIntent();
|
|
|
|
_initReceiveSharingIntent();
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback(
|
|
|
|
|
|
|
|
(_) => waitForFirstSync().then((_) => checkBootstrap()),
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
super.initState();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void checkBootstrap() async {
|
|
|
|
if (!Matrix.of(context).client.encryptionEnabled) return;
|
|
|
|
if (!Matrix.of(context).client.encryptionEnabled) return;
|
|
|
|
await waitForFirstSync();
|
|
|
|
|
|
|
|
if ((Matrix.of(context).client.database as FlutterMatrixHiveStore)
|
|
|
|
if ((Matrix.of(context).client.database as FlutterMatrixHiveStore)
|
|
|
|
.get(SettingKeys.dontAskForBootstrapKey) ==
|
|
|
|
.get(SettingKeys.dontAskForBootstrapKey) ==
|
|
|
|
true) {
|
|
|
|
true) {
|
|
|
@ -166,16 +171,12 @@ class ChatListController extends State<ChatList> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
final crossSigning = await crossSigningCachedFuture;
|
|
|
|
final crossSigning = await crossSigningCachedFuture;
|
|
|
|
final needsBootstrap =
|
|
|
|
final needsBootstrap =
|
|
|
|
Matrix.of(context).client.encryption?.crossSigning?.enabled ==
|
|
|
|
Matrix.of(context).client.encryption?.crossSigning?.enabled == false ||
|
|
|
|
false ||
|
|
|
|
|
|
|
|
crossSigning == false;
|
|
|
|
crossSigning == false;
|
|
|
|
final isUnknownSession = Matrix.of(context).client.isUnknownSession;
|
|
|
|
final isUnknownSession = Matrix.of(context).client.isUnknownSession;
|
|
|
|
if (needsBootstrap || isUnknownSession) {
|
|
|
|
if (needsBootstrap || isUnknownSession) {
|
|
|
|
firstRunBootstrapAction();
|
|
|
|
firstRunBootstrapAction();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
super.initState();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|