diff --git a/mobile/lib/modules/login/models/hive_saved_login_info.model.dart b/mobile/lib/modules/login/models/hive_saved_login_info.model.dart index e807fc478..456dbadbf 100644 --- a/mobile/lib/modules/login/models/hive_saved_login_info.model.dart +++ b/mobile/lib/modules/login/models/hive_saved_login_info.model.dart @@ -13,9 +13,6 @@ class HiveSavedLoginInfo { @HiveField(2) String serverUrl; - @HiveField(3, defaultValue: false) - bool isSaveLogin; - @HiveField(4, defaultValue: "") String accessToken; @@ -23,7 +20,6 @@ class HiveSavedLoginInfo { required this.email, required this.password, required this.serverUrl, - required this.isSaveLogin, required this.accessToken, }); } diff --git a/mobile/lib/modules/login/models/hive_saved_login_info.model.g.dart b/mobile/lib/modules/login/models/hive_saved_login_info.model.g.dart index 27c1d1967..c86ccdfa4 100644 --- a/mobile/lib/modules/login/models/hive_saved_login_info.model.g.dart +++ b/mobile/lib/modules/login/models/hive_saved_login_info.model.g.dart @@ -20,7 +20,6 @@ class HiveSavedLoginInfoAdapter extends TypeAdapter { email: fields[0] as String, password: fields[1] as String, serverUrl: fields[2] as String, - isSaveLogin: fields[3] == null ? false : fields[3] as bool, accessToken: fields[4] == null ? '' : fields[4] as String, ); } @@ -28,15 +27,13 @@ class HiveSavedLoginInfoAdapter extends TypeAdapter { @override void write(BinaryWriter writer, HiveSavedLoginInfo obj) { writer - ..writeByte(5) + ..writeByte(4) ..writeByte(0) ..write(obj.email) ..writeByte(1) ..write(obj.password) ..writeByte(2) ..write(obj.serverUrl) - ..writeByte(3) - ..write(obj.isSaveLogin) ..writeByte(4) ..write(obj.accessToken); } diff --git a/mobile/lib/modules/login/providers/authentication.provider.dart b/mobile/lib/modules/login/providers/authentication.provider.dart index 79416149a..5b47b1c63 100644 --- a/mobile/lib/modules/login/providers/authentication.provider.dart +++ b/mobile/lib/modules/login/providers/authentication.provider.dart @@ -55,7 +55,6 @@ class AuthenticationNotifier extends StateNotifier { String email, String password, String serverUrl, - bool isSavedLoginInfo, ) async { try { // Resolve API server endpoint from user provided serverUrl @@ -83,7 +82,6 @@ class AuthenticationNotifier extends StateNotifier { return setSuccessLoginInfo( accessToken: loginResponse.accessToken, serverUrl: serverUrl, - isSavedLoginInfo: isSavedLoginInfo, ); } catch (e) { HapticFeedback.vibrate(); @@ -100,21 +98,9 @@ class AuthenticationNotifier extends StateNotifier { _assetCacheService.invalidate(), _albumCacheService.invalidate(), _sharedAlbumCacheService.invalidate(), + Hive.box(hiveLoginInfoBox).delete(savedLoginInfoKey) ]); - // Remove login info from local storage - var loginInfo = - Hive.box(hiveLoginInfoBox).get(savedLoginInfoKey); - if (loginInfo != null) { - loginInfo.email = ""; - loginInfo.password = ""; - loginInfo.isSaveLogin = false; - - await Hive.box(hiveLoginInfoBox).put( - savedLoginInfoKey, - loginInfo, - ); - } return true; } @@ -156,7 +142,6 @@ class AuthenticationNotifier extends StateNotifier { Future setSuccessLoginInfo({ required String accessToken, required String serverUrl, - required bool isSavedLoginInfo, }) async { _apiService.setAccessToken(accessToken); var userResponseDto = await _apiService.userApi.getMyUserInfo(); @@ -181,22 +166,16 @@ class AuthenticationNotifier extends StateNotifier { deviceType: deviceInfo["deviceType"], ); - if (isSavedLoginInfo) { - // Save login info to local storage - Hive.box(hiveLoginInfoBox).put( - savedLoginInfoKey, - HiveSavedLoginInfo( - email: "", - password: "", - isSaveLogin: true, - serverUrl: serverUrl, - accessToken: accessToken, - ), - ); - } else { - Hive.box(hiveLoginInfoBox) - .delete(savedLoginInfoKey); - } + // Save login info to local storage + Hive.box(hiveLoginInfoBox).put( + savedLoginInfoKey, + HiveSavedLoginInfo( + email: "", + password: "", + serverUrl: serverUrl, + accessToken: accessToken, + ), + ); } // Register device info diff --git a/mobile/lib/modules/login/ui/login_form.dart b/mobile/lib/modules/login/ui/login_form.dart index b47e64bd0..c834fc154 100644 --- a/mobile/lib/modules/login/ui/login_form.dart +++ b/mobile/lib/modules/login/ui/login_form.dart @@ -29,7 +29,6 @@ class LoginForm extends HookConsumerWidget { useTextEditingController.fromValue(TextEditingValue.empty); final apiService = ref.watch(apiServiceProvider); final serverEndpointFocusNode = useFocusNode(); - final isSaveLoginInfo = useState(false); final isLoading = useState(false); final isOauthEnable = useState(false); final oAuthButtonLabel = useState('OAuth'); @@ -75,7 +74,6 @@ class LoginForm extends HookConsumerWidget { usernameController.text = loginInfo.email; passwordController.text = loginInfo.password; serverEndpointController.text = loginInfo.serverUrl; - isSaveLoginInfo.value = loginInfo.isSaveLogin; } getServeLoginConfig(); @@ -88,7 +86,6 @@ class LoginForm extends HookConsumerWidget { usernameController.text = 'testuser@email.com'; passwordController.text = 'password'; serverEndpointController.text = 'http://10.1.15.216:2283/api'; - isSaveLoginInfo.value = true; } return Center( @@ -124,30 +121,6 @@ class LoginForm extends HookConsumerWidget { controller: serverEndpointController, focusNode: serverEndpointFocusNode, ), - CheckboxListTile( - activeColor: Theme.of(context).primaryColor, - contentPadding: const EdgeInsets.symmetric(horizontal: 8), - dense: true, - side: const BorderSide(color: Colors.grey, width: 1.5), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(5), - ), - enableFeedback: true, - title: const Text( - "login_form_save_login", - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.grey, - ), - ).tr(), - value: isSaveLoginInfo.value, - onChanged: (switchValue) { - if (switchValue != null) { - isSaveLoginInfo.value = switchValue; - } - }, - ), if (isLoading.value) const SizedBox( width: 24, @@ -161,11 +134,11 @@ class LoginForm extends HookConsumerWidget { crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisAlignment: MainAxisAlignment.center, children: [ + const SizedBox(height: 18), LoginButton( emailController: usernameController, passwordController: passwordController, serverEndpointController: serverEndpointController, - isSavedLoginInfo: isSaveLoginInfo.value, ), if (isOauthEnable.value) ...[ Padding( @@ -181,7 +154,6 @@ class LoginForm extends HookConsumerWidget { ), OAuthLoginButton( serverEndpointController: serverEndpointController, - isSavedLoginInfo: isSaveLoginInfo.value, buttonLabel: oAuthButtonLabel.value, isLoading: isLoading, onLoginSuccess: () { @@ -304,14 +276,12 @@ class LoginButton extends ConsumerWidget { final TextEditingController emailController; final TextEditingController passwordController; final TextEditingController serverEndpointController; - final bool isSavedLoginInfo; const LoginButton({ Key? key, required this.emailController, required this.passwordController, required this.serverEndpointController, - required this.isSavedLoginInfo, }) : super(key: key); @override @@ -329,7 +299,6 @@ class LoginButton extends ConsumerWidget { emailController.text, passwordController.text, serverEndpointController.text, - isSavedLoginInfo, ); if (isAuthenticated) { @@ -361,7 +330,6 @@ class LoginButton extends ConsumerWidget { class OAuthLoginButton extends ConsumerWidget { final TextEditingController serverEndpointController; - final bool isSavedLoginInfo; final ValueNotifier isLoading; final VoidCallback onLoginSuccess; final String buttonLabel; @@ -369,7 +337,6 @@ class OAuthLoginButton extends ConsumerWidget { const OAuthLoginButton({ Key? key, required this.serverEndpointController, - required this.isSavedLoginInfo, required this.isLoading, required this.onLoginSuccess, required this.buttonLabel, @@ -407,7 +374,6 @@ class OAuthLoginButton extends ConsumerWidget { .watch(authenticationProvider.notifier) .setSuccessLoginInfo( accessToken: loginResponseDto.accessToken, - isSavedLoginInfo: isSavedLoginInfo, serverUrl: serverEndpointController.text, ); diff --git a/mobile/lib/shared/views/splash_screen.dart b/mobile/lib/shared/views/splash_screen.dart index 7aa973fcf..f5ad5bb38 100644 --- a/mobile/lib/shared/views/splash_screen.dart +++ b/mobile/lib/shared/views/splash_screen.dart @@ -29,7 +29,6 @@ class SplashScreenPage extends HookConsumerWidget { .read(authenticationProvider.notifier) .setSuccessLoginInfo( accessToken: loginInfo.accessToken, - isSavedLoginInfo: true, serverUrl: loginInfo.serverUrl, ); if (isSuccess) { @@ -47,7 +46,7 @@ class SplashScreenPage extends HookConsumerWidget { useEffect( () { - if (loginInfo?.isSaveLogin == true) { + if (loginInfo != null) { performLoggingIn(); } else { AutoRouter.of(context).replace(const LoginRoute());