Skip to content

Commit 54275a2

Browse files
committed
fix merge conflict
1 parent 23bcd86 commit 54275a2

File tree

5 files changed

+28
-11
lines changed

5 files changed

+28
-11
lines changed

firebase-crashlytics/src/androidTest/java/com/google/firebase/crashlytics/internal/common/CrashlyticsControllerTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,10 @@ public void testWriteNonFatal_callsSessionReportingCoordinatorPersistNonFatal()
213213
.thenReturn(new TreeSet<>(Collections.singleton(sessionId)));
214214

215215
controller.writeNonFatalException(thread, nonFatal);
216-
controller.doCloseSessions(testSettingsProvider);
216+
crashlyticsWorkers.common.submit(() -> controller.doCloseSessions(testSettingsProvider));
217217

218218
crashlyticsWorkers.common.await();
219+
crashlyticsWorkers.diskWrite.await();
219220

220221
verify(mockSessionReportingCoordinator)
221222
.persistNonFatalEvent(eq(nonFatal), eq(thread), eq(sessionId), anyLong());
@@ -489,6 +490,8 @@ public void testUploadDisabledThenOptOut() throws Exception {
489490
await(controller.deleteUnsentReports());
490491
await(task);
491492

493+
crashlyticsWorkers.diskWrite.await();
494+
492495
verify(mockSessionReportingCoordinator).removeAllReports();
493496
verifyNoMoreInteractions(mockSessionReportingCoordinator);
494497
}

firebase-crashlytics/src/androidTest/java/com/google/firebase/crashlytics/internal/metadata/MetaDataStoreTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ public void testWriteUserData_escaped() throws Exception {
170170
crashlyticsWorkers.diskWrite.await();
171171
UserMetadata userData =
172172
UserMetadata.loadFromExistingSession(SESSION_ID_1, fileStore, crashlyticsWorkers);
173+
Thread.sleep(10);
173174
assertEquals(ESCAPED.trim(), userData.getUserId());
174175
}
175176

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/CrashlyticsController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ public Task<Void> then(@Nullable Boolean send) throws Exception {
362362
public Task<Void> call() throws Exception {
363363
if (!send) {
364364
Logger.getLogger().v("Deleting cached crash reports...");
365-
diskWriteWorker.submit(
365+
crashlyticsWorkers.diskWrite.submit(
366366
() -> {
367367
deleteFiles(listAppExceptionMarkerFiles());
368368
reportingCoordinator.removeAllReports();
@@ -571,7 +571,7 @@ void doCloseSessions(SettingsProvider settingsProvider) {
571571
*/
572572
private void doCloseSessions(
573573
boolean skipCurrentSession, SettingsProvider settingsProvider, boolean isInitProcess) {
574-
CrashlyticsPreconditions.checkBackgroundThread();
574+
CrashlyticsWorkers.checkBackgroundThread();
575575
final int offset = skipCurrentSession ? 1 : 0;
576576

577577
// :TODO HW2021 this implementation can be cleaned up.

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/SessionReportingCoordinator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ private boolean onReportSendComplete(@NonNull Task<CrashlyticsReportWithSessionI
354354
CrashlyticsReportWithSessionId report = task.getResult();
355355
Logger.getLogger()
356356
.d("Crashlytics report successfully enqueued to DataTransport: " + report.getSessionId());
357-
diskWriteWorker.submit(
357+
crashlyticsWorkers.diskWrite.submit(
358358
() -> {
359359
File reportFile = report.getReportFile();
360360
if (reportFile.delete()) {

firebase-crashlytics/src/test/java/com/google/firebase/crashlytics/internal/common/CrashlyticsControllerRobolectricTest.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public class CrashlyticsControllerRobolectricTest {
6666
@Mock private SessionReportingCoordinator mockSessionReportingCoordinator;
6767
@Mock private DataCollectionArbiter mockDataCollectionArbiter;
6868

69+
private CrashlyticsWorkers crashlyticsWorkers;
70+
6971
private static final CrashlyticsNativeComponent MISSING_NATIVE_COMPONENT =
7072
new CrashlyticsNativeComponentDeferredProxy(
7173
new Deferred<CrashlyticsNativeComponent>() {
@@ -81,17 +83,24 @@ public void setUp() {
8183
MockitoAnnotations.openMocks(this);
8284
testContext = getApplicationContext();
8385
testFileStore = new FileStore(testContext);
86+
crashlyticsWorkers =
87+
new CrashlyticsWorkers(TestOnlyExecutors.background(), TestOnlyExecutors.blocking());
8488
}
8589

8690
@Test
87-
public void testDoCloseSession_enabledAnrs_doesNotPersistsAppExitInfoIfItDoesntExist() {
91+
public void testDoCloseSession_enabledAnrs_doesNotPersistsAppExitInfoIfItDoesntExist()
92+
throws Exception {
8893
final String sessionId = "sessionId";
8994
final CrashlyticsController controller = createController();
9095

9196
when(mockSessionReportingCoordinator.listSortedOpenSessionIds())
9297
.thenReturn(new TreeSet<>(Collections.singletonList(sessionId)));
9398
mockSettingsProvider(true, false);
94-
controller.doCloseSessions(mockSettingsProvider);
99+
100+
crashlyticsWorkers.common.submit(() -> controller.doCloseSessions(mockSettingsProvider));
101+
// cannot use await since it check preconditions if blocking main thread
102+
Thread.sleep(10);
103+
95104
// Since we haven't added any app exit info to the shadow activity manager, there won't exist a
96105
// single app exit info, and so this method won't be called.
97106
verify(mockSessionReportingCoordinator, never())
@@ -100,7 +109,7 @@ public void testDoCloseSession_enabledAnrs_doesNotPersistsAppExitInfoIfItDoesntE
100109
}
101110

102111
@Test
103-
public void testDoCloseSession_enabledAnrs_persistsAppExitInfoIfItExists() {
112+
public void testDoCloseSession_enabledAnrs_persistsAppExitInfoIfItExists() throws Exception {
104113
final String sessionIdPrevious = "sessionIdPrevious";
105114
final String sessionId = "sessionId";
106115
final CrashlyticsController controller = createController();
@@ -113,7 +122,9 @@ public void testDoCloseSession_enabledAnrs_persistsAppExitInfoIfItExists() {
113122
when(mockSessionReportingCoordinator.listSortedOpenSessionIds())
114123
.thenReturn(new TreeSet<>(Arrays.asList(sessionId, sessionIdPrevious)));
115124
mockSettingsProvider(true, false);
116-
controller.finalizeSessions(mockSettingsProvider);
125+
crashlyticsWorkers.common.submit(() -> controller.finalizeSessions(mockSettingsProvider));
126+
// cannot use await since it check preconditions if blocking main thread
127+
Thread.sleep(100);
117128
verify(mockSessionReportingCoordinator)
118129
.persistRelevantAppExitInfoEvent(
119130
eq(sessionIdPrevious),
@@ -123,14 +134,16 @@ public void testDoCloseSession_enabledAnrs_persistsAppExitInfoIfItExists() {
123134
}
124135

125136
@Test
126-
public void testDoCloseSession_disabledAnrs_doesNotPersistsAppExitInfo() {
137+
public void testDoCloseSession_disabledAnrs_doesNotPersistsAppExitInfo() throws Exception {
127138
final String sessionId = "sessionId";
128139
final CrashlyticsController controller = createController();
129140

130141
when(mockSessionReportingCoordinator.listSortedOpenSessionIds())
131142
.thenReturn(new TreeSet<>(Collections.singletonList(sessionId)));
132143
mockSettingsProvider(false, false);
133-
controller.doCloseSessions(mockSettingsProvider);
144+
crashlyticsWorkers.common.submit(() -> controller.doCloseSessions(mockSettingsProvider));
145+
// cannot use await since it check preconditions if blocking main thread
146+
Thread.sleep(10);
134147
verify(mockSessionReportingCoordinator, never())
135148
.persistRelevantAppExitInfoEvent(
136149
eq(sessionId), any(), any(LogFileManager.class), any(UserMetadata.class));
@@ -179,7 +192,7 @@ private CrashlyticsController createController() {
179192
MISSING_NATIVE_COMPONENT,
180193
mock(AnalyticsEventLogger.class),
181194
mock(CrashlyticsAppQualitySessionsSubscriber.class),
182-
new CrashlyticsWorkers(TestOnlyExecutors.background(), TestOnlyExecutors.blocking()));
195+
crashlyticsWorkers);
183196
controller.openSession(SESSION_ID);
184197
return controller;
185198
}

0 commit comments

Comments
 (0)