Skip to content

Commit d211232

Browse files
committed
Dealing with logging issues.
1 parent 21fcc33 commit d211232

File tree

18 files changed

+2704
-332
lines changed

18 files changed

+2704
-332
lines changed

android/gradle.properties

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1-
org.gradle.jvmargs=-Xmx4816M
1+
org.gradle.jvmargs=-Xmx6144M
2+
org.gradle.parallel=true
3+
org.gradle.configuration-cache=true
4+
org.gradle.daemon=true
5+
26
android.useAndroidX=true
37
android.enableJetifier=true

lib/app.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ class ChatApp extends StatelessWidget {
1919
debugShowCheckedModeBanner: false,
2020
enableLog: true,
2121
builder: builder,
22-
logWriterCallback: Logger.print,
2322
translations: TranslationService(),
2423
localizationsDelegates: const [
2524
GlobalMaterialLocalizations.delegate,

lib/core/controller/app_controller.dart

Lines changed: 3 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -80,19 +80,6 @@ class AppController extends GetxController with UpgradeManger {
8080
super.onInit();
8181
}
8282

83-
void _requestPermissions() {
84-
flutterLocalNotificationsPlugin
85-
.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>()
86-
?.requestNotificationsPermission();
87-
flutterLocalNotificationsPlugin
88-
.resolvePlatformSpecificImplementation<IOSFlutterLocalNotificationsPlugin>()
89-
?.requestPermissions(
90-
alert: true,
91-
badge: true,
92-
sound: true,
93-
);
94-
}
95-
9683
Future<void> showNotification(im.Message message, {bool showNotification = true}) async {
9784
if (_isGlobalNotDisturb() ||
9885
message.attachedInfoElem?.notSenderNotificationPush == true ||
@@ -124,11 +111,11 @@ class AppController extends GetxController with UpgradeManger {
124111
if (Platform.isAndroid) {
125112
final id = seq;
126113

127-
const androidPlatformChannelSpecifics = AndroidNotificationDetails('chat', 'OpenIM聊天消息',
128-
channelDescription: '来自OpenIM的信息', importance: Importance.max, priority: Priority.high, ticker: 'ticker');
114+
const androidPlatformChannelSpecifics = AndroidNotificationDetails('chat', 'OpenIM Chat',
115+
channelDescription: 'OpenIM Chat Message', importance: Importance.max, priority: Priority.high, ticker: 'ticker');
129116
const NotificationDetails platformChannelSpecifics =
130117
NotificationDetails(android: androidPlatformChannelSpecifics);
131-
await flutterLocalNotificationsPlugin.show(id, '您收到了一条新消息', '消息内容:.....', platformChannelSpecifics,
118+
await flutterLocalNotificationsPlugin.show(id, 'You have a new message', 'Message:.....', platformChannelSpecifics,
132119
payload: '');
133120
}
134121
}
@@ -137,24 +124,6 @@ class AppController extends GetxController with UpgradeManger {
137124
Future<void> _cancelAllNotifications() async {
138125
await flutterLocalNotificationsPlugin.cancelAll();
139126
}
140-
141-
Future<void> _startForegroundService() async {
142-
await getAppInfo();
143-
const androidPlatformChannelSpecifics = AndroidNotificationDetails('pro', 'OpenIM后台进程',
144-
channelDescription: '保证app能收到信息', importance: Importance.max, priority: Priority.high, ticker: 'ticker');
145-
146-
await flutterLocalNotificationsPlugin
147-
.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>()
148-
?.startForegroundService(1, packageInfo!.appName, '正在运行...',
149-
notificationDetails: androidPlatformChannelSpecifics, payload: '');
150-
}
151-
152-
Future<void> _stopForegroundService() async {
153-
await flutterLocalNotificationsPlugin
154-
.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>()
155-
?.stopForegroundService();
156-
}
157-
158127
void showBadge(count) {
159128
OpenIM.iMManager.messageManager.setAppBadge(count);
160129

lib/core/controller/im_controller.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ class IMController extends GetxController with IMCallback, OpenIMLive {
158158
onJoinedGroupDeleted: joinedGroupDeleted,
159159
));
160160

161+
Logger().sdkIsInited = initialized;
161162
initializedSubject.sink.add(initialized);
162163
}
163164

@@ -168,7 +169,6 @@ class IMController extends GetxController with IMCallback, OpenIMLive {
168169
token: token,
169170
defaultValue: () async => UserInfo(userID: userID),
170171
);
171-
ApiService().setToken(token);
172172
userInfo = UserFullInfo.fromJson(user.toJson()).obs;
173173
_queryMyFullInfo();
174174
_queryAtAllTag();

lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ void main() {
1414

1515
Config.init(() => runApp(const ChatApp()));
1616
}, (error, stackTrace) {
17-
Logger.print('FlutterError: ${error.toString()}, ${stackTrace.toString()}');
17+
Logger.print('FlutterError: ${error.toString()}, ${stackTrace.toString()}', onlyConsole: true);
1818
});
1919
}

lib/pages/splash/splash_logic.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ class SplashLogic extends GetxController {
2121
@override
2222
void onInit() {
2323
initializedSub = imLogic.initializedSubject.listen((value) {
24-
Logger.print('---------------------initialized---------------------');
2524
if (null != userID && null != token) {
2625
_login();
2726
} else {

openim_common/lib/openim_common.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ export 'src/utils/permissions.dart';
3030
export 'src/utils/sp_util.dart';
3131
export 'src/utils/utils.dart';
3232
export 'src/utils/voice_record.dart';
33-
export 'src/utils/api_service.dart';
3433
export 'src/widgets/avatar_view.dart';
3534
export 'src/widgets/azlist_view.dart';
3635
export 'src/widgets/bottom_bar.dart';

openim_common/lib/src/apis.dart

Lines changed: 38 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
import 'dart:async';
2-
import 'dart:convert';
3-
4-
import 'package:collection/collection.dart';
52
import 'package:dio/dio.dart';
63
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
74
import 'package:get/get.dart';
85
import 'package:openim_common/openim_common.dart';
9-
import 'package:sprintf/sprintf.dart';
10-
11-
import 'utils/api_service.dart';
126

137
class Apis {
148
static Options get imTokenOptions => Options(headers: {'token': DataSp.imToken});
@@ -42,21 +36,11 @@ class Apis {
4236
'verifyCode': verificationCode,
4337
});
4438
final cert = LoginCertificate.fromJson(data!);
45-
ApiService().setToken(cert.imToken);
4639

4740
return cert;
48-
} catch (e, _) {
49-
final t = e as (int, String?)?;
50-
51-
if (t == null) {
52-
Logger.print('e:$e');
41+
} catch (e, s) {
42+
_catchErrorHelper(e, s);
5343

54-
return Future.error(e);
55-
}
56-
final errCode = t.$1;
57-
final errMsg = t.$2;
58-
_kickoff(errCode);
59-
Logger.print('e:$errCode s:$errMsg');
6044
return Future.error(e);
6145
}
6246
}
@@ -95,15 +79,11 @@ class Apis {
9579
});
9680

9781
final cert = LoginCertificate.fromJson(data!);
98-
ApiService().setToken(cert.imToken);
9982

10083
return cert;
10184
} catch (e, s) {
102-
final t = e as (int, String?);
103-
final errCode = t.$1;
104-
final errMsg = t.$2;
105-
_kickoff(errCode);
106-
Logger.print('e:$errCode s:$errMsg');
85+
_catchErrorHelper(e, s);
86+
10787
return Future.error(e);
10888
}
10989
}
@@ -129,11 +109,7 @@ class Apis {
129109
options: chatTokenOptions,
130110
);
131111
} catch (e, s) {
132-
final t = e as (int, String?);
133-
final errCode = t.$1;
134-
final errMsg = t.$2;
135-
_kickoff(errCode);
136-
Logger.print('e:$errCode s:$errMsg');
112+
_catchErrorHelper(e, s);
137113
}
138114
}
139115

@@ -155,11 +131,8 @@ class Apis {
155131
);
156132
return true;
157133
} catch (e, s) {
158-
final t = e as (int, String?);
159-
final errCode = t.$1;
160-
final errMsg = t.$2;
161-
_kickoff(errCode);
162-
Logger.print('e:$errCode s:$errMsg');
134+
_catchErrorHelper(e, s);
135+
163136
return false;
164137
}
165138
}
@@ -228,18 +201,15 @@ class Apis {
228201
options: chatTokenOptions,
229202
);
230203
} catch (e, s) {
231-
final t = e as (int, String?);
232-
final errCode = t.$1;
233-
final errMsg = t.$2;
234-
_kickoff(errCode);
235-
Logger.print('e:$errCode s:$errMsg');
204+
_catchErrorHelper(e, s);
236205
}
237206
}
238207

239208
static Future<List<FriendInfo>> searchFriendInfo(
240209
String keyword, {
241210
int pageNumber = 1,
242211
int showNumber = 10,
212+
bool showErrorToast = true,
243213
}) async {
244214
try {
245215
final data = await HttpUtil.post(
@@ -249,18 +219,16 @@ class Apis {
249219
'keyword': keyword,
250220
},
251221
options: chatTokenOptions,
222+
showErrorToast: showErrorToast,
252223
);
253224
if (data['users'] is List) {
254225
return (data['users'] as List).map((e) => FriendInfo.fromJson(e)).toList();
255226
}
256227
return [];
257228
} catch (e, s) {
258-
final t = e as (int, String?);
259-
final errCode = t.$1;
260-
final errMsg = t.$2;
261-
_kickoff(errCode);
262-
Logger.print('e:$errCode s:$errMsg');
263-
return [];
229+
_catchErrorHelper(e, s);
230+
231+
rethrow;
264232
}
265233
}
266234

@@ -284,11 +252,8 @@ class Apis {
284252
}
285253
return null;
286254
} catch (e, s) {
287-
final t = e as (int, String?);
288-
final errCode = t.$1;
289-
final errMsg = t.$2;
290-
_kickoff(errCode);
291-
Logger.print('e:$errCode s:$errMsg');
255+
_catchErrorHelper(e, s);
256+
292257
return [];
293258
}
294259
}
@@ -312,11 +277,8 @@ class Apis {
312277
}
313278
return null;
314279
} catch (e, s) {
315-
final t = e as (int, String?);
316-
final errCode = t.$1;
317-
final errMsg = t.$2;
318-
_kickoff(errCode);
319-
Logger.print('e:$errCode s:$errMsg');
280+
_catchErrorHelper(e, s);
281+
320282
return [];
321283
}
322284
}
@@ -348,7 +310,8 @@ class Apis {
348310
IMViews.showToast(StrRes.sentSuccessfully);
349311
return true;
350312
}).catchError((e, s) {
351-
Logger.print('e:$e s:$s');
313+
_catchErrorHelper(e, s);
314+
352315
return false;
353316
});
354317
}
@@ -365,7 +328,9 @@ class Apis {
365328
final signaling = SignalingCertificate.fromJson(value)..roomID = roomID;
366329
return signaling;
367330
}).catchError((e, s) {
368-
Logger.print('e:$e s:$s');
331+
_catchErrorHelper(e, s);
332+
333+
throw e;
369334
});
370335
}
371336

@@ -413,23 +378,24 @@ class Apis {
413378
return {'discoverPageURL': Config.discoverPageURL, 'allowSendMsgNotFriend': Config.allowSendMsgNotFriend};
414379
}
415380

416-
static void _catchError(Object e, StackTrace s, {bool forceBack = true}) {
417-
if (e is ApiException) {
418-
var msg = '${e.code}'.tr;
419-
if (msg.isEmpty || e.code.toString() == msg) {
420-
msg = e.message ?? 'Unkonw error';
421-
} else if (e.code == 1004) {
422-
msg = sprintf(msg, [StrRes.meeting]);
423-
}
424-
425-
IMViews.showToast(msg);
381+
static void _catchErrorHelper(Object e, StackTrace s) {
382+
if (e is (int, String?)) {
383+
final errCode = e.$1;
384+
final errMsg = e.$2;
385+
_kickoff(errCode);
426386

427-
if ((e.code == 10010 || e.code == 10002) && forceBack) {
428-
DataSp.removeLoginCertificate();
429-
Get.offAllNamed('/login');
430-
}
387+
Logger.print('e:$errCode s:$errMsg');
431388
} else {
432-
IMViews.showToast(e.toString());
389+
_catchError(e, s);
390+
}
391+
}
392+
393+
static void _catchError(Object e, StackTrace s, {bool forceBack = true}) {
394+
IMViews.showToast(e.toString());
395+
396+
if (forceBack) {
397+
DataSp.removeLoginCertificate();
398+
Get.offAllNamed('/login');
433399
}
434400
}
435401
}

openim_common/lib/src/config.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
66
import 'package:hive_flutter/hive_flutter.dart';
77
import 'package:media_kit/media_kit.dart';
88
import 'package:openim_common/openim_common.dart';
9-
import 'package:openim_common/src/utils/api_service.dart';
109
import 'package:package_info_plus/package_info_plus.dart';
1110
import 'package:path_provider/path_provider.dart';
1211

@@ -20,7 +19,6 @@ class Config {
2019
await Hive.initFlutter(path);
2120
MediaKit.ensureInitialized();
2221
HttpUtil.init();
23-
ApiService().setBaseUrl(serverIp);
2422
} catch (_) {}
2523

2624
runApp();
@@ -65,7 +63,7 @@ class Config {
6563
static const friendScheme = "io.openim.app/addFriend/";
6664
static const groupScheme = "io.openim.app/joinGroup/";
6765

68-
static const _host = "116.205.175.233";
66+
static const _host = "your-server-ip or your-domain";
6967

7068
static const _ipRegex = '((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)';
7169

0 commit comments

Comments
 (0)