From 8402c1c9f32d8db6c62105c12ea0144b94795729 Mon Sep 17 00:00:00 2001 From: Pacalini <141402887+Pacalini@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:01:35 +0800 Subject: [PATCH] authorize: auto-raise & skip on import (#56) --- lib/pages/auth_page.dart | 11 +++++++++++ lib/utils/data.dart | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/pages/auth_page.dart b/lib/pages/auth_page.dart index 67b0d29..725a6aa 100644 --- a/lib/pages/auth_page.dart +++ b/lib/pages/auth_page.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart'; import 'package:local_auth/local_auth.dart'; import 'package:venera/utils/translations.dart'; @@ -14,6 +15,16 @@ class AuthPage extends StatefulWidget { class _AuthPageState extends State { + @override + void initState() { + WidgetsBinding.instance.addPostFrameCallback((_) { + if(SchedulerBinding.instance.lifecycleState != AppLifecycleState.paused) { + auth(); + } + }); + super.initState(); + } + @override Widget build(BuildContext context) { return PopScope( diff --git a/lib/utils/data.dart b/lib/utils/data.dart index 9a13426..00f4264 100644 --- a/lib/utils/data.dart +++ b/lib/utils/data.dart @@ -71,12 +71,14 @@ Future importAppData(File file, [bool checkVersion = false]) async { LocalFavoritesManager().init(); } if (await appdataFile.exists()) { - // proxy settings should be kept + // proxy settings & authorization setting should be kept var proxySettings = appdata.settings["proxy"]; + var authSettings = appdata.settings["authorizationRequired"]; File(FilePath.join(App.dataPath, "appdata.json")).deleteIfExistsSync(); appdataFile.renameSync(FilePath.join(App.dataPath, "appdata.json")); await appdata.init(); appdata.settings["proxy"] = proxySettings; + appdata.settings["authorizationRequired"] = authSettings; appdata.saveData(); } if (await cookieFile.exists()) {