@onekeyfe/react-native-jpush 0.0.0-stage → 6.7.0-22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +56 -2
- package/ReactNativeJpush.podspec +66 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +144 -0
- package/android/fcm/build.gradle +36 -0
- package/android/fcm/consumer-rules.pro +2 -0
- package/android/fcm/src/main/AndroidManifest.xml +25 -0
- package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmInitProvider.java +25 -0
- package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmMessagingService.java +84 -0
- package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmPushManager.java +69 -0
- package/android/fcm/src/test/java/com/onekey/jpush/fcm/FcmAdapterTest.java +684 -0
- package/android/fcm/src/test/java/com/onekey/jpush/fcm/FcmManifestTest.java +54 -0
- package/android/gradle.properties +4 -0
- package/android/src/main/AndroidManifest.xml +143 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/cn/android/service/JTransitActivity.java +19 -0
- package/android/src/main/java/cn/jiguang/android/BuildConfig.java +10 -0
- package/android/src/main/java/cn/jiguang/android/IDataShare.java +190 -0
- package/android/src/main/java/cn/jiguang/api/BaseLogger.java +82 -0
- package/android/src/main/java/cn/jiguang/api/JAction.java +22 -0
- package/android/src/main/java/cn/jiguang/api/JActionExtra.java +21 -0
- package/android/src/main/java/cn/jiguang/api/JAnalyticsAction.java +11 -0
- package/android/src/main/java/cn/jiguang/api/JCoreInterface.java +228 -0
- package/android/src/main/java/cn/jiguang/api/JCoreManager.java +156 -0
- package/android/src/main/java/cn/jiguang/api/JDispatchAction.java +66 -0
- package/android/src/main/java/cn/jiguang/api/MultiSpHelper.java +114 -0
- package/android/src/main/java/cn/jiguang/api/ReportCallBack.java +9 -0
- package/android/src/main/java/cn/jiguang/api/SdkType.java +13 -0
- package/android/src/main/java/cn/jiguang/api/utils/JCollectionAuth.java +28 -0
- package/android/src/main/java/cn/jiguang/core/JCoreCrypto.java +545 -0
- package/android/src/main/java/cn/jiguang/core/JCoreStorage.java +737 -0
- package/android/src/main/java/cn/jiguang/core/JCoreTcpEngine.java +1395 -0
- package/android/src/main/java/cn/jiguang/core/JCoreWireCodec.java +1716 -0
- package/android/src/main/java/cn/jiguang/internal/ActionManager.java +63 -0
- package/android/src/main/java/cn/jiguang/internal/JConstants.java +61 -0
- package/android/src/main/java/cn/jiguang/internal/JCoreHelperAction.java +12 -0
- package/android/src/main/java/cn/jiguang/internal/JCoreInternalHelper.java +102 -0
- package/android/src/main/java/cn/jiguang/net/DefaultHostVerifier.java +40 -0
- package/android/src/main/java/cn/jiguang/net/HttpRequest.java +78 -0
- package/android/src/main/java/cn/jiguang/net/HttpResponse.java +48 -0
- package/android/src/main/java/cn/jiguang/net/HttpUtils.java +106 -0
- package/android/src/main/java/cn/jiguang/plugins/core/JCoreModule.java +91 -0
- package/android/src/main/java/cn/jiguang/plugins/core/JCorePackage.java +27 -0
- package/android/src/main/java/cn/jiguang/plugins/push/JPushModule.java +773 -0
- package/android/src/main/java/cn/jiguang/plugins/push/JPushPackage.java +25 -0
- package/android/src/main/java/cn/jiguang/plugins/push/common/JConstants.java +88 -0
- package/android/src/main/java/cn/jiguang/plugins/push/common/JLogger.java +122 -0
- package/android/src/main/java/cn/jiguang/plugins/push/helper/JPushHelper.java +710 -0
- package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushBroadcastReceiver.java +37 -0
- package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushModuleReceiver.java +264 -0
- package/android/src/main/java/cn/jiguang/plugins/service/JCoreModuleService.java +7 -0
- package/android/src/main/java/cn/jpush/android/api/BasicPushNotificationBuilder.java +83 -0
- package/android/src/main/java/cn/jpush/android/api/CallBackParams.java +50 -0
- package/android/src/main/java/cn/jpush/android/api/CmdMessage.java +33 -0
- package/android/src/main/java/cn/jpush/android/api/CustomMessage.java +28 -0
- package/android/src/main/java/cn/jpush/android/api/CustomPushNotificationBuilder.java +81 -0
- package/android/src/main/java/cn/jpush/android/api/DefaultPushNotificationBuilder.java +90 -0
- package/android/src/main/java/cn/jpush/android/api/InAppSlotParams.java +65 -0
- package/android/src/main/java/cn/jpush/android/api/InstrumentedActivity.java +17 -0
- package/android/src/main/java/cn/jpush/android/api/InstrumentedListActivity.java +17 -0
- package/android/src/main/java/cn/jpush/android/api/JPushInterface.java +490 -0
- package/android/src/main/java/cn/jpush/android/api/JPushMessage.java +121 -0
- package/android/src/main/java/cn/jpush/android/api/JThirdPlatFormInterface.java +247 -0
- package/android/src/main/java/cn/jpush/android/api/MultiActionsNotificationBuilder.java +72 -0
- package/android/src/main/java/cn/jpush/android/api/NotificationCustomButton.java +50 -0
- package/android/src/main/java/cn/jpush/android/api/NotificationMessage.java +67 -0
- package/android/src/main/java/cn/jpush/android/api/PushNotificationBuilder.java +13 -0
- package/android/src/main/java/cn/jpush/android/api/TagAliasCallback.java +8 -0
- package/android/src/main/java/cn/jpush/android/data/JPushCollectControl.java +96 -0
- package/android/src/main/java/cn/jpush/android/data/JPushConfig.java +79 -0
- package/android/src/main/java/cn/jpush/android/data/JPushConfigEx.java +41 -0
- package/android/src/main/java/cn/jpush/android/data/JPushLocalNotification.java +155 -0
- package/android/src/main/java/cn/jpush/android/helper/JCoreHelper.java +70 -0
- package/android/src/main/java/cn/jpush/android/helper/Logger.java +82 -0
- package/android/src/main/java/cn/jpush/android/local/ActionHelper.java +1293 -0
- package/android/src/main/java/cn/jpush/android/local/ActivityLifeCallBack.java +47 -0
- package/android/src/main/java/cn/jpush/android/local/JPushAction.java +67 -0
- package/android/src/main/java/cn/jpush/android/local/JPushConstants.java +34 -0
- package/android/src/main/java/cn/jpush/android/local/JPushResponse.java +26 -0
- package/android/src/main/java/cn/jpush/android/local/ProxyActivityAction.java +34 -0
- package/android/src/main/java/cn/jpush/android/service/AlarmReceiver.java +15 -0
- package/android/src/main/java/cn/jpush/android/service/BActivity.java +19 -0
- package/android/src/main/java/cn/jpush/android/service/DActivity.java +19 -0
- package/android/src/main/java/cn/jpush/android/service/DaemonService.java +17 -0
- package/android/src/main/java/cn/jpush/android/service/DataProvider.java +136 -0
- package/android/src/main/java/cn/jpush/android/service/DataShare.java +129 -0
- package/android/src/main/java/cn/jpush/android/service/DownloadProvider.java +139 -0
- package/android/src/main/java/cn/jpush/android/service/InitProvider.java +48 -0
- package/android/src/main/java/cn/jpush/android/service/JCommonService.java +79 -0
- package/android/src/main/java/cn/jpush/android/service/JNotifyActivity.java +28 -0
- package/android/src/main/java/cn/jpush/android/service/JPushMessageReceiver.java +94 -0
- package/android/src/main/java/cn/jpush/android/service/PushReceiver.java +26 -0
- package/android/src/main/java/cn/jpush/android/service/PushService.java +28 -0
- package/android/src/main/java/cn/jpush/android/service/SchedulerReceiver.java +17 -0
- package/android/src/main/java/cn/jpush/android/service/TagAliasReceiver.java +11 -0
- package/android/src/main/java/cn/jpush/android/service/WakedResultReceiver.java +24 -0
- package/android/src/main/java/cn/jpush/android/ui/FullScreenView.java +11 -0
- package/android/src/main/java/cn/jpush/android/ui/PopWinActivity.java +16 -0
- package/android/src/main/java/cn/jpush/android/ui/PushActivity.java +27 -0
- package/android/src/main/java/cn/jpush/android/ui/RoundedImageView.java +63 -0
- package/android/src/main/java/cn/jpush/android/ui/ShadowViewCard.java +56 -0
- package/android/src/main/java/cn/jpush/android/ups/ICallbackResult.java +5 -0
- package/android/src/main/java/cn/jpush/android/ups/JPushUPSManager.java +37 -0
- package/android/src/main/java/cn/jpush/android/ups/TokenResult.java +47 -0
- package/android/src/main/java/cn/jpush/android/ups/UPSRegisterCallBack.java +4 -0
- package/android/src/main/java/cn/jpush/android/ups/UPSTurnCallBack.java +4 -0
- package/android/src/main/java/cn/jpush/android/ups/UPSUnRegisterCallBack.java +4 -0
- package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpush.kt +455 -0
- package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushPackage.kt +50 -0
- package/android/src/main/res/values/jpush_string.xml +7 -0
- package/android/src/main/res/values/jpush_style.xml +22 -0
- package/android/src/test/java/com/margelo/nitro/reactnativejpush/JPushCloudHandshakeTest.java +110 -0
- package/android/src/test/java/com/margelo/nitro/reactnativejpush/JPushHandshakeFailureTest.java +73 -0
- package/android/src/test/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushProtocolTest.java +908 -0
- package/ios/ReactNativeJpush.swift +522 -0
- package/ios/bridge/RCTJCoreModule.h +5 -0
- package/ios/bridge/RCTJCoreModule.m +31 -0
- package/ios/bridge/RCTJPushEventQueue.h +14 -0
- package/ios/bridge/RCTJPushEventQueue.m +23 -0
- package/ios/bridge/RCTJPushModule.h +37 -0
- package/ios/bridge/RCTJPushModule.m +1165 -0
- package/ios/include/JCOREService.h +3 -0
- package/ios/include/JGCOREAPI.h +14 -0
- package/ios/include/JGInforCollectionAuth.h +17 -0
- package/ios/include/JGInforCollectionAuthItems.h +2 -0
- package/ios/include/JGPushNotificationTrigger.h +2 -0
- package/ios/include/JPUSHService.h +359 -0
- package/ios/jcore/JCOREConfiguration.h +141 -0
- package/ios/jcore/JCOREConfiguration.m +703 -0
- package/ios/jcore/JCORECrypto.h +73 -0
- package/ios/jcore/JCORECrypto.m +649 -0
- package/ios/jcore/JCORESisResolver.h +56 -0
- package/ios/jcore/JCORESisResolver.m +525 -0
- package/ios/jcore/JCORETcpSession.h +42 -0
- package/ios/jcore/JCORETcpSession.m +956 -0
- package/ios/jcore/JCOREWireProtocol.h +274 -0
- package/ios/jcore/JCOREWireProtocol.m +1453 -0
- package/ios/jpush/JPUSHModels.m +214 -0
- package/ios/jpush/JPUSHNotificationManager.h +34 -0
- package/ios/jpush/JPUSHNotificationManager.m +360 -0
- package/ios/jpush/JPUSHService.m +794 -0
- package/ios/tests/ReactNativeJpushTests.m +148 -0
- package/lib/module/ReactNativeJpush.nitro.js +4 -0
- package/lib/module/ReactNativeJpush.nitro.js.map +1 -0
- package/lib/module/index.js +801 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/ReactNativeJpush.nitro.d.ts +60 -0
- package/lib/typescript/src/ReactNativeJpush.nitro.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +235 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitro.json +23 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +76 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.cpp +310 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.hpp +115 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_bool.kt +78 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_std__string_std__string.kt +78 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/HybridReactNativeJpushSpec.kt +274 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/reactnativejpushOnLoad.kt +35 -0
- package/nitrogen/generated/android/reactnativejpush+autolinking.cmake +81 -0
- package/nitrogen/generated/android/reactnativejpush+autolinking.gradle +27 -0
- package/nitrogen/generated/android/reactnativejpushOnLoad.cpp +58 -0
- package/nitrogen/generated/android/reactnativejpushOnLoad.hpp +34 -0
- package/nitrogen/generated/ios/ReactNativeJpush+autolinking.rb +62 -0
- package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.cpp +49 -0
- package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.hpp +147 -0
- package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Umbrella.hpp +46 -0
- package/nitrogen/generated/ios/ReactNativeJpushAutolinking.mm +33 -0
- package/nitrogen/generated/ios/ReactNativeJpushAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.hpp +402 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec.swift +107 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec_cxx.swift +723 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.cpp +73 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.hpp +116 -0
- package/package.json +174 -4
- package/src/ReactNativeJpush.nitro.ts +93 -0
- package/src/index.tsx +1090 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
package cn.jiguang.plugins.push;
|
|
3
|
+
|
|
4
|
+
import java.util.Arrays;
|
|
5
|
+
import java.util.Collections;
|
|
6
|
+
import java.util.List;
|
|
7
|
+
|
|
8
|
+
import com.facebook.react.ReactPackage;
|
|
9
|
+
import com.facebook.react.bridge.NativeModule;
|
|
10
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
11
|
+
import com.facebook.react.uimanager.ViewManager;
|
|
12
|
+
|
|
13
|
+
public class JPushPackage implements ReactPackage {
|
|
14
|
+
|
|
15
|
+
@Override
|
|
16
|
+
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
|
17
|
+
return Arrays.<NativeModule>asList(new JPushModule(reactContext));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@Override
|
|
21
|
+
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
|
22
|
+
return Collections.emptyList();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
package cn.jiguang.plugins.push.common;
|
|
2
|
+
|
|
3
|
+
public class JConstants {
|
|
4
|
+
|
|
5
|
+
public static final String DEBUG = "debug";
|
|
6
|
+
|
|
7
|
+
public static final String REGISTRATION_ID = "registerID";
|
|
8
|
+
|
|
9
|
+
public static final String CODE = "code";
|
|
10
|
+
public static final String CHANNEL = "channel";
|
|
11
|
+
public static final String CHANNELID = "channelId";
|
|
12
|
+
public static final String SOUND = "sound";
|
|
13
|
+
public static final String SEQUENCE = "sequence";
|
|
14
|
+
public static final String CONNECT_ENABLE = "connectEnable";
|
|
15
|
+
//电话号码
|
|
16
|
+
public static final String MOBILE_NUMBER = "mobileNumber";
|
|
17
|
+
//pushTime
|
|
18
|
+
public static final String PUSH_TIME_DAYS = "pushTimeDays";
|
|
19
|
+
public static final String PUSH_TIME_START_HOUR = "pushTimeStartHour";
|
|
20
|
+
public static final String PUSH_TIME_END_HOUR = "pushTimeEndHour";
|
|
21
|
+
//silenceTime
|
|
22
|
+
public static final String SILENCE_TIME_START_HOUR = "silenceTimeStartHour";
|
|
23
|
+
public static final String SILENCE_TIME_START_MINUTE = "silenceTimeStartMinute";
|
|
24
|
+
public static final String SILENCE_TIME_END_HOUR = "silenceTimeEndHour";
|
|
25
|
+
public static final String SILENCE_TIME_END_MINUTE = "silenceTimeEndMinute";
|
|
26
|
+
//消息
|
|
27
|
+
public static final String MESSAGE_ID = "messageID";
|
|
28
|
+
public static final String TITLE = "title";
|
|
29
|
+
public static final String BROADCAST_TIME = "broadcastTime";
|
|
30
|
+
public static final String CONTENT = "content";
|
|
31
|
+
public static final String EXTRAS = "extras";
|
|
32
|
+
public static final String INAPPCLICKACTION = "inAppClickAction";
|
|
33
|
+
public static final String INAPPEXTRAS = "inAppExtras";
|
|
34
|
+
public static final String INAPPSHOWTARGET = "inAppShowTarget";
|
|
35
|
+
//消息事件
|
|
36
|
+
public static final String NOTIFICATION_ARRIVED = "notificationArrived";
|
|
37
|
+
public static final String NOTIFICATION_OPENED = "notificationOpened";
|
|
38
|
+
public static final String NOTIFICATION_DISMISSED = "notificationDismissed";
|
|
39
|
+
//通知消息
|
|
40
|
+
public static final String NOTIFICATION_EVENT_TYPE = "notificationEventType";
|
|
41
|
+
public static final String NOTIFICATION_MAX_NUMBER = "notificationMaxNumber";
|
|
42
|
+
public static final String NOTIFICATION_ID = "notificationId";
|
|
43
|
+
//cmd消息
|
|
44
|
+
public static final String COMMAND = "command";
|
|
45
|
+
public static final String COMMAND_EXTRA = "commandExtra";
|
|
46
|
+
public static final String COMMAND_RESULT = "commandResult";
|
|
47
|
+
public static final String COMMAND_MESSAGE = "commandMessage";
|
|
48
|
+
//地理围栏
|
|
49
|
+
public static final String GEO_FENCE_ID = "geoFenceID";
|
|
50
|
+
public static final String GEO_FENCE_INTERVAL = "geoFenceInterval";
|
|
51
|
+
public static final String GEO_FENCE_MAX_NUMBER = "geoFenceMaxNumber";
|
|
52
|
+
//tag alias
|
|
53
|
+
public static final String TAG = "tag";
|
|
54
|
+
public static final String TAGS = "tags";
|
|
55
|
+
public static final String ALIAS = "alias";
|
|
56
|
+
public static final String TAG_ENABLE = "tagEnable";
|
|
57
|
+
//error
|
|
58
|
+
public static final String PARAMS_NULL = "params cant be null";
|
|
59
|
+
public static final String PARAMS_ILLEGAL = "params illegal";
|
|
60
|
+
public static final String CALLBACK_NULL = "callback cant be null";
|
|
61
|
+
//event
|
|
62
|
+
public static final String CONNECT_EVENT = "ConnectEvent";
|
|
63
|
+
public static final String NOTIFICATION_EVENT = "NotificationEvent";
|
|
64
|
+
public static final String INAPP_MESSAGE_EVENT = "InappMessageEvent";
|
|
65
|
+
public static final String CUSTOM_MESSAGE_EVENT = "CustomMessageEvent";
|
|
66
|
+
public static final String LOCAL_NOTIFICATION_EVENT = "LocalNotificationEvent";
|
|
67
|
+
public static final String TAG_ALIAS_EVENT = "TagAliasEvent";
|
|
68
|
+
public static final String MOBILE_NUMBER_EVENT = "MobileNumberEvent";
|
|
69
|
+
public static final String NOTIFY_BUTTON_CLICK_EVENT = "NotifyButtonClickEvent";
|
|
70
|
+
public static final String COMMAND_EVENT = "CommandEvent";
|
|
71
|
+
public static final String BADGE_NUMBER = "badge";
|
|
72
|
+
public static final String PROPERTIES = "pros";
|
|
73
|
+
public static final String IN_APP_MESSAGE_CLICK = "inappClick";
|
|
74
|
+
public static final String IN_APP_MESSAGE_SHOW = "inappShow";
|
|
75
|
+
|
|
76
|
+
public static final String IMEI = "imei";
|
|
77
|
+
public static final String IMSI = "imsi";
|
|
78
|
+
public static final String MAC = "mac";
|
|
79
|
+
public static final String WIFI = "wifi";
|
|
80
|
+
public static final String BSSID = "bssid";
|
|
81
|
+
public static final String SSID = "ssid";
|
|
82
|
+
public static final String CELL = "cell";
|
|
83
|
+
|
|
84
|
+
// 本地通知相关常量
|
|
85
|
+
public static final String BUILDER_NAME = "builderName";
|
|
86
|
+
public static final String CATEGORY = "category";
|
|
87
|
+
public static final String PRIORITY = "priority";
|
|
88
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
package cn.jiguang.plugins.push.common;
|
|
2
|
+
|
|
3
|
+
import android.util.Log;
|
|
4
|
+
import java.lang.reflect.Method;
|
|
5
|
+
import java.util.ArrayList;
|
|
6
|
+
import java.util.List;
|
|
7
|
+
|
|
8
|
+
public class JLogger {
|
|
9
|
+
|
|
10
|
+
public static final String TAG = "RN-JPush";
|
|
11
|
+
|
|
12
|
+
private static volatile boolean isLoggerEnable = true;
|
|
13
|
+
private static final int MAX_RECENT_LOGS = 200;
|
|
14
|
+
private static final List<String> RECENT_LOGS = new ArrayList<String>();
|
|
15
|
+
|
|
16
|
+
private static volatile boolean sOneKeyLogResolved = false;
|
|
17
|
+
private static Method sDebugMethod;
|
|
18
|
+
private static Method sInfoMethod;
|
|
19
|
+
private static Method sWarnMethod;
|
|
20
|
+
private static Method sErrorMethod;
|
|
21
|
+
|
|
22
|
+
private static void resolveOneKeyLogIfNeeded() {
|
|
23
|
+
if (sOneKeyLogResolved) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
synchronized (JLogger.class) {
|
|
27
|
+
if (sOneKeyLogResolved) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
Class<?> cls = Class.forName("com.margelo.nitro.nativelogger.OneKeyLog");
|
|
32
|
+
sDebugMethod = cls.getMethod("debug", String.class, String.class);
|
|
33
|
+
sInfoMethod = cls.getMethod("info", String.class, String.class);
|
|
34
|
+
sWarnMethod = cls.getMethod("warn", String.class, String.class);
|
|
35
|
+
sErrorMethod = cls.getMethod("error", String.class, String.class);
|
|
36
|
+
} catch (Throwable ignored) {
|
|
37
|
+
sDebugMethod = null;
|
|
38
|
+
sInfoMethod = null;
|
|
39
|
+
sWarnMethod = null;
|
|
40
|
+
sErrorMethod = null;
|
|
41
|
+
} finally {
|
|
42
|
+
sOneKeyLogResolved = true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
private static void recordRecentLog(String level, String msg) {
|
|
48
|
+
String entry = "[" + level + "] " + (msg != null ? msg : "");
|
|
49
|
+
synchronized (RECENT_LOGS) {
|
|
50
|
+
if (RECENT_LOGS.size() >= MAX_RECENT_LOGS) {
|
|
51
|
+
RECENT_LOGS.remove(0);
|
|
52
|
+
}
|
|
53
|
+
RECENT_LOGS.add(entry);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public static List<String> getRecentLogs() {
|
|
58
|
+
synchronized (RECENT_LOGS) {
|
|
59
|
+
return new ArrayList<String>(RECENT_LOGS);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public static void clearRecentLogs() {
|
|
64
|
+
synchronized (RECENT_LOGS) {
|
|
65
|
+
RECENT_LOGS.clear();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public static boolean isLoggerEnable() {
|
|
70
|
+
return isLoggerEnable;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public static void setLoggerEnable(boolean loggerEnable) {
|
|
74
|
+
isLoggerEnable = loggerEnable;
|
|
75
|
+
dispatch("INFO", sInfoMethod, Log.INFO, "setLoggerEnable=" + loggerEnable, true);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
private static void dispatch(String level, Method oneKeyMethod, int priority, String msg, boolean force) {
|
|
79
|
+
if (!force && !isLoggerEnable) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
String safeMsg = msg != null ? msg : "";
|
|
83
|
+
recordRecentLog(level, safeMsg);
|
|
84
|
+
if (cn.jiguang.core.JCoreStorage.isLocalLogEnabled(null)) {
|
|
85
|
+
cn.jiguang.core.JCoreStorage.appendLocalLog("[" + level + "] " + safeMsg);
|
|
86
|
+
}
|
|
87
|
+
resolveOneKeyLogIfNeeded();
|
|
88
|
+
if (oneKeyMethod != null) {
|
|
89
|
+
try {
|
|
90
|
+
oneKeyMethod.invoke(null, TAG, safeMsg);
|
|
91
|
+
return;
|
|
92
|
+
} catch (Throwable ignored) {
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
Log.println(priority, TAG, safeMsg);
|
|
97
|
+
} catch (Throwable ignored) {
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
public static void i(String msg) {
|
|
102
|
+
dispatch("INFO", sInfoMethod, Log.INFO, msg, false);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public static void d(String msg) {
|
|
106
|
+
dispatch("DEBUG", sDebugMethod, Log.DEBUG, msg, false);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public static void v(String msg) {
|
|
110
|
+
dispatch("DEBUG", sDebugMethod, Log.VERBOSE, msg, false);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
public static void w(String msg) {
|
|
114
|
+
dispatch("WARN", sWarnMethod, Log.WARN, msg, false);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
public static void e(String error) {
|
|
118
|
+
dispatch("ERROR", sErrorMethod, Log.ERROR, error, false);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
}
|
|
122
|
+
|