| @@ -1,12 +1,15 @@ | |||
| import 'package:farm_tpf/authentication/bloc/authentication_bloc.dart'; | |||
| import 'package:farm_tpf/data/repository/user_repository.dart'; | |||
| import 'package:farm_tpf/presentation/custom_widgets/app_bar_widget.dart'; | |||
| import 'package:farm_tpf/presentation/custom_widgets/button_icon_widget.dart'; | |||
| import 'package:farm_tpf/presentation/screens/profile/sc_change_password.dart'; | |||
| import 'package:farm_tpf/presentation/screens/profile/sc_update_profile.dart'; | |||
| import 'package:farm_tpf/utils/const_color.dart'; | |||
| import 'package:farm_tpf/utils/const_icons.dart'; | |||
| import 'package:farm_tpf/utils/pref.dart'; | |||
| import 'package:flutter/material.dart'; | |||
| import 'package:get/get.dart'; | |||
| import 'package:package_info/package_info.dart'; | |||
| import 'package:flutter_bloc/flutter_bloc.dart'; | |||
| class AccountScreen extends StatefulWidget { | |||
| @override | |||
| @@ -14,6 +17,8 @@ class AccountScreen extends StatefulWidget { | |||
| } | |||
| class _AccountScreenState extends State<AccountScreen> { | |||
| var pref = LocalPref(); | |||
| UserRepository _userRepository = UserRepository(); | |||
| PackageInfo _packageInfo = PackageInfo( | |||
| version: '1.0.0', | |||
| buildNumber: '1.', | |||
| @@ -32,6 +37,28 @@ class _AccountScreenState extends State<AccountScreen> { | |||
| _initPackageInfo(); | |||
| } | |||
| _clickSignOut() async { | |||
| context.bloc<AuthenticationBloc>().add(AuthenticationLogoutRequested()); | |||
| try { | |||
| String pushKey = await pref.getString(DATA_CONST.PUSH_KEY); | |||
| if (pushKey.isNotEmpty) { | |||
| _userRepository | |||
| .deleteFcmToken(pushKey) | |||
| .then((value) {}) | |||
| .catchError((err) {}) | |||
| .whenComplete(() { | |||
| pref.saveString(DATA_CONST.TOKEN_KEY, ""); | |||
| pref.saveString(DATA_CONST.PUSH_KEY, ""); | |||
| pref.saveString(DATA_CONST.CURRENT_FULL_NAME, ""); | |||
| }); | |||
| } | |||
| } catch (e) { | |||
| pref.saveString(DATA_CONST.CURRENT_FULL_NAME, ""); | |||
| pref.saveString(DATA_CONST.TOKEN_KEY, ""); | |||
| pref.saveString(DATA_CONST.PUSH_KEY, ""); | |||
| } | |||
| } | |||
| @override | |||
| Widget build(BuildContext context) { | |||
| return Scaffold( | |||
| @@ -94,7 +121,9 @@ class _AccountScreenState extends State<AccountScreen> { | |||
| color: Colors.red), | |||
| leadingIcon: AppIcons.icLogout, | |||
| trailingIcon: AppIcons.icArrowRight, | |||
| onTap: () {}), | |||
| onTap: () { | |||
| _clickSignOut(); | |||
| }), | |||
| ])), | |||
| ], | |||
| ), | |||