Skip to content

Commit 8aaec91

Browse files
committed
implement group chat v1
1 parent d4a5892 commit 8aaec91

33 files changed

+156
-106
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,8 @@
4848

4949
## 0.5.0
5050

51-
* hug update on backend service v 1.0.1 must use with vchat v 0.5.0
51+
* hug update on backend service v 1.0.1 must use with vchat v 0.5.0
52+
53+
## 0.6.0
54+
55+
* start implement group chat v1 still need more improvements

example/android/app/src/main/AndroidManifest.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@
66
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
77
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
88

9+
<!-- Don't add this in your app this for url launcher -->
10+
<queries>
11+
<intent>
12+
<action android:name="android.intent.action.VIEW" />
13+
<data android:scheme="https" />
14+
</intent>
15+
</queries>
16+
917
<application
1018
android:icon="@mipmap/ic_launcher"
1119
android:label="v_chat_sdk_example"

example/lib/main.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ void main() async {
3333
enableLogger: true,
3434
maxMediaUploadSize: 50 * 1000 * 1000,
3535
passwordHashKey: "passwordHashKey",
36-
3736
);
3837

3938
// add support new language

example/lib/screens/choose_group_members/choose_group_members_controller.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:example/utils/load_more_type.dart';
66
import 'package:flutter/cupertino.dart';
77
import 'package:flutter/material.dart';
88
import 'package:get_storage/get_storage.dart';
9-
import 'package:provider/provider.dart';
109

1110
class ChooseGroupMembersController extends ChangeNotifier {
1211
late BuildContext context;

example/lib/screens/choose_group_members/choose_group_members_screen.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ import 'package:example/utils/config.dart';
22
import 'package:flutter/material.dart';
33
import 'package:provider/provider.dart';
44
import 'package:textless/textless.dart';
5-
6-
import '../user_item.dart';
75
import 'choose_group_members_controller.dart';
86

97
class ChooseGroupMembersPage extends StatelessWidget {

example/lib/screens/create_group/create_group_controller.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import 'dart:io';
22

33
import 'package:example/models/user.dart';
44
import 'package:example/utils/custom_alert.dart';
5-
import 'package:example/utils/custom_dio.dart';
65
import 'package:flutter/cupertino.dart';
76
import 'package:flutter/material.dart';
87
import 'package:image_picker/image_picker.dart';

example/lib/screens/create_group/create_group_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class CreateGroupScreen extends StatelessWidget {
4040
children: [
4141
"Set Group Image".h6.alignCenter,
4242
InkWell(
43-
onTap:controller.pickGroupImage,
43+
onTap: controller.pickGroupImage,
4444
child: Icon(
4545
Icons.image,
4646
size: 100,

example/lib/screens/home.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import '../controllers/home_controller.dart';
1313
import '../models/user.dart';
1414
import 'app_rooms_screen.dart';
1515

16-
1716
class Home extends StatefulWidget {
1817
const Home({Key? key}) : super(key: key);
1918

example/lib/screens/setting_screen.dart

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:example/utils/custom_alert.dart';
88
import 'package:flutter/material.dart';
99
import 'package:provider/provider.dart';
1010
import 'package:textless/textless.dart';
11+
import 'package:url_launcher/url_launcher.dart';
1112
import 'package:v_chat_sdk/v_chat_sdk.dart';
1213

1314
class SettingScreen extends StatefulWidget {
@@ -82,6 +83,35 @@ class _SettingScreenState extends State<SettingScreen> {
8283
}
8384
},
8485
),
86+
ProfileItem(
87+
title: "Our Full Documentation",
88+
icon: Icons.attachment,
89+
onTap: () async {
90+
if (!await launch(
91+
"https://hatemragab.github.io/VChatSdk-Documentation")) {
92+
throw 'Could not launch ';
93+
}
94+
},
95+
),
96+
ProfileItem(
97+
title: "Buy the backend code",
98+
icon: Icons.attachment,
99+
onTap: () async {
100+
if (!await launch(
101+
"https://codecanyon.net/item/flutter-chat-app-with-node-js-and-socket-io-mongo-db/26142700")) {
102+
throw 'Could not launch ';
103+
}
104+
},
105+
),
106+
ProfileItem(
107+
title: "ios testflight and public flutter ui",
108+
icon: Icons.attachment,
109+
onTap: () async {
110+
if (!await launch("https://github.com/hatemragab/v_chat_sdk")) {
111+
throw 'Could not launch ';
112+
}
113+
},
114+
),
85115
ProfileItem(
86116
title: S.of(context).logOut,
87117
icon: Icons.logout,

example/lib/screens/update_user_profile_screen.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import 'dart:io';
33
import 'package:image_picker/image_picker.dart';
44
import 'package:example/generated/l10n.dart';
55
import 'package:example/utils/custom_alert.dart';
6-
import 'package:example/utils/custom_dio.dart';
76
import 'package:flutter/cupertino.dart';
87
import 'package:textless/textless.dart';
98
import 'package:flutter/material.dart';

example/lib/screens/users_search.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ class _UsersSearchState extends State<UsersSearch> {
4949
crossAxisAlignment: CrossAxisAlignment.stretch,
5050
children: [
5151
TextField(
52-
decoration: InputDecoration(
53-
hintText: "User name"
54-
),
52+
decoration: InputDecoration(hintText: "User name"),
5553
keyboardType: TextInputType.text,
5654
autofocus: true,
5755
onSubmitted: (value) {

example/pubspec.lock

Lines changed: 65 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ packages:
126126
name: dbus
127127
url: "https://pub.dartlang.org"
128128
source: hosted
129-
version: "0.5.6"
129+
version: "0.6.6"
130130
dio:
131131
dependency: transitive
132132
description:
@@ -175,35 +175,35 @@ packages:
175175
name: firebase_core_platform_interface
176176
url: "https://pub.dartlang.org"
177177
source: hosted
178-
version: "4.2.0"
178+
version: "4.2.2"
179179
firebase_core_web:
180180
dependency: transitive
181181
description:
182182
name: firebase_core_web
183183
url: "https://pub.dartlang.org"
184184
source: hosted
185-
version: "1.4.0"
185+
version: "1.5.2"
186186
firebase_messaging:
187187
dependency: transitive
188188
description:
189189
name: firebase_messaging
190190
url: "https://pub.dartlang.org"
191191
source: hosted
192-
version: "11.2.0"
192+
version: "11.2.3"
193193
firebase_messaging_platform_interface:
194194
dependency: transitive
195195
description:
196196
name: firebase_messaging_platform_interface
197197
url: "https://pub.dartlang.org"
198198
source: hosted
199-
version: "3.1.0"
199+
version: "3.1.3"
200200
firebase_messaging_web:
201201
dependency: transitive
202202
description:
203203
name: firebase_messaging_web
204204
url: "https://pub.dartlang.org"
205205
source: hosted
206-
version: "2.2.1"
206+
version: "2.2.4"
207207
flutter:
208208
dependency: "direct main"
209209
description: flutter
@@ -250,14 +250,14 @@ packages:
250250
name: flutter_local_notifications
251251
url: "https://pub.dartlang.org"
252252
source: hosted
253-
version: "9.1.4"
253+
version: "9.1.5"
254254
flutter_local_notifications_linux:
255255
dependency: transitive
256256
description:
257257
name: flutter_local_notifications_linux
258258
url: "https://pub.dartlang.org"
259259
source: hosted
260-
version: "0.3.0"
260+
version: "0.4.0"
261261
flutter_local_notifications_platform_interface:
262262
dependency: transitive
263263
description:
@@ -609,13 +609,6 @@ packages:
609609
url: "https://pub.dartlang.org"
610610
source: hosted
611611
version: "2.0.2"
612-
pretty_dio_logger:
613-
dependency: transitive
614-
description:
615-
name: pretty_dio_logger
616-
url: "https://pub.dartlang.org"
617-
source: hosted
618-
version: "1.2.0-beta-1"
619612
process:
620613
dependency: transitive
621614
description:
@@ -775,6 +768,62 @@ packages:
775768
url: "https://pub.dartlang.org"
776769
source: hosted
777770
version: "1.3.0"
771+
url_launcher:
772+
dependency: "direct main"
773+
description:
774+
name: url_launcher
775+
url: "https://pub.dartlang.org"
776+
source: hosted
777+
version: "6.0.17"
778+
url_launcher_android:
779+
dependency: transitive
780+
description:
781+
name: url_launcher_android
782+
url: "https://pub.dartlang.org"
783+
source: hosted
784+
version: "6.0.13"
785+
url_launcher_ios:
786+
dependency: transitive
787+
description:
788+
name: url_launcher_ios
789+
url: "https://pub.dartlang.org"
790+
source: hosted
791+
version: "6.0.13"
792+
url_launcher_linux:
793+
dependency: transitive
794+
description:
795+
name: url_launcher_linux
796+
url: "https://pub.dartlang.org"
797+
source: hosted
798+
version: "2.0.2"
799+
url_launcher_macos:
800+
dependency: transitive
801+
description:
802+
name: url_launcher_macos
803+
url: "https://pub.dartlang.org"
804+
source: hosted
805+
version: "2.0.2"
806+
url_launcher_platform_interface:
807+
dependency: transitive
808+
description:
809+
name: url_launcher_platform_interface
810+
url: "https://pub.dartlang.org"
811+
source: hosted
812+
version: "2.0.4"
813+
url_launcher_web:
814+
dependency: transitive
815+
description:
816+
name: url_launcher_web
817+
url: "https://pub.dartlang.org"
818+
source: hosted
819+
version: "2.0.5"
820+
url_launcher_windows:
821+
dependency: transitive
822+
description:
823+
name: url_launcher_windows
824+
url: "https://pub.dartlang.org"
825+
source: hosted
826+
version: "2.0.2"
778827
uuid:
779828
dependency: transitive
780829
description:
@@ -788,7 +837,7 @@ packages:
788837
path: ".."
789838
relative: true
790839
source: path
791-
version: "0.5.0"
840+
version: "0.6.0"
792841
vector_math:
793842
dependency: transitive
794843
description:

example/pubspec.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
1515
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
1616
# Read more about iOS versioning at
1717
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
18-
version: 1.0.0+1
18+
version: 1.0.0+2
1919

2020
environment:
2121
sdk: ">=2.12.0 <3.0.0"
@@ -40,6 +40,7 @@ dependencies:
4040
cached_network_image:
4141
get_storage:
4242
flutter_launcher_icons: ^0.9.2
43+
url_launcher: ^6.0.17
4344

4445

4546
flutter_localizations:

lib/src/dto/create_group_room_dto.dart

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
import 'dart:convert';
21
import 'dart:io';
32

4-
import '../enums/room_type.dart';
5-
63
class CreateGroupRoomDto {
74
final List<String> usersEmails;
85
final String groupTitle;
@@ -31,10 +28,10 @@ class CreateGroupRoomDto {
3128

3229
@override
3330
String toString() {
34-
return 'CreateGroupRoomDto{' +
35-
' usersEmails: $usersEmails,' +
36-
' groupTitle: $groupTitle,' +
37-
' groupImage: $groupImage,' +
31+
return 'CreateGroupRoomDto{'
32+
' usersEmails: $usersEmails,'
33+
' groupTitle: $groupTitle,'
34+
' groupImage: $groupImage,'
3835
'}';
3936
}
4037

@@ -52,9 +49,9 @@ class CreateGroupRoomDto {
5249

5350
Map<String, dynamic> toMap() {
5451
return {
55-
'usersEmails': this.usersEmails,
56-
'groupTitle': this.groupTitle,
57-
'groupImage': this.groupImage,
52+
'usersEmails': usersEmails,
53+
'groupTitle': groupTitle,
54+
'groupImage': groupImage,
5855
};
5956
}
6057

lib/src/dto/v_chat_login_dto.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ class VChatLoginDto {
88
VChatLoginDto({
99
required this.email,
1010
this.fcmToken,
11-
1211
});
1312

1413
Map<String, dynamic> toMap() {

lib/src/dto/v_chat_register_dto.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class VChatRegisterDto {
1414
required this.name,
1515
required this.email,
1616
required this.userImage,
17-
1817
});
1918

2019
Map<String, dynamic> toMap() {

lib/src/models/group_chat_setting.dart

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,18 @@ class GroupChatSetting {
88

99
const GroupChatSetting({
1010
required this.title,
11-
1211
required this.imageThumb,
1312
required this.groupMembers,
1413
});
1514

1615
GroupChatSetting copyWith({
1716
String? title,
18-
1917
String? imageThumb,
2018
int? groupMembers,
2119
}) {
2220
return GroupChatSetting(
2321
title: title ?? this.title,
2422
groupMembers: groupMembers ?? this.groupMembers,
25-
2623
imageThumb: imageThumb ?? this.imageThumb,
2724
);
2825
}
@@ -35,7 +32,6 @@ class GroupChatSetting {
3532
factory GroupChatSetting.fromMap(Map<String, dynamic> map) {
3633
return GroupChatSetting(
3734
title: (map['name'] as String),
38-
3935
groupMembers: (map['groupMembers'] as int),
4036
imageThumb: (map['imageThumb'] as String),
4137
);

0 commit comments

Comments
 (0)