lock_screen.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter/widgets.dart';
  3. import 'package:logging/logging.dart';
  4. import 'package:photos/ui/app_lock.dart';
  5. import 'package:photos/ui/common_elements.dart';
  6. import 'package:photos/utils/auth_util.dart';
  7. class LockScreen extends StatefulWidget {
  8. LockScreen({Key key}) : super(key: key);
  9. @override
  10. _LockScreenState createState() => _LockScreenState();
  11. }
  12. class _LockScreenState extends State<LockScreen> {
  13. final _logger = Logger("LockScreen");
  14. @override
  15. void initState() {
  16. _showLockScreen();
  17. super.initState();
  18. }
  19. @override
  20. Widget build(BuildContext context) {
  21. return Scaffold(
  22. body: Center(
  23. child: Container(
  24. width: double.infinity,
  25. height: 64,
  26. padding: const EdgeInsets.fromLTRB(80, 0, 80, 0),
  27. child: button(
  28. "unlock",
  29. fontSize: 18,
  30. onPressed: () async {
  31. _showLockScreen();
  32. },
  33. ),
  34. ),
  35. ),
  36. );
  37. }
  38. Future<void> _showLockScreen() async {
  39. _logger.info("Showing lockscreen");
  40. try {
  41. final result = await requestAuthentication(
  42. "please authenticate to view your memories");
  43. if (result) {
  44. AppLock.of(context).didUnlock();
  45. }
  46. } catch (e, s) {
  47. _logger.severe(e, s);
  48. }
  49. }
  50. }