Merge branch 'aamir_dev' into development_aamir_testing

# Conflicts:
#	lib/api/chat/chat_api_client.dart
#	lib/classes/chat_call_kit.dart
#	lib/main.dart
#	lib/provider/chat_call_provider.dart
#	lib/ui/chat/call/chat_incoming_call_screen.dart
#	lib/ui/chat/chat_detailed_screen.dart
#	lib/ui/landing/dashboard_screen.dart
#	lib/ui/login/login_screen.dart
development_aamir_testing23
Aamir Muhammad 2 years ago
commit fb63963905

@ -1,7 +1,9 @@
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart'; import 'package:http/http.dart';
import 'package:mohem_flutter_app/api/api_client.dart'; import 'package:mohem_flutter_app/api/api_client.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart';
@ -31,6 +33,8 @@ class ChatApiClient {
"isMobile": true, "isMobile": true,
"deviceToken": AppState().getIsHuawei ? AppState().getHuaweiPushToken : AppState().getDeviceToken, "deviceToken": AppState().getIsHuawei ? AppState().getHuaweiPushToken : AppState().getDeviceToken,
"isHuaweiDevice": AppState().getIsHuawei, "isHuaweiDevice": AppState().getIsHuawei,
//"platform" : "", // ios, android
//"voipToken": ""
}, },
); );
@ -184,7 +188,6 @@ class ChatApiClient {
} }
return imagesData; return imagesData;
} }
// CallUser Login Token // CallUser Login Token
Future<user.UserAutoLoginModel> getUserCallToken({required String userid}) async { Future<user.UserAutoLoginModel> getUserCallToken({required String userid}) async {

@ -17,10 +17,10 @@ import 'package:mohem_flutter_app/models/chat/get_user_login_token_model.dart' a
import 'package:mohem_flutter_app/models/chat/incoming_call_model.dart'; import 'package:mohem_flutter_app/models/chat/incoming_call_model.dart';
import 'package:mohem_flutter_app/provider/chat_call_provider.dart'; import 'package:mohem_flutter_app/provider/chat_call_provider.dart';
import 'package:mohem_flutter_app/provider/chat_provider_model.dart'; import 'package:mohem_flutter_app/provider/chat_provider_model.dart';
import 'package:mohem_flutter_app/ui/landing/dashboard_screen.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:signalr_netcore/hub_connection.dart'; import 'package:signalr_netcore/hub_connection.dart';
import 'package:signalr_netcore/signalr_client.dart'; import 'package:signalr_netcore/signalr_client.dart';
import 'package:workmanager/workmanager.dart';
class ChatVoipCall { class ChatVoipCall {
static final ChatVoipCall _instance = ChatVoipCall._internal(); static final ChatVoipCall _instance = ChatVoipCall._internal();

@ -20,8 +20,6 @@ import 'package:provider/provider.dart';
import 'package:provider/single_child_widget.dart'; import 'package:provider/single_child_widget.dart';
import 'package:signalr_netcore/hub_connection.dart'; import 'package:signalr_netcore/hub_connection.dart';
import 'package:sizer/sizer.dart'; import 'package:sizer/sizer.dart';
import 'package:workmanager/workmanager.dart';
late HubConnection chatHubConnection; late HubConnection chatHubConnection;
Logger logger = Logger( Logger logger = Logger(
// filter: null, // Use the default LogFilter (-> only log in debug mode) // filter: null, // Use the default LogFilter (-> only log in debug mode)
@ -31,8 +29,6 @@ Logger logger = Logger(
// output: null, // U // output: null, // U
); );
late BuildContext callGlobalContext;
class MyHttpOverrides extends HttpOverrides { class MyHttpOverrides extends HttpOverrides {
@override @override
HttpClient createHttpClient(SecurityContext? context) { HttpClient createHttpClient(SecurityContext? context) {
@ -41,8 +37,6 @@ class MyHttpOverrides extends HttpOverrides {
} }
bool isTablet = false; bool isTablet = false;
const simpleTaskKey = "decline.call.byUser";
Future<void> main() async { Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();

@ -15,6 +15,7 @@ import 'package:mohem_flutter_app/models/chat/get_single_user_chat_list_model.da
import 'package:mohem_flutter_app/models/chat/webrtc_payloads.dart'; import 'package:mohem_flutter_app/models/chat/webrtc_payloads.dart';
import 'package:mohem_flutter_app/provider/chat_provider_model.dart'; import 'package:mohem_flutter_app/provider/chat_provider_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/ui/landing/dashboard_screen.dart';
import 'package:signalr_netcore/hub_connection.dart'; import 'package:signalr_netcore/hub_connection.dart';
class ChatCallProvider with ChangeNotifier, DiagnosticableTreeMixin { class ChatCallProvider with ChangeNotifier, DiagnosticableTreeMixin {

@ -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(() {

Loading…
Cancel
Save