swipe improvements.

main_design2.1
Sikander Saleem 11 months ago
parent 97fefd8423
commit 96b0a2d36b

@ -67,7 +67,7 @@ class FirebaseNotificationManger {
} catch (ex) {}
}
}
print("pushToken:$token");
// print("pushToken:$token");
// return token;
}

@ -5,11 +5,11 @@ import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/user.dart';
import 'package:test_sa/new_views/forget_password_module/models/general_response_model.dart';
import 'package:test_sa/new_views/swipe_module/models/swipe_model.dart';
import 'package:test_sa/new_views/forget_password_module/models/update_password.dart';
import 'package:test_sa/new_views/forget_password_module/models/verify_otp_model.dart';
import 'package:test_sa/models/user.dart';
import 'package:test_sa/new_views/swipe_module/models/swipe_model.dart';
import 'package:test_sa/new_views/swipe_module/models/swipe_transaction_history.dart';
import 'package:test_sa/new_views/swipe_module/models/swipe_transaction_model.dart';
@ -30,16 +30,6 @@ class UserProvider extends ChangeNotifier {
User _user;
User get user => _user;
String _newPassword;
String get newPassword => _newPassword;
set newPassword(String value) {
_newPassword = value;
notifyListeners();
}
String _confirmPassword;
File profileImage;
@ -245,7 +235,6 @@ class UserProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) {
List dataList = GeneralResponseModel.fromJson(json.decode(response.body)).data;
swipeHistory = List.generate(dataList.length, (index) => SwipeHistory.fromJson(dataList[index]));
}
isLoading = false;
notifyListeners();
@ -353,13 +342,6 @@ class UserProvider extends ChangeNotifier {
}
}
String get confirmPassword => _confirmPassword;
set confirmPassword(String value) {
_confirmPassword = value;
notifyListeners();
}
// Future<int> updateProfile({
// @required String host,
// @required User user,

@ -43,7 +43,7 @@ class AppDrawer extends StatelessWidget {
child: ClipOval(
child: snapshot.profileImage != null
? Image.file(snapshot.profileImage)
: (snapshot.user.profilePhotoName?.isNotEmpty ?? false)
: (snapshot.user?.profilePhotoName?.isNotEmpty ?? false)
? Image.network(snapshot.user.profilePhotoName)
: const Icon(
Icons.person,

@ -29,11 +29,13 @@ class _ResetPasswordViewState extends State<ResetPasswordView> {
bool _passwordVisible = false;
bool _confirmPasswordVisible = false;
String newPassword = "";
String confirmPassword = "";
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
_userProvider = Provider.of<UserProvider>(context);
return Form(
key: _formKey,
child: Scaffold(
@ -49,7 +51,7 @@ class _ResetPasswordViewState extends State<ResetPasswordView> {
context.translation.pleaseEnterTheNewPassword.bodyText2(context).custom(color: AppColor.white20, fontWeight: FontWeight.w500),
32.height,
AppTextFormField(
initialValue: _userProvider.newPassword,
initialValue: "",
showBorder: true,
validator: (value) => Validator.hasValue(value) ? null : context.translation.requiredField,
labelText: context.translation.password,
@ -64,12 +66,12 @@ class _ResetPasswordViewState extends State<ResetPasswordView> {
});
}),
onSaved: (value) {
_userProvider.newPassword = value;
newPassword = value;
},
),
16.height,
AppTextFormField(
initialValue: _userProvider.confirmPassword,
initialValue: "",
labelText: context.translation.confirmPassword,
obscureText: !_confirmPasswordVisible,
showBorder: true,
@ -79,41 +81,42 @@ class _ResetPasswordViewState extends State<ResetPasswordView> {
? context.translation.requiredField
: context.translation.passwordLengthMessage,
onSaved: (value) {
_userProvider.confirmPassword = value;
confirmPassword = value;
},
suffixIcon: Icon(
_confirmPasswordVisible ? Icons.visibility : Icons.visibility_off,
color: context.isDark ? AppColor.neutral10 : AppColor.neutral20,
).paddingOnly(end: 12).onPress(() { setState(() {
).paddingOnly(end: 12).onPress(() {
setState(() {
_confirmPasswordVisible = !_confirmPasswordVisible;
}); }),
});
}),
),
],
),
).center.expanded,
AppFilledButton(label: context.translation.resetPassword, maxWidth: true, onPressed: () => _resetPassword(context: context)),
AppFilledButton(label: context.translation.resetPassword, maxWidth: true, onPressed: () => _resetPassword(context)),
],
).paddingOnly(start: 16, end: 16, bottom: 24, top: 24),
),
);
}
Future<void> _resetPassword({BuildContext context}) async {
Future<void> _resetPassword(BuildContext context) async {
if (!_formKey.currentState.validate()) return;
_formKey.currentState.save();
if (_userProvider.newPassword != _userProvider.confirmPassword) {
if (newPassword != confirmPassword) {
Fluttertoast.showToast(msg: 'Password not matched try again');
} else {
UpdatePasswordModel updatePasswordModel = UpdatePasswordModel(
password: _userProvider.newPassword, confirmPassword: _userProvider.confirmPassword, userId: _userProvider.verifyOtpModel.userId, token: _userProvider.verifyOtpModel.token);
_userProvider = Provider.of<UserProvider>(context);
UpdatePasswordModel updatePasswordModel =
UpdatePasswordModel(password: newPassword, confirmPassword: confirmPassword, userId: _userProvider.verifyOtpModel.userId, token: _userProvider.verifyOtpModel.token);
GeneralResponseModel generalResponseModel = await _userProvider.updateNewPassword(context: context, updatePasswordModel: updatePasswordModel);
if (generalResponseModel.isSuccess) {
_userProvider.newPassword = '';
_userProvider.confirmPassword = '';
newPassword = '';
confirmPassword = '';
Navigator.of(context).pushNamedAndRemoveUntil(LoginPage.routeName, (routes) => true);
}
}
}
}

@ -130,7 +130,7 @@ class _LoginPageState extends State<LoginPage> {
Navigator.push(context, MaterialPageRoute(builder: (context)=>ForgetPasswordVerifyOtpView(data: {'employeeId':userNameController.text,'phoneNumber':response.data},)));
// Navigator.push(context, ForgetPasswordVerifyOtpView.routeName);
}else{
Fluttertoast.showToast(msg: response?.message ?? context.translation.failedToCompleteRequest);
context.showConfirmDialog(response?.message ?? context.translation.failedToCompleteRequest);
}
}else{
Fluttertoast.showToast(msg: context.translation.employeeIdIsRequired);
@ -159,7 +159,7 @@ class _LoginPageState extends State<LoginPage> {
await _settingProvider.setRememberMe(_user.userName, _user.password, rememberMe);
Navigator.pushNamed(context, LandPage.routeName);
Navigator.pushReplacementNamed(context, LandPage.routeName);
} else {
Fluttertoast.showToast(msg: _userProvider.user?.message ?? context.translation.failedToCompleteRequest);
}

@ -1,6 +1,7 @@
import 'dart:async';
import 'dart:developer';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_api_availability/google_api_availability.dart';
@ -35,8 +36,6 @@ class SwipeGeneralUtils {
static bool get isLoading => _isLoadingVisible;
void markFakeAttendance(dynamic sourceName, String lat, String long, @required BuildContext context) async {
showLoading(context);
try {
@ -49,8 +48,6 @@ class SwipeGeneralUtils {
}
}
void showLoading(BuildContext context) {
WidgetsBinding.instance.addPostFrameCallback((_) {
_isLoadingVisible = true;
@ -78,9 +75,6 @@ class SwipeGeneralUtils {
return prefs.getString(key) ?? "";
}
void confirmDialog(cxt, String message, {VoidCallback onTap}) {
showDialog(
context: cxt,
@ -156,7 +150,7 @@ class SwipeGeneralUtils {
_streamSubscription = locationService.onLocationData.listen(
(Location location) async {
hideLoading(context);
await locationService.removeLocationUpdates(requestCode);
await locationService.removeLocationUpdates(requestCode); // todo #test on release mode.
handleSwipeOperation(swipeType: attendanceType, context: context, lat: location.latitude, long: location.longitude);
requestCode = 0;
},
@ -243,7 +237,7 @@ class SwipeGeneralUtils {
performQrCodeAttendance(latitude: lat, longitude: long, context: context);
return;
case SwipeTypeEnum.Wifi:
//TODO need to implement.
performQrCodeAttendance(latitude: lat, longitude: long, context: context);
return;
}
}
@ -289,8 +283,6 @@ class SwipeGeneralUtils {
);
}
});
} catch (ex) {
log('$ex');
hideLoading(context);
@ -322,18 +314,11 @@ class SwipeGeneralUtils {
) async {
showLoading(context);
try {
final swipeModel = Swipe(
swipeTypeValue: SwipeTypeEnum.NFC.getIntFromSwipeTypeEnum(),
value: nfcId,
latitude: latitude,
longitude: longitude,
);
final swipeModel = Swipe(swipeTypeValue: SwipeTypeEnum.NFC.getIntFromSwipeTypeEnum(), value: nfcId, latitude: latitude, longitude: longitude);
UserProvider userProvider = Provider.of<UserProvider>(context, listen: false);
final swipeResponse = await userProvider.makeSwipe(model: swipeModel);
if (swipeResponse.isSuccess) {
hideLoading(context);
Navigator.pushNamed(context, SwipeSuccessView.routeName);
@ -417,6 +402,7 @@ class SwipeGeneralUtils {
handleSwipe(swipeType: SwipeTypeEnum.QR, isEnable: userProvider.user.enableQR, context: navigatorKey.currentState.overlay.context);
}, context));
}
userProvider.user.enableWifi= true;
if (userProvider.user.enableWifi) {
availableMethods.add(attendanceTypeCard(SwipeTypeEnum.Wifi.name, 'wifi_icon', userProvider.user.enableWifi, () {
Navigator.pop(context);
@ -482,6 +468,4 @@ class SwipeGeneralUtils {
}
return false;
}
}

Loading…
Cancel
Save