40
40
import com .google .firebase .crashlytics .internal .DevelopmentPlatformProvider ;
41
41
import com .google .firebase .crashlytics .internal .NativeSessionFileProvider ;
42
42
import com .google .firebase .crashlytics .internal .analytics .AnalyticsEventLogger ;
43
- import com .google .firebase .crashlytics .internal .concurrency .CrashlyticsWorkers ;
43
+ import com .google .firebase .crashlytics .internal .concurrency .CrashlyticsWorker ;
44
44
import com .google .firebase .crashlytics .internal .metadata .LogFileManager ;
45
45
import com .google .firebase .crashlytics .internal .metadata .UserMetadata ;
46
46
import com .google .firebase .crashlytics .internal .model .CrashlyticsReport ;
@@ -63,8 +63,8 @@ public class CrashlyticsControllerTest extends CrashlyticsTestCase {
63
63
private static final String GOOGLE_APP_ID = "google:app:id" ;
64
64
private static final String SESSION_ID = "session_id" ;
65
65
66
- private final CrashlyticsWorkers crashlyticsWorkers =
67
- new CrashlyticsWorkers (TestOnlyExecutors .background (), TestOnlyExecutors . blocking ());
66
+ private final CrashlyticsWorker commonWorker =
67
+ new CrashlyticsWorker (TestOnlyExecutors .background ());
68
68
69
69
private Context testContext ;
70
70
private IdManager idManager ;
@@ -74,6 +74,8 @@ public class CrashlyticsControllerTest extends CrashlyticsTestCase {
74
74
private DataCollectionArbiter mockDataCollectionArbiter ;
75
75
private CrashlyticsNativeComponent mockNativeComponent = mock (CrashlyticsNativeComponent .class );
76
76
77
+ private CrashlyticsWorker diskWriteWorker = new CrashlyticsWorker (TestOnlyExecutors .background ());
78
+
77
79
@ Override
78
80
protected void setUp () throws Exception {
79
81
super .setUp ();
@@ -106,7 +108,7 @@ protected void setUp() throws Exception {
106
108
@ Override
107
109
protected void tearDown () throws Exception {
108
110
super .tearDown ();
109
- crashlyticsWorkers . common .await ();
111
+ commonWorker .await ();
110
112
}
111
113
112
114
/** A convenience class for building CrashlyticsController instances for testing. */
@@ -175,6 +177,7 @@ public CrashlyticsController build() {
175
177
final CrashlyticsController controller =
176
178
new CrashlyticsController (
177
179
testContext .getApplicationContext (),
180
+ commonWorker ,
178
181
idManager ,
179
182
dataCollectionArbiter ,
180
183
testFileStore ,
@@ -186,7 +189,7 @@ public CrashlyticsController build() {
186
189
nativeComponent ,
187
190
analyticsEventLogger ,
188
191
mock (CrashlyticsAppQualitySessionsSubscriber .class ),
189
- crashlyticsWorkers );
192
+ diskWriteWorker );
190
193
return controller ;
191
194
}
192
195
}
@@ -215,7 +218,7 @@ public void testWriteNonFatal_callsSessionReportingCoordinatorPersistNonFatal()
215
218
controller .writeNonFatalException (thread , nonFatal );
216
219
controller .doCloseSessions (testSettingsProvider );
217
220
218
- crashlyticsWorkers . common .await ();
221
+ commonWorker .await ();
219
222
220
223
verify (mockSessionReportingCoordinator )
221
224
.persistNonFatalEvent (eq (nonFatal ), eq (thread ), eq (sessionId ), anyLong ());
@@ -254,7 +257,7 @@ public void testOnDemandFatal_callLogFatalException() throws Exception {
254
257
controller .enableExceptionHandling (SESSION_ID , exceptionHandler , testSettingsProvider );
255
258
controller .logFatalException (thread , fatal );
256
259
257
- crashlyticsWorkers . common .await ();
260
+ commonWorker .await ();
258
261
259
262
verify (mockUserMetadata ).setNewSession (not (eq (SESSION_ID )));
260
263
}
@@ -333,8 +336,8 @@ public File getOsFile() {
333
336
final CrashlyticsController controller =
334
337
builder ().setNativeComponent (mockNativeComponent ).setLogFileManager (logFileManager ).build ();
335
338
336
- crashlyticsWorkers . common .submit (() -> controller .finalizeSessions (testSettingsProvider ));
337
- crashlyticsWorkers . common .await ();
339
+ commonWorker .submit (() -> controller .finalizeSessions (testSettingsProvider ));
340
+ commonWorker .await ();
338
341
339
342
verify (mockSessionReportingCoordinator )
340
343
.finalizeSessionWithNativeEvent (eq (previousSessionId ), any (), any ());
@@ -345,8 +348,8 @@ public File getOsFile() {
345
348
@ SdkSuppress (minSdkVersion = 30 ) // ApplicationExitInfo
346
349
public void testMissingNativeComponentCausesNoReports () throws Exception {
347
350
final CrashlyticsController controller = createController ();
348
- crashlyticsWorkers . common .submit (() -> controller .finalizeSessions (testSettingsProvider ));
349
- crashlyticsWorkers . common .await ();
351
+ commonWorker .submit (() -> controller .finalizeSessions (testSettingsProvider ));
352
+ commonWorker .await ();
350
353
351
354
List <String > sessions = testFileStore .getAllOpenSessionIds ();
352
355
for (String sessionId : sessions ) {
@@ -382,9 +385,8 @@ public void testLogStringAfterCrashOk() throws Exception {
382
385
testSettingsProvider , Thread .currentThread (), new RuntimeException ());
383
386
384
387
// This should not throw.
385
- crashlyticsWorkers .diskWrite .submit (
386
- () -> controller .writeToLog (System .currentTimeMillis (), "Hi" ));
387
- crashlyticsWorkers .diskWrite .await ();
388
+ diskWriteWorker .submit (() -> controller .writeToLog (System .currentTimeMillis (), "Hi" ));
389
+ diskWriteWorker .await ();
388
390
}
389
391
390
392
/**
@@ -399,8 +401,8 @@ public void testFinalizeSessionAfterCrashOk() throws Exception {
399
401
testSettingsProvider , Thread .currentThread (), new RuntimeException ());
400
402
401
403
// This should not throw.
402
- crashlyticsWorkers . common .submit (() -> controller .finalizeSessions (testSettingsProvider ));
403
- crashlyticsWorkers . common .await ();
404
+ commonWorker .submit (() -> controller .finalizeSessions (testSettingsProvider ));
405
+ commonWorker .await ();
404
406
}
405
407
406
408
@ SdkSuppress (minSdkVersion = 30 ) // ApplicationExitInfo
@@ -443,7 +445,7 @@ public void testUploadDisabledThenOptIn() throws Exception {
443
445
444
446
final DataCollectionArbiter arbiter = mock (DataCollectionArbiter .class );
445
447
when (arbiter .isAutomaticDataCollectionEnabled ()).thenReturn (false );
446
- when (arbiter .waitForDataCollectionPermission ())
448
+ when (arbiter .waitForDataCollectionPermission (any ( Executor . class ) ))
447
449
.thenReturn (new TaskCompletionSource <Void >().getTask ());
448
450
when (arbiter .waitForAutomaticDataCollectionEnabled ())
449
451
.thenReturn (new TaskCompletionSource <Void >().getTask ());
@@ -564,14 +566,14 @@ public void testFatalEvent_sendsAppExceptionEvent() throws Exception {
564
566
when (mockSessionReportingCoordinator .listSortedOpenSessionIds ())
565
567
.thenReturn (new TreeSet <>(Collections .singleton (sessionId )));
566
568
567
- crashlyticsWorkers . common .submit (
569
+ commonWorker .submit (
568
570
() -> {
569
571
controller .openSession (SESSION_ID );
570
572
controller .handleUncaughtException (
571
573
testSettingsProvider , Thread .currentThread (), new RuntimeException ("Fatal" ));
572
574
controller .finalizeSessions (testSettingsProvider );
573
575
});
574
- crashlyticsWorkers . common .await ();
576
+ commonWorker .await ();
575
577
576
578
assertFirebaseAnalyticsCrashEvent (mockFirebaseAnalyticsLogger );
577
579
}
0 commit comments