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 .Executor ;
36
+ import java .util .concurrent .ExecutorService ;
32
37
33
38
/** @hide */
34
39
public class CrashlyticsRegistrar implements ComponentRegistrar {
35
40
private static final String LIBRARY_NAME = "fire-cls" ;
41
+ private final Qualified <ExecutorService > backgroundExecutorService = Qualified .qualified (Background .class , ExecutorService .class );
42
+ private final Qualified <ExecutorService > blockingExecutorService = Qualified .qualified (Blocking .class , ExecutorService .class );
43
+
36
44
37
45
static {
38
46
// Add Crashlytics as a dependency of Sessions when this class is loaded into memory.
@@ -46,6 +54,8 @@ public List<Component<?>> getComponents() {
46
54
.name (LIBRARY_NAME )
47
55
.add (Dependency .required (FirebaseApp .class ))
48
56
.add (Dependency .required (FirebaseInstallationsApi .class ))
57
+ .add (Dependency .required (backgroundExecutorService ))
58
+ .add (Dependency .required (blockingExecutorService ))
49
59
.add (Dependency .deferred (CrashlyticsNativeComponent .class ))
50
60
.add (Dependency .deferred (AnalyticsConnector .class ))
51
61
.add (Dependency .deferred (FirebaseRemoteConfigInterop .class ))
@@ -70,6 +80,6 @@ private FirebaseCrashlytics buildCrashlytics(ComponentContainer container) {
70
80
container .getDeferred (FirebaseRemoteConfigInterop .class );
71
81
72
82
return FirebaseCrashlytics .init (
73
- app , firebaseInstallations , nativeComponent , analyticsConnector , remoteConfigInterop );
83
+ app , firebaseInstallations , nativeComponent , analyticsConnector , remoteConfigInterop , container . get ( backgroundExecutorService ), container . get ( blockingExecutorService ) );
74
84
}
75
85
}
0 commit comments