From 2ccdeb102ffa0768dffc794d9d161fc2fb14b729 Mon Sep 17 00:00:00 2001 From: Matthew Robertson Date: Thu, 10 Oct 2024 16:04:14 -0400 Subject: [PATCH 1/2] Fix IllegalStateException when starting a trace before Firebase initializes --- .../google/firebase/perf/config/RemoteConfigManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/firebase-perf/src/main/java/com/google/firebase/perf/config/RemoteConfigManager.java b/firebase-perf/src/main/java/com/google/firebase/perf/config/RemoteConfigManager.java index 88351ae6166..36d8c272aef 100644 --- a/firebase-perf/src/main/java/com/google/firebase/perf/config/RemoteConfigManager.java +++ b/firebase-perf/src/main/java/com/google/firebase/perf/config/RemoteConfigManager.java @@ -88,7 +88,13 @@ private RemoteConfigManager() { @VisibleForTesting @SuppressWarnings("FirebaseUseExplicitDependencies") static long getInitialStartupMillis() { - StartupTime startupTime = FirebaseApp.getInstance().get(StartupTime.class); + StartupTime startupTime = null; + try { + startupTime = FirebaseApp.getInstance().get(StartupTime.class); + } catch (IllegalStateException ex) { + // This can happen if you start a trace before Firebase is init + logger.debug("Unable to get StartupTime instance."); + } if (startupTime != null) { return startupTime.getEpochMillis(); } else { From b448fd42d7f849de03e65513737c400b15a35c2a Mon Sep 17 00:00:00 2001 From: Matthew Robertson Date: Thu, 10 Oct 2024 16:06:07 -0400 Subject: [PATCH 2/2] Add CHANGELOG --- firebase-perf/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebase-perf/CHANGELOG.md b/firebase-perf/CHANGELOG.md index 536fc748003..0c65b208bb2 100644 --- a/firebase-perf/CHANGELOG.md +++ b/firebase-perf/CHANGELOG.md @@ -1,5 +1,5 @@ # Unreleased - +* [fixed] Fix IllegalStateException when starting a trace before Firebase initializes. # 21.0.1 * [fixed] Fixed an `ExceptionInInitializerError` where the `url.openStream()` causes a crash if