Skip to content

Commit 7b68748

Browse files
feat: support hybrid mode
1 parent f146256 commit 7b68748

File tree

3 files changed

+15
-41
lines changed

3 files changed

+15
-41
lines changed

analysis_options.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ include: package:lint/analysis_options_package.yaml
22

33
analyzer:
44
exclude:
5-
# - "example/**"
5+
- "example/**"
66
- "**/*.g.dart"
77

88
linter:

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

Lines changed: 12 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import android.app.Activity;
44
import android.app.Application;
55
import android.content.Context;
6-
import android.content.Intent;
76
import android.graphics.Bitmap;
8-
import android.nfc.Tag;
97
import android.os.Bundle;
108
import android.util.Log;
119
import android.view.View;
@@ -27,13 +25,11 @@
2725

2826
import java.util.concurrent.Callable;
2927

30-
import io.flutter.embedding.engine.FlutterEngine;
3128
import io.flutter.embedding.engine.plugins.FlutterPlugin;
3229
import io.flutter.embedding.engine.plugins.activity.ActivityAware;
3330
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
3431
import io.flutter.embedding.engine.renderer.FlutterRenderer;
3532
import io.flutter.plugin.common.BinaryMessenger;
36-
import io.flutter.plugin.common.PluginRegistry;
3733

3834
public class InstabugFlutterPlugin implements FlutterPlugin, ActivityAware {
3935
private static final String TAG = InstabugFlutterPlugin.class.getName();
@@ -42,17 +38,21 @@ public class InstabugFlutterPlugin implements FlutterPlugin, ActivityAware {
4238

4339
public InstabugFlutterPigeon.InstabugFlutterApi instabugFlutterApi;
4440

41+
private boolean isLastScreenInstabug = false;
4542
Application.ActivityLifecycleCallbacks callbacks = new Application.ActivityLifecycleCallbacks() {
4643
@Override
4744
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
48-
if (activity == flutterActivity) {
49-
Log.v(TAG, "onActivityCreated");
50-
}
45+
5146
}
5247

5348
@Override
5449
public void onActivityStarted(@NonNull Activity activity) {
50+
if (isLastScreenInstabug) {
51+
isLastScreenInstabug = false;
52+
return;
53+
}
5554

55+
isLastScreenInstabug = activity.getComponentName().getClassName().contains("com.instabug.");
5656
if (activity == flutterActivity) {
5757
Log.v(TAG, "onActivityStarted");
5858
ThreadManager.runOnMainThread(new Runnable() {
@@ -80,16 +80,12 @@ public void onActivityResumed(@NonNull Activity activity) {
8080

8181
@Override
8282
public void onActivityPaused(@NonNull Activity activity) {
83-
if (activity == flutterActivity) {
84-
Log.v(TAG, "onActivityPaused");
85-
}
83+
8684
}
8785

8886
@Override
8987
public void onActivityStopped(@NonNull Activity activity) {
90-
if (activity == flutterActivity) {
91-
Log.v(TAG, "onActivityStopped");
92-
}
88+
9389

9490
}
9591

@@ -104,7 +100,6 @@ public void onActivityDestroyed(@NonNull Activity activity) {
104100
}
105101
};
106102

107-
PluginRegistry.ActivityResultListener resultListener;
108103
private InstabugApi instabugApi;
109104

110105
@Override
@@ -120,34 +115,13 @@ public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
120115
@Override
121116
public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) {
122117
flutterActivity = binding.getActivity();
123-
initOnActivityResultListener(binding);
118+
initOnActivityResultListener();
124119
}
125120

126-
private void initOnActivityResultListener(@NonNull ActivityPluginBinding binding) {
127-
121+
private void initOnActivityResultListener() {
128122
Application app = flutterActivity.getApplication();
129-
130123
app.unregisterActivityLifecycleCallbacks(callbacks);
131124
app.registerActivityLifecycleCallbacks(callbacks);
132-
133-
// if (resultListener != null) {
134-
// binding.removeActivityResultListener(resultListener);
135-
// }
136-
137-
// resultListener = new PluginRegistry.ActivityResultListener() {
138-
// @Override
139-
// public boolean onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
140-
// Log.v(TAG, "onActivityResult");
141-
//
142-
//
143-
//
144-
//
145-
// return false;
146-
// }
147-
// };
148-
//
149-
//
150-
// binding.addActivityResultListener(resultListener);
151125
}
152126

153127

@@ -160,7 +134,7 @@ public void onDetachedFromActivityForConfigChanges() {
160134
@Override
161135
public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) {
162136
flutterActivity = binding.getActivity();
163-
initOnActivityResultListener(binding);
137+
initOnActivityResultListener();
164138
}
165139

166140
@Override

android/src/main/java/com/instabug/flutter/modules/InstabugApi.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ public void setReproStepsConfig(@Nullable String bugMode, @Nullable String crash
369369
@Override
370370
public void reportScreenChange(@NonNull String screenName) {
371371
try {
372-
lastScreenChanged=screenName;
372+
lastScreenChanged = screenName;
373373
Method method = Reflection.getMethod(Class.forName("com.instabug.library.Instabug"), "reportScreenChange",
374374
Bitmap.class, String.class);
375375
if (method != null) {
@@ -387,7 +387,7 @@ public void reportScreenChange(@NonNull String screenName) {
387387
}
388388

389389
public void reportLastScreenChange(){
390-
if(lastScreenChanged!=null){
390+
if(lastScreenChanged != null){
391391
reportScreenChange(lastScreenChanged);
392392
}
393393
}

0 commit comments

Comments
 (0)