Как проверить, инициализирован ли Firebase Crashlytics? - PullRequest
0 голосов
/ 08 апреля 2020

Предыдущий Fabri c SDK разрешал такую ​​проверку

if (Fabric.isInitialized()) {
    crashSetParam(CrashParameters.ROOT_NODE, nodeInfoCompat.toString())
    Crashlytics.logException(ex)
}

Я не могу определить, как это сделать в новом Firebase Android SDK, и это вызывает мои тесты джунта, которые могут коснуться это к кра sh. Я понимаю, что могу обернуть это в интерфейс, но мне также любопытно, как решить это простым способом как выше. Спасибо.

Я также зарегистрировал проблему на github:

https://github.com/firebase/firebase-android-sdk/issues/1437

Без проверки мы получаем что-то подобное при запуске юнит-тестов :

java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process null. Make sure to call FirebaseApp.initializeApp(Context) first.

На данный момент я исправил следующее:

fun logException(ex: Throwable, nodeInfoCompat: AccessibilityNodeInfoCompat?) {
    // We check to make sure Fabric is initialized or else the tests will fail - see above comment
    try {
        FirebaseCrashlytics.getInstance().setCustomKey(CrashParameters.ROOT_NODE, nodeInfoCompat.toString())
        FirebaseCrashlytics.getInstance().recordException(ex)
    } catch (e: IllegalStateException) {
        Timber.e(e);
    }
}
...