diff --git a/lib/widgets/app_lock.dart b/lib/widgets/app_lock.dart index a98cc8e48..c6ecde538 100644 --- a/lib/widgets/app_lock.dart +++ b/lib/widgets/app_lock.dart @@ -60,7 +60,7 @@ class AppLock extends State with WidgetsBindingObserver { return; } - bool unlock(String pincode) { + bool unlock(String? pincode) { final isCorrect = pincode == _pincode; if (isCorrect) { setState(() { diff --git a/lib/widgets/lock_screen.dart b/lib/widgets/lock_screen.dart index 8825f6cd8..decea531a 100644 --- a/lib/widgets/lock_screen.dart +++ b/lib/widgets/lock_screen.dart @@ -7,6 +7,7 @@ import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/widgets/app_lock.dart'; +import 'package:fluffychat/widgets/matrix.dart'; import 'package:fluffychat/widgets/theme_builder.dart'; class LockScreen extends StatefulWidget { @@ -22,6 +23,20 @@ class _LockScreenState extends State { bool _inputBlocked = false; final TextEditingController _textEditingController = TextEditingController(); + @override + void initState() { + super.initState(); + _checkLoggedIn(); + } + + void _checkLoggedIn() async { + if (Matrix.of(context).client.isLogged()) return; + + final appLock = AppLock.of(context); + await appLock.changePincode(null); + appLock.unlock(null); + } + void tryUnlock(BuildContext context) async { setState(() { _errorText = null;