16
16
17
17
import com .google .firebase .FirebaseApp ;
18
18
import com .google .firebase .analytics .connector .AnalyticsConnector ;
19
+ import com .google .firebase .annotations .concurrent .Background ;
20
+ import com .google .firebase .annotations .concurrent .Blocking ;
19
21
import com .google .firebase .components .Component ;
20
22
import com .google .firebase .components .ComponentContainer ;
21
23
import com .google .firebase .components .ComponentRegistrar ;
22
24
import com .google .firebase .components .Dependency ;
25
+ import com .google .firebase .components .Qualified ;
23
26
import com .google .firebase .crashlytics .internal .CrashlyticsNativeComponent ;
24
27
import com .google .firebase .inject .Deferred ;
25
28
import com .google .firebase .installations .FirebaseInstallationsApi ;
29
32
import com .google .firebase .sessions .api .SessionSubscriber ;
30
33
import java .util .Arrays ;
31
34
import java .util .List ;
35
+ import java .util .concurrent .ExecutorService ;
32
36
33
37
/** @hide */
34
38
public class CrashlyticsRegistrar implements ComponentRegistrar {
35
39
private static final String LIBRARY_NAME = "fire-cls" ;
40
+ private final Qualified <ExecutorService > backgroundExecutorService = Qualified .qualified (Background .class , ExecutorService .class );
41
+ private final Qualified <ExecutorService > blockingExecutorService = Qualified .qualified (Blocking .class , ExecutorService .class );
42
+
36
43
37
44
static {
38
45
// Add Crashlytics as a dependency of Sessions when this class is loaded into memory.
@@ -46,6 +53,8 @@ public List<Component<?>> getComponents() {
46
53
.name (LIBRARY_NAME )
47
54
.add (Dependency .required (FirebaseApp .class ))
48
55
.add (Dependency .required (FirebaseInstallationsApi .class ))
56
+ .add (Dependency .required (backgroundExecutorService ))
57
+ .add (Dependency .required (blockingExecutorService ))
49
58
.add (Dependency .deferred (CrashlyticsNativeComponent .class ))
50
59
.add (Dependency .deferred (AnalyticsConnector .class ))
51
60
.add (Dependency .deferred (FirebaseRemoteConfigInterop .class ))
@@ -70,6 +79,6 @@ private FirebaseCrashlytics buildCrashlytics(ComponentContainer container) {
70
79
container .getDeferred (FirebaseRemoteConfigInterop .class );
71
80
72
81
return FirebaseCrashlytics .init (
73
- app , firebaseInstallations , nativeComponent , analyticsConnector , remoteConfigInterop );
82
+ app , firebaseInstallations , nativeComponent , analyticsConnector , remoteConfigInterop , container . get ( backgroundExecutorService ), container . get ( blockingExecutorService ) );
74
83
}
75
84
}
0 commit comments