Skip to content

Commit 69975f4

Browse files
committed
Remove startExecutionTraceCallBack
1 parent a5193c9 commit 69975f4

File tree

4 files changed

+29
-44
lines changed

4 files changed

+29
-44
lines changed

android/src/main/java/com/instabug/instabugflutter/InstabugFlutterPlugin.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,23 +1051,19 @@ public void run() {
10511051
* Starts an execution trace
10521052
* @param name string name of the trace.
10531053
*/
1054-
public void startExecutionTrace(final String name, final String id) {
1055-
new Handler(Looper.getMainLooper()).post(new Runnable() {
1056-
@Override
1057-
public void run() {
1058-
try {
1059-
String result = null;
1060-
ExecutionTrace trace = APM.startExecutionTrace(name);
1061-
if (trace != null) {
1062-
result = id;
1063-
traces.put(id, trace);
1064-
}
1065-
channel.invokeMethod("startExecutionTraceCallBack", result);
1066-
} catch (Exception e) {
1067-
e.printStackTrace();
1068-
}
1054+
public String startExecutionTrace(final String name, final String id) {
1055+
try {
1056+
String result = null;
1057+
ExecutionTrace trace = APM.startExecutionTrace(name);
1058+
if (trace != null) {
1059+
result = id;
1060+
traces.put(id, trace);
10691061
}
1070-
});
1062+
return result;
1063+
} catch (Exception e) {
1064+
e.printStackTrace();
1065+
return null;
1066+
}
10711067
}
10721068

10731069
/**

ios/Classes/InstabugFlutterPlugin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@
487487
*/
488488
+ (void)setColdAppLaunchEnabled:(NSNumber *)isEnabled;
489489

490-
+ (void)startExecutionTrace:(NSString *)name id:(NSString *)id;
490+
+ (NSString *)startExecutionTrace:(NSString *)name id:(NSString *)id;
491491

492492
+ (void)setExecutionTraceAttribute:(NSString *)id key:(NSString *)key value:(NSString *)value;
493493

ios/Classes/InstabugFlutterPlugin.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -912,13 +912,13 @@ + (void)setColdAppLaunchEnabled:(NSNumber *)isEnabled {
912912
* @param {string} name of the trace.
913913
* @param {string} id of the trace.
914914
*/
915-
+ (void)startExecutionTrace:(NSString *)name id:(NSString *)id {
915+
+ (NSString *)startExecutionTrace:(NSString *)name id:(NSString *)id {
916916
IBGExecutionTrace *trace = [IBGAPM startExecutionTraceWithName:name];
917917
if (trace != nil) {
918918
[traces setObject: trace forKey: id];
919-
[channel invokeMethod:@"startExecutionTraceCallBack" arguments:id];
919+
return id;
920920
} else {
921-
[channel invokeMethod:@"startExecutionTraceCallBack" arguments:nil];
921+
return nil;
922922
}
923923
}
924924

lib/APM.dart

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,6 @@ class APM {
2323
static Future<String?> get platformVersion async =>
2424
await _channel.invokeMethod<String>('getPlatformVersion');
2525

26-
static Future<dynamic> _handleMethod(MethodCall call) async {
27-
switch (call.method) {
28-
case 'startExecutionTraceCallBack':
29-
_startExecutionTraceCallback(call.arguments);
30-
return;
31-
}
32-
}
33-
3426
/// Enables or disables APM feature.
3527
/// [boolean] isEnabled
3628
static Future<void> setEnabled(bool isEnabled) async {
@@ -54,24 +46,20 @@ class APM {
5446

5547
/// Starts an execution trace.
5648
/// [String] name of the trace.
57-
static Future<dynamic> startExecutionTrace(String name) async {
58-
final String TRACE_NOT_STARTED_APM_NOT_ENABLED = "Execution trace " +
59-
name +
60-
" wasn't created. Please make sure to enable APM first by following the instructions at this link: https://docs.instabug.com/reference#enable-or-disable-apm";
49+
static Future<Trace> startExecutionTrace(String name) async {
6150
final DateTime id = DateTime.now();
62-
final Completer completer = new Completer<Trace>();
6351
final List<dynamic> params = <dynamic>[name.toString(), id.toString()];
64-
_channel.setMethodCallHandler(_handleMethod);
65-
final Function callback = (String idBack) async {
66-
if (idBack != null) {
67-
completer.complete(Trace(idBack, name));
68-
} else {
69-
completer.completeError(TRACE_NOT_STARTED_APM_NOT_ENABLED);
70-
}
71-
};
72-
_startExecutionTraceCallback = callback;
73-
await _channel.invokeMethod<Object>('startExecutionTrace:id:', params);
74-
return completer.future;
52+
final traceId =
53+
await _channel.invokeMethod<String?>('startExecutionTrace:id:', params);
54+
55+
if (traceId == null) {
56+
return Future.error(
57+
"Execution trace $name wasn't created. Please make sure to enable APM first by following"
58+
'the instructions at this link: https://docs.instabug.com/reference#enable-or-disable-apm',
59+
);
60+
}
61+
62+
return Trace(traceId, name);
7563
}
7664

7765
/// Sets attribute of an execution trace.
@@ -114,6 +102,7 @@ class APM {
114102
static Future<void> endUITrace() async {
115103
await _channel.invokeMethod<Object>('endUITrace');
116104
}
105+
117106
/// Ends UI trace.
118107
static void endAppLaunch() async {
119108
await _channel.invokeMethod<Object>('endAppLaunch');

0 commit comments

Comments
 (0)