Skip to content

Avoid Tasks in checkForPreviousCrash #6194

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

mrober
Copy link
Contributor

@mrober mrober commented Aug 19, 2024

Avoid Tasks in checkForPreviousCrash. This is a step towards removing the nasty awaitEvenIfOnMainThread.

@google-oss-bot
Copy link
Contributor

Coverage Report 1

Affected Products

  • firebase-crashlytics

    Overall coverage changed from ? (f51fa9c) to 11.58% (75618bd) by ?.

    130 individual files with coverage change

    FilenameBase (f51fa9c)Merge (75618bd)Diff
    AnalyticsDeferredProxy.java?0.00%?
    AnalyticsEventLogger.java?0.00%?
    AnalyticsEventReceiver.java?0.00%?
    AppData.java?50.00%?
    AutoCrashlyticsReportEncoder.java?57.80%?
    AutoRolloutAssignmentEncoder.java?0.00%?
    AutoValue_CrashlyticsReport.java?0.00%?
    AutoValue_CrashlyticsReportWithSessionId.java?0.00%?
    AutoValue_CrashlyticsReport_ApplicationExitInfo.java?58.42%?
    AutoValue_CrashlyticsReport_ApplicationExitInfo_BuildIdMappingForArch.java?0.00%?
    AutoValue_CrashlyticsReport_CustomAttribute.java?0.00%?
    AutoValue_CrashlyticsReport_FilesPayload.java?0.00%?
    AutoValue_CrashlyticsReport_FilesPayload_File.java?0.00%?
    AutoValue_CrashlyticsReport_Session.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Application.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Application_Organization.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Device.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Application_ProcessDetails.java?40.35%?
    AutoValue_CrashlyticsReport_Session_Event_Device.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_Log.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_RolloutAssignment.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_RolloutAssignment_RolloutVariant.java?0.00%?
    AutoValue_CrashlyticsReport_Session_Event_RolloutsState.java?0.00%?
    AutoValue_CrashlyticsReport_Session_OperatingSystem.java?0.00%?
    AutoValue_CrashlyticsReport_Session_User.java?0.00%?
    AutoValue_InstallIdProvider_InstallIds.java?0.00%?
    AutoValue_RolloutAssignment.java?0.00%?
    AutoValue_StaticSessionData.java?0.00%?
    AutoValue_StaticSessionData_AppData.java?0.00%?
    AutoValue_StaticSessionData_DeviceData.java?0.00%?
    AutoValue_StaticSessionData_OsData.java?0.00%?
    BackgroundPriorityRunnable.java?0.00%?
    BatteryState.java?0.00%?
    BlockingAnalyticsEventLogger.java?0.00%?
    BreadcrumbAnalyticsEventReceiver.java?0.00%?
    BreadcrumbHandler.java?0.00%?
    BreadcrumbSource.java?0.00%?
    BuildIdInfo.java?62.50%?
    BytesBackedNativeSessionFile.java?0.00%?
    CachedSettingsIo.java?0.00%?
    CLSUUID.java?0.00%?
    CommonUtils.java?1.09%?
    CrashlyticsAnalyticsListener.java?0.00%?
    CrashlyticsAppQualitySessionsStore.java?0.00%?
    CrashlyticsAppQualitySessionsSubscriber.java?0.00%?
    CrashlyticsController.java?18.52%?
    CrashlyticsCore.java?0.61%?
    CrashlyticsFileMarker.java?30.77%?
    CrashlyticsNativeComponent.java?0.00%?
    CrashlyticsNativeComponentDeferredProxy.java?25.00%?
    CrashlyticsOriginAnalyticsEventLogger.java?0.00%?
    CrashlyticsRegistrar.java?0.00%?
    CrashlyticsRemoteConfigListener.kt?0.00%?
    CrashlyticsReport.java?4.65%?
    CrashlyticsReportDataCapture.java?3.33%?
    CrashlyticsReportJsonTransform.java?1.01%?
    CrashlyticsReportPersistence.java?3.06%?
    CrashlyticsReportWithSessionId.java?0.00%?
    CrashlyticsTasks.java?0.00%?
    CrashlyticsUncaughtExceptionHandler.java?0.00%?
    CrashlyticsWorker.java?37.21%?
    CrashlyticsWorkers.kt?57.89%?
    CurrentTimeProvider.java?0.00%?
    CustomKeysAndValues.java?0.00%?
    DataCollectionArbiter.java?84.27%?
    DataTransportCrashlyticsReportSender.java?48.28%?
    DefaultSettingsJsonTransform.java?0.00%?
    DefaultSettingsSpiCall.java?0.00%?
    DeliveryMechanism.java?0.00%?
    DevelopmentPlatformProvider.java?0.00%?
    DisabledBreadcrumbSource.java?0.00%?
    ExecutorUtils.java?0.00%?
    FileBackedNativeSessionFile.java?0.00%?
    FileLogStore.java?0.00%?
    FileStore.java?29.85%?
    FirebaseCrashlytics.java?0.00%?
    FirebaseCrashlytics.kt?0.00%?
    FirebaseInstallationId.kt?0.00%?
    HttpGetRequest.java?0.00%?
    HttpRequestFactory.java?0.00%?
    HttpResponse.java?0.00%?
    IdManager.java?2.74%?
    InstallerPackageNameProvider.java?0.00%?
    InstallIdProvider.java?0.00%?
    KeysMap.java?24.32%?
    KeyValueBuilder.kt?0.00%?
    LogFileManager.java?60.71%?
    Logger.java?40.54%?
    MetaDataStore.java?17.83%?
    MiddleOutFallbackStrategy.java?0.00%?
    MiddleOutStrategy.java?0.00%?
    NativeSessionFile.java?0.00%?
    NativeSessionFileGzipper.java?0.00%?
    NativeSessionFileProvider.java?0.00%?
    OnDemandCounter.java?0.00%?
    ProcessDetailsProvider.kt?70.59%?
    QueueFile.java?0.00%?
    QueueFileLogStore.java?7.58%?
    RemoteConfigDeferredProxy.java?0.00%?
    RemoveRepeatsStrategy.java?0.00%?
    ReportQueue.java?0.00%?
    ResponseParser.java?0.00%?
    RolloutAssignment.java?0.00%?
    RolloutAssignmentList.java?44.44%?
    SessionReportingCoordinator.java?41.71%?
    Settings.java?95.00%?
    SettingsCacheBehavior.java?0.00%?
    SettingsController.java?0.00%?
    SettingsJsonConstants.java?0.00%?
    SettingsJsonParser.java?0.00%?
    SettingsJsonTransform.java?0.00%?
    SettingsProvider.java?0.00%?
    SettingsRequest.java?0.00%?
    SettingsSpiCall.java?0.00%?
    SettingsV3JsonTransform.java?0.00%?
    StackTraceTrimmingStrategy.java?0.00%?
    StaticSessionData.java?0.00%?
    SystemCurrentTimeProvider.java?0.00%?
    TrimmedThrowableData.java?0.00%?
    UnavailableAnalyticsEventLogger.java?0.00%?
    UserMetadata.java?22.33%?
    Utils.java?0.00%?

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/WrIJCJ5vbx.html

Copy link
Contributor

Unit Test Results

  8 files    8 suites   21s ⏱️
22 tests 22 ✔️ 0 💤 0
44 runs  44 ✔️ 0 💤 0

Results for commit c528e29.

@google-oss-bot
Copy link
Contributor

Size Report 1

Affected Products

  • base

    TypeBase (f51fa9c)Merge (75618bd)Diff
    apk (aggressive)?8.80 kB? (?)
    apk (release)?9.77 kB? (?)
  • firebase-crashlytics

    TypeBase (f51fa9c)Merge (75618bd)Diff
    aar?409 kB? (?)
    apk (aggressive)?698 kB? (?)
    apk (release)?5.85 MB? (?)
  • firebase-sessions

    TypeBase (f51fa9c)Merge (75618bd)Diff
    aar?168 kB? (?)
    apk (aggressive)?560 kB? (?)
    apk (release)?5.52 MB? (?)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/h7TyonYDri.html

@mrober mrober merged commit ad7b591 into crashlytics-exception-handler Aug 19, 2024
37 checks passed
@mrober mrober deleted the crashlytics-checkForPreviousCrash branch August 19, 2024 20:53
themiswang pushed a commit that referenced this pull request Sep 17, 2024
Avoid `Task`s in `checkForPreviousCrash`. This is a step towards
removing the nasty `awaitEvenIfOnMainThread`.
@firebase firebase locked and limited conversation to collaborators Sep 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants