|  |  |  | import 'dart:io'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import 'package:easy_localization/easy_localization.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/chat/get_user_login_token_model.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/itg_forms_models/request_detail_model.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/member_information_list_model.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/member_login_list_model.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/post_params_model.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/privilege_list_model.dart'; | 
					
						
							|  |  |  | import 'package:mohem_flutter_app/models/worklist_response_model.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AppState { | 
					
						
							|  |  |  |   static final AppState _instance = AppState._internal(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   AppState._internal(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   factory AppState() => _instance; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? deviceToken = ""; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setDeviceToken(v) => deviceToken = v; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getDeviceToken => deviceToken; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool isAuthenticated = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setIsAuthenticated(v) => isAuthenticated = v; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool isLogged = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setLogged(v) => isLogged = v; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool? get getIsLogged => isLogged; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool businessCardPrivilege = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setBusinessCardPrivilege(bool v) => businessCardPrivilege = v; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool? get getBusinessCardPrivilege => businessCardPrivilege; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? forgetPasswordTokenID; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setForgetPasswordTokenID(token) => forgetPasswordTokenID = token; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getForgetPasswordTokenID => forgetPasswordTokenID; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool isConnectedToHMG = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   //Wifi info
 | 
					
						
							|  |  |  |   String? _mohemmWifiSSID; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setMohemmWifiSSID(v) => _mohemmWifiSSID = v; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getMohemmWifiSSID => _mohemmWifiSSID; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? _mohemmWifiPassword; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setMohemmWifiPassword(v) => _mohemmWifiPassword = v; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getMohemmWifiPassword => _mohemmWifiPassword; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? _marathonToken; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setMarathonToken(String token) => _marathonToken = token; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getMarathonToken => _marathonToken; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? _projectID; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setMarathonProjectId(String token) => _projectID = token; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getMarathonProjectId => _projectID; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool _isDemoMarathon = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setIsDemoMarathon(bool value) => _isDemoMarathon = value; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool get getIsDemoMarathon => _isDemoMarathon; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool _isHuawei = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setIsHuawei(bool value) => _isHuawei = value; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool get getIsHuawei => _isHuawei; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String _huaweiPushToken = ""; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setHuaweiPushToken(String value) => _huaweiPushToken = value; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String get getHuaweiPushToken => _huaweiPushToken; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 31, versionID: 9.3, mobileType: Platform.isAndroid ? "android" : "ios"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   void setPostParamsInitConfig() { | 
					
						
							|  |  |  |     isAuthenticated = false; | 
					
						
							|  |  |  |     isLogged = false; | 
					
						
							|  |  |  |     _memberLoginList = null; | 
					
						
							|  |  |  |     _memberInformationList = null; | 
					
						
							|  |  |  |     _postParams = _postParamsInitConfig; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   PostParamsModel? _postParams; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   PostParamsModel? get postParamsObject => _postParams; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Map<String, dynamic> get postParamsJson => isLogged ? (_postParams?.toJsonAfterLogin() ?? {}) : (_postParams?.toJson() ?? {}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   void setPostParamsModel(PostParamsModel _postParams) { | 
					
						
							|  |  |  |     this._postParams = _postParams; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool isArabic(context) => EasyLocalization.of(context)?.locale.languageCode == "ar"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   int getLanguageID(context) => EasyLocalization.of(context)?.locale.languageCode == "ar" ? 1 : 2; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? _username; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // todo ''sikander' added password for now, later will remove & improve
 | 
					
						
							|  |  |  |   String? password; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setUserName(v) => _username = v; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getUserName => _username; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setUserPassword(_password) => password = _password; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   MemberLoginListModel? _memberLoginList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   MemberLoginListModel? get memberLoginList => _memberLoginList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setMemberLoginListModel(MemberLoginListModel? _memberLoginList) => this._memberLoginList = _memberLoginList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   MemberInformationListModel? _memberInformationList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   MemberInformationListModel? get memberInformationList => _memberInformationList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setMemberInformationListModel(MemberInformationListModel? _memberInformationList) => this._memberInformationList = _memberInformationList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   List<PrivilegeListModel>? _privilegeListModel; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   List<PrivilegeListModel>? get privilegeListModel => _privilegeListModel; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setPrivilegeListModel(List<PrivilegeListModel>? _privilegeListModel) => this._privilegeListModel = _privilegeListModel; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   List<WorkListResponseModel>? workList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setWorkList(List<WorkListResponseModel>? _workList) => workList = _workList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   int? workListIndex; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setWorkListIndex(int? _workListIndex) => workListIndex = _workListIndex; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   List<RequestDetails>? requestAllList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setRequestAllList(List<RequestDetails>? _requestAllList) => requestAllList = _requestAllList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   int? itgWorkListIndex; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setItgWorkListIndex(int? _itgWorkListIndex) => itgWorkListIndex = _itgWorkListIndex; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? itgRequestType; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setItgRequestType(String? _itgRequestType) => itgRequestType = _itgRequestType; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getItgRequestType => itgRequestType; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   UserAutoLoginModel? chatDetails; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setchatUserDetails(UserAutoLoginModel details) => chatDetails = details; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   UserAutoLoginModel? get getchatUserDetails => chatDetails; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? _base64ImageEmp = | 
					
						
							|  |  |  |       "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4nOy9B1hbSZrv3buzE3buzO7Os9/97r377d7Zne1uS2C7c3BqZ+OcU7fdzpEgHYFzwqmdc87tHLBNkATOOecIDoAAgzEYDBibZIPr03uwsBDKHOm8Vaqa533GLaTfUZ1T7/9fOqfCR61aNfudMX5rjI/cKfC595//nVlwHudxHudxHudxHmYeU5XhPM7zEV6DOb3/pe6GwL/W2xtcv45W01CpE9r76UN7KXXqIQq9MEKh14xX6kMnK/XCPGMsUuo16y1DoVPvVUSr9vlFqTaaQhml3mhkra/8DHw2dDKwgAnsymMI7evoQxv6xYX51Yke+29faUf8kbbzx3mcx3nvIbIdnPM4j/OqitFM/6yMEfz99Jq2RoMdZDTdCUYTXmo04J1Gsz6ujFbdU0SrsxQxqjJljJqIoROI0cxdD/iciWEebvKM369MEaPOMn7H+8ZOxQljR2K3sUOx3Pj6BKgL1Ak6DH4RgX+i5XpwHuf5Ck/Wg3Me5/kC7+u9Q/5YJ1ZTT6HTdDOa5liFTlhnNPlYo8nfMxpvgbfMWm6esUOTX1lnjd5Y/7XGf49RatVdFbqQuv8eoflHWq8v53EejTxZD855nMcar+6moL/6RwS19Tuo0igjVRuMv4rPKHXqDBrNWg6eIlqdroxWn4Zz538wRPDfFxKg0Kr+D5bry3mcxwpP1oNzHufRzPvrqfA/+GtV31Q+czf+ktUK5xUxqjzM5kozz3iO84xxzhhrFDrN8DqxwtcfxwX/npb2wnmch40n68E5j/No4YHRKOI03xtNXq3UC9uMpnRXoRPesmKutPLeX4M7xmuy1fj/KqVe/Z1fRPjv5G4vnMd5NPBkPTjncR5W3qcxYf+l0Kt/VOg1y5Q69SWlTlOK3Qw5731ohVJllOqyMVYo94f0r7c18GPa2h/ncZ43eLIenPM4DwvvkxjV3xQ6zQAlTJHTaVKYMUPOqwytkKnQCxFwB0ehD/vqI/LR32Fqf5zHeXLwZD0453GeXDy/baPq+B9UBSqiVfsVOiELtXlxnuQ84zV/Zuzw7RPHEhxS/yft7ZnzOM8dHlOV4TzOs1X8t4/8k//+4LZ+kSELlNGqGzSbF+d5hJdsjPWw0FE9/YS/YG/PnMd5UvCYqgzncZ55+UQv/E285asTjimi1W8QmQ3n4eaVQyfR76Bqlv+ekO+xtGfO4zyP85iqDOf5FO+r6yN+q4gNbW00/OXvf9HRYDach5yniFYlGdvUMqVeaAVtjNb84DzO4+bPeUzxYC5+Ha3QSSmubS9k0242nIebJ65FoNNsh0cF9Y+E/Q/s+cF5nMfNn/OY4sHmMyDA4iAuveYVFnPgPF/jCYXG2FMnVtMDljDGkh+cx3nc/DmPLV5Er9/4aUMbK8Wd7EB4sZsD5/kWTyiGaYZwN+qbQ4N+S32+cZ5v8JiqDOcxx1NoVQ2UevXKGrf3qTIHzvMlnrgrYmTISv+9gY1pyzfO8zEeU5XhPCZ4sPFL5ZK7sMQrW+bAeT7Gi1Y/NLbl6X5a1f/Fmm+c58M8pirDedTyvhsz4E/KiOCuCp06QqHTvEEp5pzHeW7zhAqFXnMMxq7AXgVy5xvncZ7pg+xUhvOo4/lvHvmfMN9aEa3KpkfMOY/z3OdVPs4S5sF+E7TnL+dRzmOqMpxHBe/LHl1/7x8R1FYZpTpgFMpymsWc8zjPfd6HuwJNT4X/Ay35y3kM8ZiqDOeh5n2+L/hflJGqSYpodZr84st5nIeHp9AJqUqtepz/+pH/D9b85TwGeUxVhvNQ8mCzFaVOPU8Ro87HKL6s8b48NJ60OjGL9D2/jIy+upFMurOHLHqgI6seHSYbk06IsTf1AtmdfM4YZ8VY9/AIWf/wKFnxMI4sTNCKn4HP9jEygPWFkYm1vizxjDnyCmYQ8C2MOc+bPFkPznls8pRxoV/AqmkKrfotDeJLG6+10ZiFG1vJ0oexJPLJFXLjhYHklhYSR+Xdu3fkzZs3NQJet1eADceAYy19qCdq47HbnJxN7fnDzVNVKLVqnSJO871c+ct5vsGT9eCcxxgvPPzvYTEUeLZJr/ji430dO46MvrSerH5wiJzOvEfyy147NHopzd8eL+d1Pjn19B5Z9SCOjLq4Tvyu2M4f1Tyd5jyME4DFsKjTA85DzZP14JzHDu/juODfG3/tDzBGAlPiKxOvbmwY6XdhBVmZEEeuZieSkrJSScxaavO3xntbUU5u5BnIqseHSb+LK8S60H49MPAUeiER1seApbCx6wHn0cGT9eCcRz/PaPz/ZPy1P834K+U5JrGkkSeavtEwd6ScJc9LXnrFrL3BK3hTRGIyrpHAa5tIvdgx1FwPrLzKaYShk+tEj/0zNj3gPLp4sh6c8+jlwU5o8GvE6hK9iMSSBl6Pc4vJntQLVbf15TRrT/PyjHXcnXqedDu7CO31oIcn5Bo73tM/iQr8J7n1gPPo5Ml6cM6jjwermCn0wgij8T+jSyxx8b4+PIGE340g9wvS0Zq1p3n38tPIlNt7yVcwZoCx6+tdnioHptfWDe//z7TrC+d5lyfrwTmPHp7J+JV69VO6xVJeXqOjU8Vn4y/fFFNl1p7k5RUXkq2JJ0mzI9Oov75y8hRRqmzoCPxNO+EPtOkL58nDY6oynCc976vrI34Lg/uMgpPMklh6mxdw6hcSkXaJlFW8pdqsPcl7VVosrk8gTi2k7Ppi4tXRa9Kgs25aXRCzvnCevDymKsN5EvLCw/8eph4p9JrHmMSNNh784oeFd2wZP61m7Une23flZF/aRdL0eDj664uap9OkONMRYEKvOE8aHlOV4Ty3eHV06oBq0/kwihty3rdHJpFNRuMvKX+Dylxp4pWUl5H1icfJt4cnoru+dPGEe8ZohUVfOA8pj6nKcJ7LPKVO9YnxF0MEXeKGi+enDyUTbu/y6Ip8vsbLMZ5LOKdwbuW+vjTzxI2H4sL8WNErzpOQx1RlOM8l3mdR6n+B7UmVOk0preKGgdf17EJxARyazJUm3vUXyaTLmQXMtBc5eAqd5o1CJyz/b33YP9OqV5wnMY+pynCe07z/GRz095Wr91mZy0+huMnFg8VtFj/QkTcV5dSaKy288ncVZEPicVJfF0pte0HCy/U7EBJaf1ibf6RFrzjPAzymKsN5TvPqaIXmdXTCbSRiRC0PfvXHW8zl95YZ+jIv/kUa6X5qIXXtBRtPEaW65bc3uCV2veI8D/GYqgznOeR9tnn03xRaYTtGMaKJB8+j4Vc/jFiX2wx9lVdUWkLm3Y0ifjo3ri3l7U9ynk7QfaIX/oZNrzjPwzymKsN5NnlfTevzZ79I1UylVnD+OT8r4iYxD6b2nX2egMoMfZl3MecRaXJsGtr2Qg1PJ5QodMJUWPtDbr3iPC/xmKoM51nl+e0ObKKIUd+nSoyQ8n6+uIo8L32J1gx9lZdVUiDunoitvdDJE+4p4jTfs6J/nGf/w+xUhvOq8RrM6f0vfpEhC4zJXk6vGOHhwdr9zg70k9MMfZUHAwThsQyW9kI3T6gw/v968x0HadM/znMOwE5lOK+K578vpLMiWp3GhhjJy/ssdgzZ/+QSVWboyzxYRbB+nJVthyltf/Ly1E+VWnVX2vSP81yAyHZwzpOc9/n6of/LL0q1EYd40M/77vBEcjU3iVoz9FXe5dxEcTVG2tsfFp5Cp47w2zz037DrH+e5x5P14JwnDc9/v+pHZbQqB5t40MprdXwmSX6V5XXz4jxpeEnGa9fyxExq2x82niJGlac8GDIaq/5xnns8WQ/OebXn+e8a+bEyWn0Us3jQxut6ZqG4BK1c5sV50vCyigtI55PzqGt/mHmKKPUhZbTmr1j0j/O4+fssz/+Aqq/YM6dEPBzytAKpuy+E1Ps1mNTfElQ9NgeS+hshRptFYOXrlu91JmzwOu+dTq7H3yePHie7FA8fJZH4hEc1Al53lcV50vGu3r1Luu6d4bH24ohXb2sQ8Y9QET+M+eYuT6d5qdQLP8utf5xXO56sB+c8 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   String? get getBase64ImageEmp => _base64ImageEmp; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool _empStatusIsManager = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool get getempStatusIsManager => _empStatusIsManager; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setempStatusIsManager(bool empStatusIsManager) { | 
					
						
							|  |  |  |     _empStatusIsManager = empStatusIsManager; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   List<GetEmployeeSubordinatesList> _employeeSubordinatesList = []; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   List<GetEmployeeSubordinatesList> get getemployeeSubordinatesList => _employeeSubordinatesList; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   set setemployeeSubordinatesList(List<GetEmployeeSubordinatesList> employeeSubordinatesList) { | 
					
						
							|  |  |  |     _employeeSubordinatesList = employeeSubordinatesList; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool cancelRequestTrancsection = true; | 
					
						
							|  |  |  | } |