feat: use onInitStateChanged in login function to redirect to chat view quicker (#1696)

pull/1593/head
ggurdin 9 months ago committed by GitHub
parent 1e40e1d1a6
commit 8dd74d7e8a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3,6 +3,7 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/pangea/common/constants/local.key.dart';
@ -189,6 +190,13 @@ class LoginController extends State<Login> {
password: passwordController.text.trim(),
// Pangea#
initialDeviceDisplayName: PlatformInfos.clientName,
// #Pangea
onInitStateChanged: (state) {
if (state == InitState.settingUpEncryption) {
context.go("/rooms");
}
},
// Pangea#
);
MatrixState.pangeaController.pStoreService
.save(PLocalKey.loginType, 'password');

@ -123,8 +123,10 @@ class UserController extends BaseController {
data: {},
);
} finally {
if (!_profileCompleter!.isCompleted) {
_profileCompleter!.complete();
}
}
return _profileCompleter!.future;
}

@ -37,6 +37,9 @@ Future<Result<T>> showFutureLoadingDialog<T>({
}
}
// #Pangea
if (context.mounted) {
// Pangea#
final result = await showAdaptiveDialog<Result<T>>(
context: context,
barrierDismissible: barrierDismissible,
@ -54,6 +57,14 @@ Future<Result<T>> showFutureLoadingDialog<T>({
);
}
// #Pangea
return Result.error(
Exception('FutureDialog canceled'),
StackTrace.current,
);
// Pangea#
}
class LoadingDialog<T> extends StatefulWidget {
final String? title;
final String? backLabel;

Loading…
Cancel
Save