merge-requests/103/head
Aamir Muhammad 3 years ago
parent 6b36be58b9
commit 76239d0077

@ -38,8 +38,10 @@ class SingleUserChatModel {
String? contantNo; String? contantNo;
int? currentUserId; int? currentUserId;
String? currentUserName; String? currentUserName;
String? currentUserEmail;
int? targetUserId; int? targetUserId;
String? targetUserName; String? targetUserName;
String? targetUserEmail;
String? encryptedTargetUserId; String? encryptedTargetUserId;
String? encryptedTargetUserName; String? encryptedTargetUserName;
int? chatEventId; int? chatEventId;

@ -330,8 +330,11 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
temp = getSingleUserChatModel(jsonEncode(msg)); temp = getSingleUserChatModel(jsonEncode(msg));
data.first.targetUserId = temp.first.currentUserId; data.first.targetUserId = temp.first.currentUserId;
data.first.targetUserName = temp.first.currentUserName; data.first.targetUserName = temp.first.currentUserName;
data.first.targetUserEmail = temp.first.currentUserEmail;
data.first.currentUserId = temp.first.targetUserId; data.first.currentUserId = temp.first.targetUserId;
data.first.currentUserName = temp.first.targetUserName; data.first.currentUserName = temp.first.targetUserName;
data.first.currentUserEmail = temp.first.targetUserEmail;
if (data.first.fileTypeId == 12 || data.first.fileTypeId == 4 || data.first.fileTypeId == 3) { if (data.first.fileTypeId == 12 || data.first.fileTypeId == 4 || data.first.fileTypeId == 3) {
data.first.image = await ChatApiClient().downloadURL(fileName: data.first.contant!, fileTypeDescription: data.first.fileTypeResponse!.fileTypeDescription ?? "image/jpg"); data.first.image = await ChatApiClient().downloadURL(fileName: data.first.contant!, fileTypeDescription: data.first.fileTypeResponse!.fileTypeDescription ?? "image/jpg");
} }
@ -349,21 +352,24 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
if (searchedChats != null) { if (searchedChats != null) {
dynamic contain = searchedChats!.where((ChatUser element) => element.id == data.first.currentUserId); dynamic contain = searchedChats!.where((ChatUser element) => element.id == data.first.currentUserId);
if (contain.isEmpty) { if (contain.isEmpty) {
List<String> emails = [];
emails.add(await EmailImageEncryption().encrypt(val: data.first.currentUserEmail!));
List<ChatUserImageModel> chatImages = await ChatApiClient().getUsersImages(encryptedEmails: emails);
searchedChats!.add( searchedChats!.add(
ChatUser( ChatUser(
id: data.first.currentUserId, id: data.first.currentUserId,
userName: data.first.currentUserName, userName: data.first.currentUserName,
unreadMessageCount: 0, unreadMessageCount: 0,
isImageLoading: false, isImageLoading: false,
image: "", image: chatImages!.first.profilePicture ?? "",
isImageLoaded: true, isImageLoaded: true,
userStatus: 1, userStatus: 1,
isTyping: false, isTyping: false,
userLocalDownlaodedImage: null), userLocalDownlaodedImage: await downloadImageLocal(chatImages.first.profilePicture, data.first.currentUserId.toString()),
),
); );
} }
} }
setMsgTune(); setMsgTune();
userChatHistory.insert(0, data.first); userChatHistory.insert(0, data.first);
@ -526,21 +532,25 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
await chatHubConnection.invoke("AddChatUserAsync", args: <Object>[json.decode(chatData)]); await chatHubConnection.invoke("AddChatUserAsync", args: <Object>[json.decode(chatData)]);
} }
void sendChatMessage(int targetUserId, int userStatus, String targetUserName, BuildContext context) async { void sendChatMessage(BuildContext context, {required int targetUserId, required int userStatus, required String userEmail, required String targetUserName}) async {
dynamic contain = searchedChats!.where((ChatUser element) => element.id == targetUserId); dynamic contain = searchedChats!.where((ChatUser element) => element.id == targetUserId);
if (contain.isEmpty) { if (contain.isEmpty) {
List<String> emails = [];
emails.add(await EmailImageEncryption().encrypt(val: userEmail));
List<ChatUserImageModel> chatImages = await ChatApiClient().getUsersImages(encryptedEmails: emails);
searchedChats!.add( searchedChats!.add(
ChatUser( ChatUser(
id: targetUserId, id: targetUserId,
userName: targetUserName, userName: targetUserName,
unreadMessageCount: 0, unreadMessageCount: 0,
email: userEmail,
isImageLoading: false, isImageLoading: false,
image: "", image: chatImages.first.profilePicture ?? "",
isImageLoaded: true, isImageLoaded: true,
isTyping: false, isTyping: false,
isFav: false, isFav: false,
userStatus: userStatus, userStatus: userStatus,
userLocalDownlaodedImage: null, userLocalDownlaodedImage: await downloadImageLocal(chatImages.first.profilePicture, targetUserId.toString()),
), ),
); );
notifyListeners(); notifyListeners();

@ -223,7 +223,11 @@ class _ChatDetailScreenState extends State<ChatDetailScreen> {
), ),
).paddingOnly(right: 25), ).paddingOnly(right: 25),
SvgPicture.asset("assets/icons/chat/chat_send_icon.svg", height: 26, width: 26).onPress( SvgPicture.asset("assets/icons/chat/chat_send_icon.svg", height: 26, width: 26).onPress(
() => m.sendChatMessage(params!.chatUser!.id!, params!.chatUser!.userStatus ?? 0, params!.chatUser!.userName!, context), () => m.sendChatMessage(context,
targetUserId: params!.chatUser!.id!,
userStatus: params!.chatUser!.userStatus ?? 0,
userEmail: params!.chatUser!.email!,
targetUserName: params!.chatUser!.userName!),
), ),
], ],
), ),

@ -38,23 +38,22 @@ class _ChatHomeState extends State<ChatHome> {
data.clearAll(); data.clearAll();
} }
// void fetchAgain() { void fetchAgain() {
// print("Fetch Triggered"); if (chatHubConnection.state != HubConnectionState.Connected) {
// if (chatHubConnection.state != HubConnectionState.Connected) { data.getUserAutoLoginToken().whenComplete(() async {
// data.getUserAutoLoginToken().whenComplete(() async { await data.buildHubConnection();
// await data.buildHubConnection(); data.getUserRecentChats();
// data.getUserRecentChats(); });
// }); return;
// return; }
// } if (data.searchedChats == null || data.searchedChats!.isEmpty) {
// if (data.searchedChats == null || data.searchedChats!.isEmpty) { data.getUserRecentChats();
// data.getUserRecentChats(); }
// } }
// }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// fetchAgain(); fetchAgain();
return Scaffold( return Scaffold(
backgroundColor: MyColors.white, backgroundColor: MyColors.white,
appBar: AppBarWidget(context, title: LocaleKeys.chat.tr(), showHomeButton: true), appBar: AppBarWidget(context, title: LocaleKeys.chat.tr(), showHomeButton: true),

@ -58,7 +58,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
data = Provider.of<DashboardProviderModel>(context, listen: false); data = Provider.of<DashboardProviderModel>(context, listen: false);
marathonProvider = Provider.of<MarathonProvider>(context, listen: false); marathonProvider = Provider.of<MarathonProvider>(context, listen: false);
cProvider = Provider.of<ChatProviderModel>(context, listen: false); cProvider = Provider.of<ChatProviderModel>(context, listen: false);
_bHubCon();
_onRefresh(); _onRefresh();
}); });
} }
@ -80,6 +80,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
void _onRefresh() async { void _onRefresh() async {
data.initProvider(); data.initProvider();
_bHubCon();
// data.getITGNotification().then((value) { // data.getITGNotification().then((value) {
// print("--------------------detail_1-----------------"); // print("--------------------detail_1-----------------");
// print(value!.result!.data!.notificationMasterId); // print(value!.result!.data!.notificationMasterId);

Loading…
Cancel
Save