|
|
|
@ -33,7 +33,6 @@ import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
|
|
|
|
import 'package:mohem_flutter_app/main.dart';
|
|
|
|
import 'package:mohem_flutter_app/main.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/chat/call.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/chat/call.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/chat/get_user_login_token_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/chat/get_user_login_token_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/chat/incoming_call_model.dart';
|
|
|
|
|
|
|
|
import 'package:mohem_flutter_app/models/check_mobile_app_version_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/check_mobile_app_version_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/member_information_list_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/member_information_list_model.dart';
|
|
|
|
@ -41,8 +40,8 @@ import 'package:mohem_flutter_app/models/member_login_list_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/privilege_list_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/models/privilege_list_model.dart';
|
|
|
|
import 'package:mohem_flutter_app/ui/chat/call/chat_incoming_call_screen.dart';
|
|
|
|
import 'package:mohem_flutter_app/ui/chat/call/chat_incoming_call_screen.dart';
|
|
|
|
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
|
|
|
|
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
|
|
|
|
|
|
|
|
import 'package:mohem_flutter_app/widgets/button/hmg_connectivity_button.dart';
|
|
|
|
import 'package:mohem_flutter_app/widgets/input_widget.dart';
|
|
|
|
import 'package:mohem_flutter_app/widgets/input_widget.dart';
|
|
|
|
import 'package:http/http.dart' as http;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// import 'package:safe_device/safe_device.dart';
|
|
|
|
// import 'package:safe_device/safe_device.dart';
|
|
|
|
import 'package:wifi_iot/wifi_iot.dart';
|
|
|
|
import 'package:wifi_iot/wifi_iot.dart';
|
|
|
|
@ -56,10 +55,9 @@ class LoginScreen extends StatefulWidget {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver{
|
|
|
|
TextEditingController username = TextEditingController();
|
|
|
|
TextEditingController username = TextEditingController();
|
|
|
|
TextEditingController password = TextEditingController();
|
|
|
|
TextEditingController password = TextEditingController();
|
|
|
|
MethodChannel platform = MethodChannel('com.hiennv.flutter_callkit_incoming');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CheckMobileAppVersionModel? _checkMobileAppVersion;
|
|
|
|
CheckMobileAppVersionModel? _checkMobileAppVersion;
|
|
|
|
MemberLoginListModel? _memberLoginList;
|
|
|
|
MemberLoginListModel? _memberLoginList;
|
|
|
|
@ -67,6 +65,7 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
late final FirebaseMessaging _firebaseMessaging;
|
|
|
|
late final FirebaseMessaging _firebaseMessaging;
|
|
|
|
IosCallPayload? _iosCallPayload;
|
|
|
|
IosCallPayload? _iosCallPayload;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool _autoLogin = false;
|
|
|
|
bool _autoLogin = false;
|
|
|
|
|
|
|
|
|
|
|
|
bool? isAppOpenBySystem;
|
|
|
|
bool? isAppOpenBySystem;
|
|
|
|
@ -82,6 +81,7 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
final voIPKit = FlutterIOSVoIPKit.instance;
|
|
|
|
final voIPKit = FlutterIOSVoIPKit.instance;
|
|
|
|
late Timer timeOutTimer;
|
|
|
|
late Timer timeOutTimer;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
super.initState();
|
|
|
|
@ -164,6 +164,20 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> connectCall() async {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
UserAutoLoginModel userLoginResponse = await ChatApiClient().getUserCallToken(userid: _iosCallPayload!.incomingCallerId!.split("-").last);
|
|
|
|
|
|
|
|
if (userLoginResponse.response != null) {
|
|
|
|
|
|
|
|
AppState().setchatUserDetails = userLoginResponse;
|
|
|
|
|
|
|
|
Utils.saveStringFromPrefs("userLoginChatDetails", jsonEncode(userLoginResponse.response));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
logger.d(e);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// void checkDeviceSafety() async {
|
|
|
|
// void checkDeviceSafety() async {
|
|
|
|
// try {
|
|
|
|
// try {
|
|
|
|
// isJailBroken = await SafeDevice.isJailBroken;
|
|
|
|
// isJailBroken = await SafeDevice.isJailBroken;
|
|
|
|
@ -179,23 +193,25 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
// print(error);
|
|
|
|
// print(error);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
Future<void> connectCall() async {
|
|
|
|
// Future<void> connectCall() async {
|
|
|
|
try {
|
|
|
|
// try {
|
|
|
|
UserAutoLoginModel userLoginResponse = await ChatApiClient().getUserCallToken(userid: _iosCallPayload!.incomingCallerId!.split("-").last);
|
|
|
|
// UserAutoLoginModel userLoginResponse = await ChatApiClient().getUserCallToken(userid: _iosCallPayload!.incomingCallerId!.split("-").last);
|
|
|
|
if (userLoginResponse.response != null) {
|
|
|
|
// if (userLoginResponse.response != null) {
|
|
|
|
AppState().setchatUserDetails = userLoginResponse;
|
|
|
|
// AppState().setchatUserDetails = userLoginResponse;
|
|
|
|
Utils.saveStringFromPrefs("userLoginChatDetails", jsonEncode(userLoginResponse.response));
|
|
|
|
// Utils.saveStringFromPrefs("userLoginChatDetails", jsonEncode(userLoginResponse.response));
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
} catch (e) {
|
|
|
|
// } catch (e) {
|
|
|
|
logger.d(e);
|
|
|
|
// logger.d(e);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> callListeners() async {
|
|
|
|
Future<void> callListeners() async {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
print("CallListners Init");
|
|
|
|
print("Call Listeners Init");
|
|
|
|
FlutterCallkitIncoming.onEvent.listen((CallEvent? event) async {
|
|
|
|
FlutterCallkitIncoming.onEvent.listen((CallEvent? event) async {
|
|
|
|
switch (event!.event) {
|
|
|
|
switch (event!.event) {
|
|
|
|
|
|
|
|
|
|
|
|
case Event.actionCallIncoming:
|
|
|
|
case Event.actionCallIncoming:
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case Event.actionCallStart:
|
|
|
|
case Event.actionCallStart:
|
|
|
|
@ -274,6 +290,7 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
void dispose() {
|
|
|
|
super.dispose();
|
|
|
|
super.dispose();
|
|
|
|
@ -284,7 +301,7 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> checkFirebaseToken() async {
|
|
|
|
Future<void> checkFirebaseToken() async {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
//Utils.showLoading(context);
|
|
|
|
Utils.showLoading(context);
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
if (!(await Utils.isGoogleServicesAvailable())) {
|
|
|
|
if (!(await Utils.isGoogleServicesAvailable())) {
|
|
|
|
@ -390,12 +407,14 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
// 13777
|
|
|
|
// 13777
|
|
|
|
// Ab12345cd
|
|
|
|
// Ab12345cd
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
|
|
|
Future.delayed(const Duration(seconds: 2)).whenComplete(() {
|
|
|
|
|
|
|
|
if (!isIncomingCall) {
|
|
|
|
|
|
|
|
if (isAppOpenBySystem!) checkFirebaseToken();
|
|
|
|
if (isAppOpenBySystem!) checkFirebaseToken();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
// Utils.showLoading(context);
|
|
|
|
|
|
|
|
// Future.delayed(const Duration(seconds: 2)).whenComplete(() {
|
|
|
|
|
|
|
|
// if (!isIncomingCall) {
|
|
|
|
|
|
|
|
// if (isAppOpenBySystem!) checkFirebaseToken();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// username.text = "15444";
|
|
|
|
// username.text = "15444";
|
|
|
|
@ -412,7 +431,9 @@ class _LoginScreenState extends State<LoginScreen> with WidgetsBindingObserver {
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
Row(
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
Expanded(child: SizedBox()),
|
|
|
|
// Expanded(
|
|
|
|
|
|
|
|
// child:SizedBox(child: HmgConnectivityButton(),),
|
|
|
|
|
|
|
|
// ),
|
|
|
|
Row(
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
LocaleKeys.english.tr().toText14(color: AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() {
|
|
|
|
LocaleKeys.english.tr().toText14(color: AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() {
|
|
|
|
|