Skip to content

Commit 9fab180

Browse files
committed
chore(Crashlytics): add error handling to Crashlytics logging methods
1 parent fdc1847 commit 9fab180

File tree

3 files changed

+35
-13
lines changed

3 files changed

+35
-13
lines changed

app/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ android {
7171
getPropertiesFile('app/config/uat.properties').each { p ->
7272
buildConfigField 'String', p.key, p.value
7373
}
74-
// Désactiver l'upload des mapping files en debug
74+
// in english
75+
// Disable mapping file upload in debug to avoid unnecessary uploads
7576
firebaseCrashlytics {
7677
mappingFileUploadEnabled false
7778
}
@@ -83,7 +84,7 @@ android {
8384
getPropertiesFile('app/config/prod.properties').each { p ->
8485
buildConfigField 'String', p.key, p.value
8586
}
86-
// Activer l'upload des mapping files en release pour un meilleur débogage
87+
// Unable to upload mapping files without this in release
8788
firebaseCrashlytics {
8889
mappingFileUploadEnabled true
8990
nativeSymbolUploadEnabled true

app/src/main/java/com/xpeho/xpeapp/XpeApp.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ class XpeApp : Application() {
1313
override fun onCreate() {
1414
super.onCreate()
1515

16-
// Initialiser Firebase Crashlytics
17-
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true)
16+
// Initialize Firebase Crashlytics
17+
FirebaseCrashlytics.getInstance().isCrashlyticsCollectionEnabled = true
1818

1919
appModule = MainAppModule(appContext = this)
2020
}

app/src/main/java/com/xpeho/xpeapp/utils/CrashlyticsUtils.kt

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,52 +8,73 @@ object CrashlyticsUtils {
88
* Enregistre un événement personnalisé dans Crashlytics
99
*/
1010
fun logEvent(message: String) {
11-
FirebaseCrashlytics.getInstance().log(message)
11+
try {
12+
FirebaseCrashlytics.getInstance().log(message)
13+
} catch (_: Throwable) {
14+
}
1215
}
1316

1417
/**
1518
* Enregistre une exception non fatale dans Crashlytics
1619
*/
1720
fun recordException(exception: Throwable) {
18-
FirebaseCrashlytics.getInstance().recordException(exception)
21+
try {
22+
FirebaseCrashlytics.getInstance().recordException(exception)
23+
} catch (_: Throwable) {
24+
}
1925
}
2026

2127
/**
2228
* Définit un identifiant utilisateur pour les crash reports
2329
*/
2430
fun setUserId(userId: String) {
25-
FirebaseCrashlytics.getInstance().setUserId(userId)
31+
try {
32+
FirebaseCrashlytics.getInstance().setUserId(userId)
33+
} catch (_: Throwable) {
34+
}
2635
}
2736

2837
/**
2938
* Ajoute une clé-valeur personnalisée aux crash reports
3039
*/
3140
fun setCustomKey(key: String, value: String) {
32-
FirebaseCrashlytics.getInstance().setCustomKey(key, value)
41+
try {
42+
FirebaseCrashlytics.getInstance().setCustomKey(key, value)
43+
} catch (_: Throwable) {
44+
}
3345
}
3446

3547
/**
3648
* Définit le screen/écran actuel pour contextualiser les erreurs
3749
*/
3850
fun setCurrentScreen(screenName: String) {
39-
FirebaseCrashlytics.getInstance().setCustomKey("screen", screenName)
51+
try {
52+
FirebaseCrashlytics.getInstance().setCustomKey("screen", screenName)
53+
} catch (_: Throwable) {
54+
}
4055
logEvent("Navigation vers: $screenName")
4156
}
4257

4358
/**
4459
* Définit la feature/fonctionnalité actuelle
4560
*/
4661
fun setCurrentFeature(featureName: String) {
47-
FirebaseCrashlytics.getInstance().setCustomKey("feature", featureName)
62+
try {
63+
FirebaseCrashlytics.getInstance().setCustomKey("feature", featureName)
64+
} catch (_: Throwable) {
65+
}
4866
}
4967

5068
/**
5169
* Définit le contexte utilisateur (connecté/déconnecté)
5270
*/
5371
fun setUserContext(isLoggedIn: Boolean, userRole: String = "") {
54-
FirebaseCrashlytics.getInstance().setCustomKey("user_logged_in", isLoggedIn.toString())
55-
if (userRole.isNotEmpty()) {
56-
FirebaseCrashlytics.getInstance().setCustomKey("user_role", userRole)
72+
try {
73+
FirebaseCrashlytics.getInstance().setCustomKey("user_logged_in", isLoggedIn.toString())
74+
if (userRole.isNotEmpty()) {
75+
FirebaseCrashlytics.getInstance().setCustomKey("user_role", userRole)
76+
}
77+
} catch (_: Throwable) {
5778
}
5879
}
5980
}

0 commit comments

Comments
 (0)