From e807712cdc2ede5e2bd7f4917cf1e2ad82840a21 Mon Sep 17 00:00:00 2001 From: Aman Raj Singh Mourya Date: Sat, 6 Jul 2024 14:44:45 +0530 Subject: [PATCH] [mob][photos] Added button to logout from Lockscreen --- mobile/lib/ui/tools/lock_screen.dart | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/mobile/lib/ui/tools/lock_screen.dart b/mobile/lib/ui/tools/lock_screen.dart index 18c407bb32..15f9d0250b 100644 --- a/mobile/lib/ui/tools/lock_screen.dart +++ b/mobile/lib/ui/tools/lock_screen.dart @@ -9,6 +9,7 @@ import 'package:logging/logging.dart'; import "package:photos/core/configuration.dart"; import "package:photos/generated/l10n.dart"; import "package:photos/l10n/l10n.dart"; +import "package:photos/services/user_service.dart"; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/components/buttons/icon_button_widget.dart"; import 'package:photos/ui/tools/app_lock.dart'; @@ -60,6 +61,16 @@ class _LockScreenState extends State final colorTheme = getEnteColorScheme(context); final textTheme = getEnteTextTheme(context); return Scaffold( + appBar: AppBar( + elevation: 0, + leading: IconButton( + icon: const Icon(Icons.logout_outlined), + color: Theme.of(context).iconTheme.color, + onPressed: () { + _onLogoutTapped(context); + }, + ), + ), body: GestureDetector( onTap: () { isTimerRunning ? null : _showLockScreen(source: "tap"); @@ -194,6 +205,18 @@ class _LockScreenState extends State return shortestSide > 600 ? true : false; } + void _onLogoutTapped(BuildContext context) { + showChoiceActionSheet( + context, + title: S.of(context).areYouSureYouWantToLogout, + firstButtonLabel: S.of(context).yesLogout, + isCritical: true, + firstButtonOnTap: () async { + await UserService.instance.logout(context); + }, + ); + } + Future _autoLogoutOnMaxInvalidAttempts() async { _logger.info("Auto logout on max invalid attempts"); Navigator.of(context).popUntil((route) => route.isFirst);