diff --git a/lib/classes/chat_call_kit.dart b/lib/classes/chat_call_kit.dart index 8dd777f..b785fa2 100644 --- a/lib/classes/chat_call_kit.dart +++ b/lib/classes/chat_call_kit.dart @@ -6,20 +6,16 @@ import 'package:flutter_callkit_incoming/flutter_callkit_incoming.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/classes/consts.dart'; import 'package:mohem_flutter_app/classes/navigationService.dart'; -import 'package:mohem_flutter_app/classes/notifications.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/main.dart'; import 'package:mohem_flutter_app/models/chat/call.dart'; import 'package:mohem_flutter_app/models/chat/get_single_user_chat_list_model.dart'; import 'package:mohem_flutter_app/models/chat/get_user_login_token_model.dart' as ALM; -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/provider/chat_call_provider.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/landing/dashboard_screen.dart'; -import 'package:provider/provider.dart'; import 'package:signalr_netcore/hub_connection.dart'; import 'package:signalr_netcore/signalr_client.dart'; @@ -45,7 +41,7 @@ class ChatVoipCall { // Online & App Logged In ALM.Response sharedDetails = ALM.Response.fromJson(jsonDecode(await Utils.getStringFromPrefs("userLoginChatDetails"))); autoLoginData = ALM.Response.fromJson(AppState().getchatUserDetails == null ? sharedDetails.toJson() : AppState().getchatUserDetails!.response!.toJson()); - dynamic items = jsonDecode(data!.data["user_chat_history_response"]); + dynamic items = jsonDecode(data.data["user_chat_history_response"]); callerData = SingleUserChatModel( targetUserId: items["CurrentUserId"], targetUserEmail: items["CurrentUserEmail"], @@ -58,7 +54,7 @@ class ChatVoipCall { } else { // Offline or App in Background or App is At Verify Screen autoLoginData = ALM.Response.fromJson(jsonDecode(data.data["user_token_response"])); - callerData = SingleUserChatModel.fromJson(json.decode(data!.data["user_chat_history_response"])); + callerData = SingleUserChatModel.fromJson(json.decode(data.data["user_chat_history_response"])); } CallKitParams params = CallKitParams( id: uuid, @@ -71,7 +67,7 @@ class ChatVoipCall { textDecline: 'Decline', textMissedCall: 'Missed call', textCallback: 'Call back', - extra: {"loginDetails": autoLoginData.toJson(), "callerDetails": callerData.toJson(), 'isIncomingCall': true, 'isUserOnline': isUserOnline, 'callType': data!.data["callType"]}, + extra: {"loginDetails": autoLoginData.toJson(), "callerDetails": callerData.toJson(), 'isIncomingCall': true, 'isUserOnline': isUserOnline, 'callType': data.data["callType"]}, android: const AndroidParams( isCustomNotification: true, isShowLogo: false, @@ -210,10 +206,16 @@ class ChatVoipCall { } Future makeHub() async { - HttpConnectionOptions httpOp = HttpConnectionOptions(skipNegotiation: false, logMessageContent: true); - HubConnection hc = HubConnectionBuilder() - .withUrl(ApiConsts.chatHubConnectionUrl + "?UserId=${sessionData.extra!.loginDetails!.id}&source=Desktop&access_token=${sessionData.extra?.loginDetails!.token}", options: httpOp) - .withAutomaticReconnect(retryDelays: [2000, 5000, 10000, 20000]).build(); - return hc; + late HubConnection hc; + try { + HttpConnectionOptions httpOp = HttpConnectionOptions(skipNegotiation: false, logMessageContent: true); + hc = HubConnectionBuilder() + .withUrl(ApiConsts.chatHubConnectionUrl + "?UserId=${sessionData.extra!.loginDetails!.id}&source=Desktop&access_token=${sessionData.extra?.loginDetails!.token}", options: httpOp) + .withAutomaticReconnect(retryDelays: [2000, 5000, 10000, 20000]).build(); + return hc; + } catch (e) { + print(e); + return hc; + } } } diff --git a/lib/classes/notifications.dart b/lib/classes/notifications.dart index 1fd76e3..7fd0e14 100644 --- a/lib/classes/notifications.dart +++ b/lib/classes/notifications.dart @@ -47,6 +47,7 @@ class AppNotifications { // if (Platform.isAndroid) { // hmsApiAvailability = HmsApiAvailability(); // } + print("Firebase init"); await requestPermissions(); AppState().setDeviceToken = firebaseToken; await Permission.notification.isDenied.then((bool value) {