diff --git a/lib/pages/settings_security/settings_security.dart b/lib/pages/settings_security/settings_security.dart index b8aa2584f..e55d4c3c2 100644 --- a/lib/pages/settings_security/settings_security.dart +++ b/lib/pages/settings_security/settings_security.dart @@ -102,30 +102,47 @@ class SettingsSecurityController extends State { if (mxid == null || mxid.isEmpty || mxid != supposedMxid) { return; } - final input = await showTextInputDialog( - useRootNavigator: false, + // #Pangea + // final input = await showTextInputDialog( + // useRootNavigator: false, + // context: context, + // title: L10n.of(context).pleaseEnterYourPassword, + // okLabel: L10n.of(context).ok, + // cancelLabel: L10n.of(context).cancel, + // isDestructive: true, + // obscureText: true, + // hintText: '******', + // minLines: 1, + // maxLines: 1, + // ); + // if (input == null) return; + // await showFutureLoadingDialog( + // context: context, + // future: () => Matrix.of(context).client.deactivateAccount( + // auth: AuthenticationPassword( + // password: input, + // identifier: AuthenticationUserIdentifier( + // user: Matrix.of(context).client.userID!, + // ), + // ), + // ), + // ); + // Pangea# + + final resp = await showFutureLoadingDialog( context: context, - title: L10n.of(context).pleaseEnterYourPassword, - okLabel: L10n.of(context).ok, - cancelLabel: L10n.of(context).cancel, - isDestructive: true, - obscureText: true, - hintText: '******', - minLines: 1, - maxLines: 1, - ); - if (input == null) return; - await showFutureLoadingDialog( - context: context, - future: () => Matrix.of(context).client.deactivateAccount( - auth: AuthenticationPassword( - password: input, - identifier: AuthenticationUserIdentifier( - user: Matrix.of(context).client.userID!, + delay: false, + future: () => + Matrix.of(context).client.uiaRequestBackground( + (auth) => Matrix.of(context).client.deactivateAccount( + auth: auth, + ), ), - ), - ), ); + + if (!resp.isError) { + await Matrix.of(context).client.logout(); + } } void showBootstrapDialog(BuildContext context) async {