Skip to content

Commit 7a2ca11

Browse files
chore: fix some capture logic, add unit test cases.
1 parent 83cbbba commit 7a2ca11

File tree

16 files changed

+478
-230
lines changed

16 files changed

+478
-230
lines changed

android/build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
package android
2-
31
group 'com.instabug.flutter'
42
version '14.3.0'
53

@@ -54,7 +52,7 @@ android {
5452
}
5553

5654
dependencies {
57-
api 'com.instabug.library:instabug:14.3.0'
55+
api 'com.instabug.library:instabug:15.0.0.6897042-SNAPSHOT'
5856
testImplementation 'junit:junit:4.13.2'
5957
testImplementation "org.mockito:mockito-inline:3.12.1"
6058
testImplementation "io.mockk:mockk:1.13.13"

example/ios/Podfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ EXTERNAL SOURCES:
2525
:path: ".symlinks/plugins/instabug_flutter/ios"
2626

2727
SPEC CHECKSUMS:
28-
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
28+
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
2929
Instabug: a2b8c384cd4af7a01ab43b2ce2957a880f8862d7
3030
instabug_flutter: 6ee721f30066123a769da64b687eded6eb4ff125
3131
OCMock: 5ea90566be239f179ba766fd9fbae5885040b992

example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@
271271
97C146E61CF9000F007C117D /* Project object */ = {
272272
isa = PBXProject;
273273
attributes = {
274-
LastUpgradeCheck = 1300;
274+
LastUpgradeCheck = 1510;
275275
ORGANIZATIONNAME = "";
276276
TargetAttributes = {
277277
97C146ED1CF9000F007C117D = {

example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1300"
3+
LastUpgradeVersion = "1510"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

example/lib/main.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'package:flutter/material.dart';
77
import 'package:instabug_flutter/instabug_flutter.dart';
88
import 'package:instabug_flutter/src/utils/screen_loading/screen_loading_manager.dart';
99
import 'package:instabug_flutter_example/src/app_routes.dart';
10-
import 'package:instabug_flutter_example/src/components/apm_switch.dart';
10+
import 'package:instabug_flutter_example/src/utils/show_messages.dart';
1111
import 'package:instabug_flutter_example/src/widget/nested_view.dart';
1212
import 'package:instabug_http_client/instabug_http_client.dart';
1313

@@ -33,6 +33,8 @@ part 'src/screens/my_home_page.dart';
3333
part 'src/screens/screen_capture_premature_extension_page.dart';
3434
part 'src/screens/screen_loading_page.dart';
3535
part 'src/screens/screen_render_page.dart';
36+
part 'src/components/apm_switch.dart';
37+
part 'src/components/screen_render_switch.dart';
3638

3739
void main() {
3840
runZonedGuarded(

example/lib/src/components/apm_switch.dart

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import 'package:flutter/material.dart';
2-
import 'package:instabug_flutter/instabug_flutter.dart';
3-
import 'package:instabug_flutter_example/src/utils/show_messages.dart';
1+
part of '../../main.dart';
42

53
class APMSwitch extends StatefulWidget {
64
const APMSwitch({Key? key}) : super(key: key);
@@ -14,15 +12,19 @@ class _APMSwitchState extends State<APMSwitch> {
1412

1513
@override
1614
Widget build(BuildContext context) {
17-
return Column(
18-
children: [
19-
SwitchListTile.adaptive(
20-
title: const Text('APM Enabled'),
21-
value: isEnabled,
22-
onChanged: (value) => onAPMChanged(context, value),
23-
),
24-
],
25-
);
15+
return FutureBuilder<bool>(
16+
future: APM.isEnabled(),
17+
builder: (context, snapshot) {
18+
if (snapshot.hasData) {
19+
isEnabled = snapshot.data ?? false;
20+
return SwitchListTile.adaptive(
21+
title: const Text('APM Enabled'),
22+
value: isEnabled,
23+
onChanged: (value) => onAPMChanged(context, value),
24+
);
25+
}
26+
return const SizedBox.shrink();
27+
});
2628
}
2729

2830
void onAPMChanged(BuildContext context, bool value) {
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
part of '../../main.dart';
2+
3+
class ScreenRenderSwitch extends StatefulWidget {
4+
const ScreenRenderSwitch({Key? key}) : super(key: key);
5+
6+
@override
7+
State<ScreenRenderSwitch> createState() => _ScreenRenderSwitchState();
8+
}
9+
10+
class _ScreenRenderSwitchState extends State<ScreenRenderSwitch> {
11+
bool isEnabled = false;
12+
13+
@override
14+
Widget build(BuildContext context) {
15+
return FutureBuilder<bool>(
16+
future: APM.isScreenRenderEnabled(),
17+
builder: (context, snapshot) {
18+
if (snapshot.hasData) {
19+
isEnabled = snapshot.data ?? false;
20+
return SwitchListTile.adaptive(
21+
title: const Text('Screen Render Enabled'),
22+
value: isEnabled,
23+
onChanged: (value) => onScreenRenderChanged(context, value),
24+
);
25+
}
26+
return const SizedBox.shrink();
27+
});
28+
}
29+
30+
void onScreenRenderChanged(BuildContext context, bool value) {
31+
APM.setScreenRenderEnabled(value);
32+
showSnackBar(context, "Screen Render is ${value ? "enabled" : "disabled"}");
33+
setState(() => isEnabled = value);
34+
}
35+
}

example/lib/src/screens/apm_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class _ApmPageState extends State<ApmPage> {
5353
SizedBox.fromSize(
5454
size: const Size.fromHeight(12),
5555
),
56-
ScreenRender(),
56+
const ScreenRender(),
5757
],
5858
);
5959
}

example/lib/src/screens/screen_render_page.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,16 @@ class ScreenRenderPage extends StatefulWidget {
1111
class _ScreenRenderPageState extends State<ScreenRenderPage> {
1212
final durationController = TextEditingController();
1313

14+
@override
15+
void dispose() {
16+
durationController.dispose();
17+
super.dispose();
18+
}
19+
1420
@override
1521
Widget build(BuildContext context) {
1622
return Page(title: 'Screen Render', children: [
23+
const ScreenRenderSwitch(),
1724
SizedBox.fromSize(size: const Size.fromHeight(16.0)),
1825
const AnimatedBox(),
1926
SizedBox.fromSize(

0 commit comments

Comments
 (0)