Skip to content

Commit 635e49e

Browse files
committed
Fix more test
1 parent 6f0ac61 commit 635e49e

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

firebase-perf/src/main/java/com/google/firebase/perf/FirebasePerfEarly.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818
import androidx.annotation.Nullable;
1919
import com.google.firebase.FirebaseApp;
2020
import com.google.firebase.StartupTime;
21+
import com.google.firebase.inject.Provider;
2122
import com.google.firebase.perf.application.AppStateMonitor;
2223
import com.google.firebase.perf.config.ConfigResolver;
2324
import com.google.firebase.perf.metrics.AppStartTrace;
2425
import com.google.firebase.perf.session.FirebasePerformanceSessionSubscriber;
26+
import com.google.firebase.sessions.FirebaseSessions;
2527
import com.google.firebase.sessions.api.FirebaseSessionsDependencies;
2628
import java.util.concurrent.Executor;
2729

@@ -35,13 +37,16 @@
3537
public class FirebasePerfEarly {
3638

3739
public FirebasePerfEarly(
38-
FirebaseApp app, @Nullable StartupTime startupTime, Executor uiExecutor) {
40+
FirebaseApp app, @Nullable StartupTime startupTime, Executor uiExecutor, Provider<FirebaseSessions> firebaseSessions) {
3941
Context context = app.getApplicationContext();
4042

4143
// Initialize ConfigResolver early for accessing device caching layer.
4244
ConfigResolver configResolver = ConfigResolver.getInstance();
4345
configResolver.setApplicationContext(context);
4446

47+
// Ensure FirebaseSessions was initialized
48+
firebaseSessions.get();
49+
4550
// Register FirebasePerformance as a subscriber ASAP - which will start collecting gauges if the
4651
// FirebaseSession is verbose.
4752
FirebaseSessionsDependencies.register(new FirebasePerformanceSessionSubscriber(configResolver));

firebase-perf/src/main/java/com/google/firebase/perf/FirebasePerfRegistrar.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,19 +75,16 @@ public List<Component<?>> getComponents() {
7575
.add(Dependency.required(FirebaseApp.class))
7676
.add(Dependency.optionalProvider(StartupTime.class))
7777
.add(Dependency.required(uiExecutor))
78-
.add(Dependency.required(FirebaseSessions.class))
78+
.add(Dependency.optionalProvider(FirebaseSessions.class))
7979
.eagerInDefaultApp()
8080
.factory(
81-
container -> {
82-
// Ensure FirebaseSessions was initialized
83-
container.get(FirebaseSessions.class);
84-
return new FirebasePerfEarly(
85-
container.get(FirebaseApp.class),
86-
container.getProvider(StartupTime.class).get(),
87-
container.get(uiExecutor));
88-
})
81+
container -> new FirebasePerfEarly(
82+
container.get(FirebaseApp.class),
83+
container.getProvider(StartupTime.class).get(),
84+
container.get(uiExecutor),
85+
container.getProvider(FirebaseSessions.class)))
8986
.build(),
90-
/**
87+
/*
9188
* Fireperf SDK is lazily by {@link FirebasePerformanceInitializer} during {@link
9289
* com.google.firebase.perf.application.AppStateMonitor#onActivityResumed(Activity)}. we use
9390
* "lazy" dependency for some components that are not required during initialization so as

firebase-perf/src/test/java/com/google/firebase/perf/FirebasePerfRegistrarTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public void testGetComponents() {
6161
Dependency.required(Qualified.qualified(UiThread.class, Executor.class)),
6262
Dependency.required(FirebaseApp.class),
6363
Dependency.optionalProvider(StartupTime.class),
64-
Dependency.required(FirebaseSessions.class));
64+
Dependency.optionalProvider(FirebaseSessions.class));
6565

6666
assertThat(firebasePerfEarlyComponent.isLazy()).isFalse();
6767
}

0 commit comments

Comments
 (0)