Skip to content

Commit ca4efee

Browse files
authored
chore(crashlytics): update example app (#17426)
* chore(crashlytics): update example app * restore
1 parent ebfecc7 commit ca4efee

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

packages/firebase_crashlytics/firebase_crashlytics/example/android/settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ plugins {
2323
id "com.google.gms.google-services" version "4.3.15" apply false
2424
id "com.google.firebase.crashlytics" version "2.8.1" apply false
2525
// END: FlutterFire Configuration
26-
id "org.jetbrains.kotlin.android" version "1.9.22" apply false
26+
id "org.jetbrains.kotlin.android" version "2.1.21" apply false
2727
}
2828

2929
include ":app"

packages/firebase_crashlytics/firebase_crashlytics/example/lib/main.dart

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class MyApp extends StatefulWidget {
6060

6161
class _MyAppState extends State<MyApp> {
6262
late Future<void> _initializeFlutterFireFuture;
63+
bool _crashlyticsEnabled = true;
6364

6465
Future<void> _testAsyncErrorOnInit() async {
6566
Future<void>.delayed(const Duration(seconds: 2), () {
@@ -73,11 +74,14 @@ class _MyAppState extends State<MyApp> {
7374
if (_kTestingCrashlytics) {
7475
// Force enable crashlytics collection enabled if we're testing it.
7576
await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
77+
_crashlyticsEnabled = true;
7678
} else {
7779
// Else only enable it in non-debug builds.
7880
// You could additionally extend this to allow users to opt-in.
81+
const enabled = !kDebugMode;
7982
await FirebaseCrashlytics.instance
80-
.setCrashlyticsCollectionEnabled(!kDebugMode);
83+
.setCrashlyticsCollectionEnabled(enabled);
84+
_crashlyticsEnabled = enabled;
8185
}
8286

8387
if (_kShouldTestAsyncErrorOnInit) {
@@ -111,6 +115,24 @@ class _MyAppState extends State<MyApp> {
111115
return Center(
112116
child: Column(
113117
children: <Widget>[
118+
ElevatedButton(
119+
onPressed: () async {
120+
final newValue = !_crashlyticsEnabled;
121+
await FirebaseCrashlytics.instance
122+
.setCrashlyticsCollectionEnabled(newValue);
123+
setState(() {
124+
_crashlyticsEnabled = newValue;
125+
});
126+
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
127+
content: Text(
128+
'Crashlytics reporting has been ${newValue ? 'enabled' : 'disabled'}.'),
129+
duration: const Duration(seconds: 3),
130+
));
131+
},
132+
child: Text(_crashlyticsEnabled
133+
? 'Disable Crashlytics'
134+
: 'Enable Crashlytics'),
135+
),
114136
ElevatedButton(
115137
onPressed: () {
116138
FirebaseCrashlytics.instance

0 commit comments

Comments
 (0)