Skip to content

Commit e324984

Browse files
[MOB-5988] - Migration for Flutter 2.5.0 (Android embedding v2) (#203)
* fix flutter mirgration * migrating android to v2 embedding * fix mirgration * remove unused imports
1 parent 91c8698 commit e324984

File tree

4 files changed

+41
-30
lines changed

4 files changed

+41
-30
lines changed

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

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import android.os.Looper;
88
import android.util.Log;
99

10+
import androidx.annotation.NonNull;
11+
1012
import com.instabug.apm.APM;
1113
import com.instabug.apm.model.ExecutionTrace;
1214
import com.instabug.apm.networking.APMNetworkLogger;
@@ -48,6 +50,8 @@
4850
import java.util.Map;
4951
import com.instabug.library.Platform;
5052

53+
import io.flutter.embedding.engine.plugins.FlutterPlugin;
54+
import io.flutter.plugin.common.BinaryMessenger;
5155
import io.flutter.plugin.common.MethodCall;
5256
import io.flutter.plugin.common.MethodChannel;
5357
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
@@ -58,7 +62,7 @@
5862
/**
5963
* InstabugFlutterPlugin
6064
*/
61-
public class InstabugFlutterPlugin implements MethodCallHandler {
65+
public class InstabugFlutterPlugin implements MethodCallHandler, FlutterPlugin {
6266

6367
final public static String INVOCATION_EVENT_NONE = "InvocationEvent.none";
6468
final public static String INVOCATION_EVENT_SCREENSHOT = "InvocationEvent.screenshot";
@@ -75,7 +79,21 @@ public class InstabugFlutterPlugin implements MethodCallHandler {
7579
* Plugin registration.
7680
*/
7781
public static void registerWith(Registrar registrar) {
78-
channel = new MethodChannel(registrar.messenger(), "instabug_flutter");
82+
register(registrar.messenger());
83+
}
84+
85+
@Override
86+
public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
87+
register(binding.getBinaryMessenger());
88+
}
89+
90+
@Override
91+
public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
92+
93+
}
94+
95+
private static void register(BinaryMessenger messenger){
96+
channel = new MethodChannel(messenger, "instabug_flutter");
7997
channel.setMethodCallHandler(new InstabugFlutterPlugin());
8098
}
8199

@@ -1216,4 +1234,5 @@ public void disable() {
12161234
Instabug.disable();
12171235
}
12181236

1237+
12191238
}

lib/instabug_custom_http_client.dart

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,14 @@ class InstabugCustomHttpClient extends HttpClientLogger implements HttpClient {
5656
client.addProxyCredentials(host, port, realm, credentials);
5757

5858
@override
59-
set authenticate(
60-
Future<bool> Function(Uri url, String scheme, String realm)? f) =>
61-
client.authenticate = f;
59+
set authenticate(f) {
60+
client.authenticate = f;
61+
}
6262

6363
@override
64-
set authenticateProxy(
65-
Future<bool> Function(
66-
String host, int port, String scheme, String realm)?
67-
f) =>
68-
client.authenticateProxy = f;
64+
set authenticateProxy(f) {
65+
client.authenticateProxy = f;
66+
}
6967

7068
@override
7169
set badCertificateCallback(
@@ -145,8 +143,7 @@ class InstabugCustomHttpClient extends HttpClientLogger implements HttpClient {
145143
Future<InstabugCustomHttpClientRequest> _finish(
146144
HttpClientRequest request) async {
147145
logger.onRequest(request);
148-
final customRequest =
149-
InstabugCustomHttpClientRequest(request, logger);
146+
final customRequest = InstabugCustomHttpClientRequest(request, logger);
150147
return customRequest;
151148
}
152149
}

test/instabug_flutter_test.dart

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@ import 'package:instabug_flutter/InstabugLog.dart';
1616
import 'package:instabug_flutter/NetworkLogger.dart';
1717
import 'package:instabug_flutter/Replies.dart';
1818
import 'package:instabug_flutter/Surveys.dart';
19-
import 'package:instabug_flutter/instabug_custom_http_client.dart';
2019
import 'package:instabug_flutter/models/crash_data.dart';
2120
import 'package:instabug_flutter/models/exception_data.dart';
22-
import 'package:instabug_flutter/models/trace.dart' as execution_trace;
2321
import 'package:instabug_flutter/models/network_data.dart';
22+
import 'package:instabug_flutter/models/trace.dart' as execution_trace;
2423
import 'package:instabug_flutter/utils/platform_manager.dart';
2524
import 'package:mockito/annotations.dart';
2625
import 'package:mockito/mockito.dart';
@@ -32,6 +31,7 @@ import 'instabug_flutter_test.mocks.dart';
3231
PlatformManager,
3332
])
3433
void main() {
34+
TestWidgetsFlutterBinding.ensureInitialized();
3535
WidgetsFlutterBinding.ensureInitialized();
3636
final List<MethodCall> log = <MethodCall>[];
3737
const appToken = '068ba9a8c3615035e163dc5f829c73be';
@@ -996,16 +996,6 @@ void main() {
996996
expect(newNetworkData.status, statusCopy);
997997
});
998998

999-
test('Test Http client logger', () async {
1000-
final InstabugCustomHttpClient client = InstabugCustomHttpClient();
1001-
final HttpClientRequest request = await client
1002-
.getUrl(Uri.parse('https://jsonplaceholder.typicode.com/posts'));
1003-
client.logger.onRequest(request);
1004-
final HttpClientResponse response = await request.close();
1005-
client.logger.onResponse(response, request);
1006-
expect(client.requests.length, 0);
1007-
});
1008-
1009999
test('setAPMEnabled: Test', () async {
10101000
bool isEnabled = false;
10111001
final List<dynamic> args = <dynamic>[isEnabled];

test/network_logger_test.dart

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import 'network_logger_test.mocks.dart';
2020
HttpClientCredentials,
2121
])
2222
void main() {
23+
TestWidgetsFlutterBinding.ensureInitialized();
2324
WidgetsFlutterBinding.ensureInitialized();
2425

2526
final List<MethodCall> log = <MethodCall>[];
@@ -53,8 +54,9 @@ void main() {
5354
when(mockRequest.followRedirects).thenAnswer((_) => true);
5455
when(mockRequest.maxRedirects).thenAnswer((_) => 5);
5556
when(mockRequest.persistentConnection).thenAnswer((_) => true);
56-
57-
instabugCustomHttpClientRequest = InstabugCustomHttpClientRequest(mockRequest, instabugCustomHttpClient.logger);
57+
58+
instabugCustomHttpClientRequest = InstabugCustomHttpClientRequest(
59+
mockRequest, instabugCustomHttpClient.logger);
5860

5961
expect(mockRequest, isInstanceOf<HttpClientRequest>());
6062
expect(mockResponse, isInstanceOf<HttpClientResponse>());
@@ -393,8 +395,10 @@ void main() {
393395
test('expect instabug custom http client to set client authenticate',
394396
() async {
395397
final Future<bool> Function(Uri url, String scheme, String realm) f =
396-
(Uri url, String scheme, String realm) async => true;
397-
instabugCustomHttpClient.authenticate = f;
398+
(Uri url, String scheme, String? realm) async => true;
399+
400+
instabugCustomHttpClient.authenticate =
401+
f as Future<bool> Function(Uri url, String scheme, String? realm);
398402
verify((instabugCustomHttpClient.client as MockHttpClient).authenticate = f)
399403
.called(1);
400404
});
@@ -403,8 +407,9 @@ void main() {
403407
() async {
404408
final Future<bool> Function(
405409
String host, int port, String scheme, String realm) f =
406-
(String host, int port, String scheme, String realm) async => true;
407-
instabugCustomHttpClient.authenticateProxy = f;
410+
(String host, int port, String scheme, String? realm) async => true;
411+
instabugCustomHttpClient.authenticateProxy = f as Future<bool> Function(
412+
String host, int port, String scheme, String? realm);
408413
verify((instabugCustomHttpClient.client as MockHttpClient)
409414
.authenticateProxy = f)
410415
.called(1);

0 commit comments

Comments
 (0)