Skip to content

Commit 49ea245

Browse files
Merge pull request #527 from Instabug/refactor/monorepo-private-view-package
Refactor: merge private-views package into mono-repo
2 parents daae1ac + 05fac1f commit 49ea245

File tree

170 files changed

+7418
-94
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+7418
-94
lines changed

.circleci/config.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,15 @@ jobs:
334334
- run: chmod +x packages/instabug_flutter_modular/release.sh
335335
- run: ./packages/instabug_flutter_modular/release.sh
336336

337+
release_instabug_private_views_plugin:
338+
executor: flutter-executor
339+
steps:
340+
- advanced-checkout/shallow-checkout
341+
- setup_flutter
342+
- run: chmod +x packages/instabug_private_views/release.sh
343+
- run: ./packages/instabug_private_views/release.sh
344+
345+
337346
release_instabug_flutter:
338347
macos:
339348
xcode: 15.2.0
@@ -454,6 +463,20 @@ workflows:
454463
filters:
455464
branches:
456465
only: master
466+
- hold_release_instabug_private_views_plugin:
467+
type: approval
468+
requires:
469+
- test_flutter-stable
470+
filters:
471+
branches:
472+
only: master
473+
- release_instabug_private_views_plugin:
474+
requires:
475+
- hold_release_instabug_private_views_plugin
476+
- verify_pub
477+
filters:
478+
branches:
479+
only: master
457480
- release_instabug_flutter:
458481
requires:
459482
- hold_release_instabug_flutter

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ android/gradlew.bat
6363
**/ios/**/DerivedData/
6464
**/ios/**/Icon?
6565
**/ios/**/Pods/
66+
**/ios/**/Pods/
67+
6668
**/ios/**/.symlinks/
6769
**/ios/**/profile
6870
**/ios/**/xcuserdata

analysis_options.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ analyzer:
44
exclude:
55
- "packages/**/*.g.dart"
66
- "packages/**/example/**"
7+
- "packages/instabug_private_views/example-hybrid-ios-app/**/**"
78

89

910
linter:

packages/instabug_dio_interceptor/lib/instabug_dio_interceptor.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ class InstabugDioInterceptor extends Interceptor {
7676

7777
var responseBodySize = 0;
7878
if (responseHeaders.containsKey('content-length')) {
79-
responseBodySize = int.parse(responseHeaders['content-length'][0] ?? '0');
79+
// ignore: avoid_dynamic_calls
80+
responseBodySize = int.parse((responseHeaders['content-length'][0]) ?? '0');
8081
} else if (response.data != null) {
8182
responseBodySize = response.data.toString().length;
8283
}

packages/instabug_flutter/android/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ android {
4444
}
4545

4646
dependencies {
47-
api 'com.instabug.library:instabug:14.0.0'
47+
api 'com.instabug.library:instabug:13.4.1.6295791-SNAPSHOT'
48+
4849
testImplementation 'junit:junit:4.13.2'
4950
testImplementation "org.mockito:mockito-inline:3.12.1"
5051
testImplementation "io.mockk:mockk:1.13.13"

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.instabug.flutter.modules.RepliesApi;
2020
import com.instabug.flutter.modules.SessionReplayApi;
2121
import com.instabug.flutter.modules.SurveysApi;
22+
import com.instabug.library.internal.crossplatform.InternalCore;
2223

2324
import java.util.concurrent.Callable;
2425

@@ -35,6 +36,7 @@ public class InstabugFlutterPlugin implements FlutterPlugin, ActivityAware {
3536
@SuppressLint("StaticFieldLeak")
3637
private static Activity activity;
3738

39+
3840
/**
3941
* Embedding v1
4042
*/

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.instabug.library.internal.crossplatform.CoreFeaturesState;
1818
import com.instabug.library.internal.crossplatform.FeaturesStateListener;
1919
import com.instabug.library.internal.crossplatform.InternalCore;
20+
import com.instabug.flutter.util.privateViews.ScreenshotCaptor;
2021
import com.instabug.library.Feature;
2122
import com.instabug.library.Instabug;
2223
import com.instabug.library.InstabugColorTheme;
@@ -25,9 +26,11 @@
2526
import com.instabug.library.Platform;
2627
import com.instabug.library.ReproConfigurations;
2728
import com.instabug.library.featuresflags.model.IBGFeatureFlag;
29+
import com.instabug.library.internal.crossplatform.InternalCore;
2830
import com.instabug.library.internal.module.InstabugLocale;
2931
import com.instabug.library.invocation.InstabugInvocationEvent;
3032
import com.instabug.library.model.NetworkLog;
33+
import com.instabug.library.screenshot.instacapture.ScreenshotRequest;
3134
import com.instabug.library.ui.onboarding.WelcomeMessage;
3235
import io.flutter.FlutterInjector;
3336
import io.flutter.embedding.engine.loader.FlutterLoader;
@@ -492,4 +495,24 @@ public Map<String, Boolean> isW3CFeatureFlagsEnabled() {
492495
public void willRedirectToStore() {
493496
Instabug.willRedirectToStore();
494497
}
498+
499+
public static void setScreenshotCaptor(ScreenshotCaptor screenshotCaptor,InternalCore internalCore) {
500+
internalCore._setScreenshotCaptor(new com.instabug.library.screenshot.ScreenshotCaptor() {
501+
@Override
502+
public void capture(@NonNull ScreenshotRequest screenshotRequest) {
503+
screenshotCaptor.capture(new ScreenshotCaptor.CapturingCallback() {
504+
@Override
505+
public void onCapturingFailure(Throwable throwable) {
506+
screenshotRequest.getListener().onCapturingFailure(throwable);
507+
}
508+
509+
@Override
510+
public void onCapturingSuccess(Bitmap bitmap) {
511+
screenshotRequest.getListener().onCapturingSuccess(bitmap);
512+
}
513+
});
514+
}
515+
});
516+
}
517+
495518
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.instabug.flutter.util.privateViews;
2+
3+
import android.graphics.Bitmap;
4+
5+
public interface ScreenshotCaptor {
6+
public void capture(CapturingCallback listener);
7+
8+
public interface CapturingCallback {
9+
public void onCapturingFailure(Throwable throwable);
10+
11+
public void onCapturingSuccess(Bitmap bitmap);
12+
}
13+
}

packages/instabug_flutter/android/src/test/java/com/instabug/flutter/InstabugApiTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,10 @@
4646
import com.instabug.library.internal.crossplatform.FeaturesStateListener;
4747
import com.instabug.library.internal.crossplatform.InternalCore;
4848
import com.instabug.library.featuresflags.model.IBGFeatureFlag;
49+
import com.instabug.library.internal.crossplatform.InternalCore;
4950
import com.instabug.library.invocation.InstabugInvocationEvent;
5051
import com.instabug.library.model.NetworkLog;
52+
import com.instabug.library.screenshot.ScreenshotCaptor;
5153
import com.instabug.library.ui.onboarding.WelcomeMessage;
5254
import com.instabug.survey.Surveys;
5355
import com.instabug.survey.callbacks.OnShowCallback;
@@ -72,6 +74,7 @@
7274
import java.util.concurrent.Callable;
7375

7476
import io.flutter.plugin.common.BinaryMessenger;
77+
7578
import kotlin.jvm.functions.Function1;
7679

7780
import org.mockito.Mockito;
@@ -643,4 +646,12 @@ public void isW3CFeatureFlagsEnabled() {
643646
assertEquals(isW3cCaughtHeaderEnabled, flags.get("isW3cCaughtHeaderEnabled"));
644647

645648
}
649+
650+
@Test
651+
public void testSetScreenshotCaptor() {
652+
InternalCore internalCore = spy(InternalCore.INSTANCE);
653+
654+
InstabugApi.setScreenshotCaptor(any(), internalCore);
655+
verify(internalCore)._setScreenshotCaptor(any(ScreenshotCaptor.class));
656+
}
646657
}

packages/instabug_flutter/example/android/app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2828
android {
2929
compileSdkVersion 34
3030
ndkVersion flutter.ndkVersion
31+
namespace = "com.instabug.flutter.example"
3132

3233
compileOptions {
3334
sourceCompatibility JavaVersion.VERSION_1_8

0 commit comments

Comments
 (0)