Chat Fixes & User Chat Counter

merge-requests/81/head
Aamir Muhammad 3 years ago
parent 3e666eb6be
commit 13a7f60d67

@ -2,27 +2,25 @@ import 'dart:convert';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
class Encryption { class EmailImageEncryption {
static final Encryption _instance = Encryption._internal(); static final EmailImageEncryption _instance = EmailImageEncryption._internal();
static const MethodChannel _channel = MethodChannel('flutter_des'); static const MethodChannel _channel = MethodChannel('flutter_des');
static const key = "PeShVmYp"; static const key = "PeShVmYp";
static const iv = "j70IbWYn"; static const iv = "j70IbWYn";
Encryption._internal(); EmailImageEncryption._internal();
factory Encryption() => _instance; factory EmailImageEncryption() => _instance;
Future<String> encrypt({required String val}) async { Future<String> encrypt({required String val}) async {
Uint8List? crypt = await _channel.invokeMethod('encrypt', [val, key, iv]); Uint8List? crypt = await _channel.invokeMethod('encrypt', [val, key, iv]);
String data = base64Encode(crypt!.toList()); String enc = base64Encode(crypt!.toList());
print("Base64Enc: " + data); return enc;
return data;
} }
Future<String> decrypt({required String encodedVal}) async { Future<String> decrypt({required String encodedVal}) async {
var deco = base64Decode(encodedVal); Uint8List deco = base64Decode(encodedVal);
String? decCrypt = await _channel.invokeMethod('decrypt', [deco, key, iv]); String? decCrypt = await _channel.invokeMethod('decrypt', [deco, key, iv]);
print("Base64ToStringDec: " + decCrypt!);
return decCrypt!; return decCrypt!;
} }
} }

@ -460,7 +460,6 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
print("Normal Attachment Msg"); print("Normal Attachment Msg");
Utils.showLoading(context); Utils.showLoading(context);
dynamic value = await uploadAttachments(AppState().chatDetails!.response!.id.toString(), selectedFile); dynamic value = await uploadAttachments(AppState().chatDetails!.response!.id.toString(), selectedFile);
logger.d(value);
String? ext = getFileExtension(selectedFile.path); String? ext = getFileExtension(selectedFile.path);
Utils.hideLoading(context); Utils.hideLoading(context);
sendChatToServer( sendChatToServer(
@ -703,8 +702,7 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
void getUserImages() async { void getUserImages() async {
List<String> emails = []; List<String> emails = [];
for (ChatUser element in searchedChats!) { for (ChatUser element in searchedChats!) {
var encMail = await Encryption().encrypt(val: element.email!); emails.add(await EmailImageEncryption().encrypt(val: element.email!));
emails.add(encMail);
} }
List<ChatUserImageModel> chatImages = await ChatApiClient().getUsersImages(encryptedEmails: emails); List<ChatUserImageModel> chatImages = await ChatApiClient().getUsersImages(encryptedEmails: emails);
for (ChatUser user in searchedChats!) { for (ChatUser user in searchedChats!) {

@ -68,7 +68,6 @@ class _ChatDetailScreenState extends State<ChatDetailScreen> {
isNewChat: userDetails["isNewChat"], isNewChat: userDetails["isNewChat"],
); );
} }
print("Img: "+ userDetails["targetUser"].image);
return Scaffold( return Scaffold(
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,

@ -28,7 +28,9 @@ class _ChatHomeState extends State<ChatHome> {
super.initState(); super.initState();
data = Provider.of<ChatProviderModel>(context, listen: false); data = Provider.of<ChatProviderModel>(context, listen: false);
data.registerEvents(); data.registerEvents();
data.getUserRecentChats(); if (data.searchedChats == null || data.searchedChats!.isEmpty) {
data.getUserRecentChats();
}
} }
@override @override

Loading…
Cancel
Save