Skip to content

Commit a69593d

Browse files
committed
Simplified Settings model and flattened package hierarchy.
1 parent e07b919 commit a69593d

34 files changed

+322
-736
lines changed

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

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
import com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger;
4040
import com.google.firebase.crashlytics.internal.metadata.LogFileManager;
4141
import com.google.firebase.crashlytics.internal.persistence.FileStore;
42-
import com.google.firebase.crashlytics.internal.settings.SettingsDataProvider;
43-
import com.google.firebase.crashlytics.internal.settings.TestSettingsData;
44-
import com.google.firebase.crashlytics.internal.settings.model.SettingsData;
42+
import com.google.firebase.crashlytics.internal.settings.Settings;
43+
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
44+
import com.google.firebase.crashlytics.internal.settings.TestSettings;
4545
import com.google.firebase.installations.FirebaseInstallationsApi;
4646
import java.io.File;
4747
import java.util.Arrays;
@@ -58,7 +58,7 @@ public class CrashlyticsControllerTest extends CrashlyticsTestCase {
5858

5959
private Context testContext;
6060
private IdManager idManager;
61-
private SettingsDataProvider testSettingsDataProvider;
61+
private SettingsProvider testSettingsProvider;
6262
private FileStore testFileStore;
6363
private SessionReportingCoordinator mockSessionReportingCoordinator;
6464
private DataCollectionArbiter mockDataCollectionArbiter;
@@ -81,17 +81,16 @@ protected void setUp() throws Exception {
8181

8282
testFileStore = new FileStore(testContext);
8383

84-
final SettingsData testSettingsData = new TestSettingsData(3);
84+
Settings testSettings = new TestSettings(3);
8585

8686
mockSessionReportingCoordinator = mock(SessionReportingCoordinator.class);
8787

8888
mockDataCollectionArbiter = mock(DataCollectionArbiter.class);
8989
when(mockDataCollectionArbiter.isAutomaticDataCollectionEnabled()).thenReturn(true);
9090

91-
testSettingsDataProvider = mock(SettingsDataProvider.class);
92-
when(testSettingsDataProvider.getSettingsSync()).thenReturn(testSettingsData);
93-
when(testSettingsDataProvider.getSettingsAsync())
94-
.thenReturn(Tasks.forResult(testSettingsData));
91+
testSettingsProvider = mock(SettingsProvider.class);
92+
when(testSettingsProvider.getSettingsSync()).thenReturn(testSettings);
93+
when(testSettingsProvider.getSettingsAsync()).thenReturn(Tasks.forResult(testSettings));
9594
}
9695

9796
/** A convenience class for building CrashlyticsController instances for testing. */
@@ -185,7 +184,7 @@ public void testWriteNonFatal_callsSessionReportingCoordinatorPersistNonFatal()
185184
.thenReturn(new TreeSet<>(Collections.singleton(sessionId)));
186185

187186
controller.writeNonFatalException(thread, nonFatal);
188-
controller.doCloseSessions(testSettingsDataProvider);
187+
controller.doCloseSessions(testSettingsProvider);
189188

190189
verify(mockSessionReportingCoordinator)
191190
.persistNonFatalEvent(eq(nonFatal), eq(thread), eq(sessionId), anyLong());
@@ -200,7 +199,7 @@ public void testFatalException_callsSessionReportingCoordinatorPersistFatal() th
200199
when(mockSessionReportingCoordinator.listSortedOpenSessionIds())
201200
.thenReturn(new TreeSet<>(Collections.singleton(sessionId)));
202201

203-
controller.handleUncaughtException(testSettingsDataProvider, thread, fatal);
202+
controller.handleUncaughtException(testSettingsProvider, thread, fatal);
204203

205204
verify(mockSessionReportingCoordinator)
206205
.persistFatalEvent(eq(fatal), eq(thread), eq(sessionId), anyLong());
@@ -274,7 +273,7 @@ public File getOsFile() {
274273
final CrashlyticsController controller =
275274
builder().setNativeComponent(mockNativeComponent).setLogFileManager(logFileManager).build();
276275

277-
controller.finalizeSessions(testSettingsDataProvider);
276+
controller.finalizeSessions(testSettingsProvider);
278277
verify(mockSessionReportingCoordinator)
279278
.finalizeSessionWithNativeEvent(eq(previousSessionId), any());
280279
verify(mockSessionReportingCoordinator, never())
@@ -283,7 +282,7 @@ public File getOsFile() {
283282

284283
public void testMissingNativeComponentCausesNoReports() {
285284
final CrashlyticsController controller = createController();
286-
controller.finalizeSessions(testSettingsDataProvider);
285+
controller.finalizeSessions(testSettingsProvider);
287286

288287
List<String> sessions = testFileStore.getAllOpenSessionIds();
289288
for (String sessionId : sessions) {
@@ -300,7 +299,7 @@ public void testMissingNativeComponentCausesNoReports() {
300299
public void testLoggedExceptionsAfterCrashOk() {
301300
final CrashlyticsController controller = builder().build();
302301
controller.handleUncaughtException(
303-
testSettingsDataProvider, Thread.currentThread(), new RuntimeException());
302+
testSettingsProvider, Thread.currentThread(), new RuntimeException());
304303

305304
// This should not throw.
306305
controller.writeNonFatalException(Thread.currentThread(), new RuntimeException());
@@ -314,7 +313,7 @@ public void testLoggedExceptionsAfterCrashOk() {
314313
public void testLogStringAfterCrashOk() {
315314
final CrashlyticsController controller = builder().build();
316315
controller.handleUncaughtException(
317-
testSettingsDataProvider, Thread.currentThread(), new RuntimeException());
316+
testSettingsProvider, Thread.currentThread(), new RuntimeException());
318317

319318
// This should not throw.
320319
controller.writeToLog(System.currentTimeMillis(), "Hi");
@@ -328,18 +327,18 @@ public void testLogStringAfterCrashOk() {
328327
public void testFinalizeSessionAfterCrashOk() throws Exception {
329328
final CrashlyticsController controller = builder().build();
330329
controller.handleUncaughtException(
331-
testSettingsDataProvider, Thread.currentThread(), new RuntimeException());
330+
testSettingsProvider, Thread.currentThread(), new RuntimeException());
332331

333332
// This should not throw.
334-
controller.finalizeSessions(testSettingsDataProvider);
333+
controller.finalizeSessions(testSettingsProvider);
335334
}
336335

337336
public void testUploadWithNoReports() throws Exception {
338337
when(mockSessionReportingCoordinator.hasReportsToSend()).thenReturn(false);
339338

340339
final CrashlyticsController controller = createController();
341340

342-
Task<Void> task = controller.submitAllReports(testSettingsDataProvider.getSettingsAsync());
341+
Task<Void> task = controller.submitAllReports(testSettingsProvider.getSettingsAsync());
343342

344343
await(task);
345344

@@ -354,7 +353,7 @@ public void testUploadWithDataCollectionAlwaysEnabled() throws Exception {
354353

355354
final CrashlyticsController controller = createController();
356355

357-
final Task<Void> task = controller.submitAllReports(testSettingsDataProvider.getSettingsAsync());
356+
final Task<Void> task = controller.submitAllReports(testSettingsProvider.getSettingsAsync());
358357

359358
await(task);
360359

@@ -380,7 +379,7 @@ public void testUploadDisabledThenOptIn() throws Exception {
380379
builder.setDataCollectionArbiter(arbiter);
381380
final CrashlyticsController controller = builder.build();
382381

383-
final Task<Void> task = controller.submitAllReports(testSettingsDataProvider.getSettingsAsync());
382+
final Task<Void> task = controller.submitAllReports(testSettingsProvider.getSettingsAsync());
384383

385384
verify(arbiter).isAutomaticDataCollectionEnabled();
386385
verify(mockSessionReportingCoordinator).hasReportsToSend();
@@ -407,7 +406,7 @@ public void testUploadDisabledThenOptOut() throws Exception {
407406
builder.setDataCollectionArbiter(arbiter);
408407
final CrashlyticsController controller = builder.build();
409408

410-
final Task<Void> task = controller.submitAllReports(testSettingsDataProvider.getSettingsAsync());
409+
final Task<Void> task = controller.submitAllReports(testSettingsProvider.getSettingsAsync());
411410

412411
verify(arbiter).isAutomaticDataCollectionEnabled();
413412
verify(mockSessionReportingCoordinator).hasReportsToSend();
@@ -448,7 +447,7 @@ public void testUploadDisabledThenEnabled() throws Exception {
448447
builder.setDataCollectionArbiter(arbiter);
449448
final CrashlyticsController controller = builder.build();
450449

451-
final Task<Void> task = controller.submitAllReports(testSettingsDataProvider.getSettingsAsync());
450+
final Task<Void> task = controller.submitAllReports(testSettingsProvider.getSettingsAsync());
452451

453452
verify(mockSessionReportingCoordinator).hasReportsToSend();
454453
verify(mockSessionReportingCoordinator, never()).sendReports(any(Executor.class));
@@ -491,8 +490,8 @@ public void testFatalEvent_sendsAppExceptionEvent() {
491490

492491
controller.openSession(SESSION_ID);
493492
controller.handleUncaughtException(
494-
testSettingsDataProvider, Thread.currentThread(), new RuntimeException("Fatal"));
495-
controller.finalizeSessions(testSettingsDataProvider);
493+
testSettingsProvider, Thread.currentThread(), new RuntimeException("Fatal"));
494+
controller.finalizeSessions(testSettingsProvider);
496495

497496
assertFirebaseAnalyticsCrashEvent(mockFirebaseAnalyticsLogger);
498497
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
import com.google.firebase.crashlytics.internal.analytics.UnavailableAnalyticsEventLogger;
3535
import com.google.firebase.crashlytics.internal.breadcrumbs.DisabledBreadcrumbSource;
3636
import com.google.firebase.crashlytics.internal.persistence.FileStore;
37+
import com.google.firebase.crashlytics.internal.settings.Settings;
3738
import com.google.firebase.crashlytics.internal.settings.SettingsController;
38-
import com.google.firebase.crashlytics.internal.settings.TestSettingsData;
39-
import com.google.firebase.crashlytics.internal.settings.model.SettingsData;
39+
import com.google.firebase.crashlytics.internal.settings.TestSettings;
4040
import com.google.firebase.inject.Deferred;
4141
import com.google.firebase.installations.FirebaseInstallationsApi;
4242
import java.io.File;
@@ -71,9 +71,9 @@ protected void setUp() throws Exception {
7171
fileStore = new FileStore(getContext());
7272

7373
mockSettingsController = mock(SettingsController.class);
74-
final SettingsData settingsData = new TestSettingsData();
75-
when(mockSettingsController.getSettingsSync()).thenReturn(settingsData);
76-
when(mockSettingsController.getSettingsAsync()).thenReturn(Tasks.forResult(settingsData));
74+
Settings settings = new TestSettings();
75+
when(mockSettingsController.getSettingsSync()).thenReturn(settings);
76+
when(mockSettingsController.getSettingsAsync()).thenReturn(Tasks.forResult(settings));
7777
}
7878

7979
@Override

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
import com.google.firebase.crashlytics.internal.breadcrumbs.DisabledBreadcrumbSource;
4040
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
4141
import com.google.firebase.crashlytics.internal.persistence.FileStore;
42+
import com.google.firebase.crashlytics.internal.settings.Settings;
4243
import com.google.firebase.crashlytics.internal.settings.SettingsController;
43-
import com.google.firebase.crashlytics.internal.settings.TestSettingsData;
44-
import com.google.firebase.crashlytics.internal.settings.model.SettingsData;
44+
import com.google.firebase.crashlytics.internal.settings.TestSettings;
4545
import com.google.firebase.inject.Deferred;
4646
import com.google.firebase.installations.FirebaseInstallationsApi;
4747
import java.util.HashMap;
@@ -339,7 +339,7 @@ private Task<CrashlyticsCore> startCoreAsync(CrashlyticsCore crashlyticsCore) {
339339
Thread.setDefaultUncaughtExceptionHandler(NOOP_HANDLER);
340340

341341
SettingsController mockSettingsController = mock(SettingsController.class);
342-
final SettingsData settings = new TestSettingsData(3);
342+
final Settings settings = new TestSettings(3);
343343
when(mockSettingsController.getSettingsSync()).thenReturn(settings);
344344
when(mockSettingsController.getSettingsAsync()).thenReturn(Tasks.forResult(settings));
345345

firebase-crashlytics/src/androidTest/java/com/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistenceTest.java

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@
2828
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal;
2929
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame;
3030
import com.google.firebase.crashlytics.internal.model.ImmutableList;
31-
import com.google.firebase.crashlytics.internal.settings.SettingsDataProvider;
32-
import com.google.firebase.crashlytics.internal.settings.model.SessionSettingsData;
33-
import com.google.firebase.crashlytics.internal.settings.model.Settings;
31+
import com.google.firebase.crashlytics.internal.settings.Settings;
32+
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
3433
import java.io.IOException;
3534
import java.text.DecimalFormat;
3635
import java.util.ArrayList;
@@ -48,15 +47,15 @@ public class CrashlyticsReportPersistenceTest extends CrashlyticsTestCase {
4847
private CrashlyticsReportPersistence reportPersistence;
4948
private FileStore fileStore;
5049

51-
private static SettingsDataProvider getSettingsMock(
50+
private static SettingsProvider getSettingsMock(
5251
int maxCompleteSessionsCount, int maxCustomExceptionEvents) {
53-
SettingsDataProvider settingsDataProvider = mock(SettingsDataProvider.class);
52+
SettingsProvider settingsProvider = mock(SettingsProvider.class);
5453
Settings settingsMock = mock(Settings.class);
55-
SessionSettingsData sessionSettingsDataMock =
56-
new SessionSettingsData(maxCustomExceptionEvents, maxCompleteSessionsCount);
54+
Settings.SessionData sessionSettingsDataMock =
55+
new Settings.SessionData(maxCustomExceptionEvents, maxCompleteSessionsCount);
5756
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMock);
58-
when(settingsDataProvider.getSettingsSync()).thenReturn(settingsMock);
59-
return settingsDataProvider;
57+
when(settingsProvider.getSettingsSync()).thenReturn(settingsMock);
58+
return settingsProvider;
6059
}
6160

6261
@Override
@@ -283,15 +282,15 @@ public void testFinalizeReports_capsReports() {
283282
}
284283

285284
public void testFinalizeReports_whenSettingsChanges_capsReports() throws IOException {
286-
SettingsDataProvider settingsDataProvider = mock(SettingsDataProvider.class);
285+
SettingsProvider settingsProvider = mock(SettingsProvider.class);
287286
Settings settingsMock = mock(Settings.class);
288-
SessionSettingsData sessionSettingsDataMock =
289-
new SessionSettingsData(VERY_LARGE_UPPER_LIMIT, 4);
290-
SessionSettingsData sessionSettingsDataMockDifferentValues =
291-
new SessionSettingsData(VERY_LARGE_UPPER_LIMIT, 8);
287+
Settings.SessionData sessionSettingsDataMock =
288+
new Settings.SessionData(VERY_LARGE_UPPER_LIMIT, 4);
289+
Settings.SessionData sessionSettingsDataMockDifferentValues =
290+
new Settings.SessionData(VERY_LARGE_UPPER_LIMIT, 8);
292291
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMock);
293-
when(settingsDataProvider.getSettingsSync()).thenReturn(settingsMock);
294-
reportPersistence = new CrashlyticsReportPersistence(fileStore, settingsDataProvider);
292+
when(settingsProvider.getSettingsSync()).thenReturn(settingsMock);
293+
reportPersistence = new CrashlyticsReportPersistence(fileStore, settingsProvider);
295294

296295
DecimalFormat format = new DecimalFormat("00");
297296
for (int i = 0; i < 16; i++) {
@@ -542,15 +541,15 @@ public void testPersistEvent_keepsAppropriateNumberOfMostRecentEvents() throws I
542541

543542
public void testPersistEvent_whenSettingsChanges_keepsAppropriateNumberOfMostRecentEvents()
544543
throws IOException {
545-
SettingsDataProvider settingsDataProvider = mock(SettingsDataProvider.class);
544+
SettingsProvider settingsProvider = mock(SettingsProvider.class);
546545
Settings settingsMock = mock(Settings.class);
547-
SessionSettingsData sessionSettingsDataMock =
548-
new SessionSettingsData(4, VERY_LARGE_UPPER_LIMIT);
549-
SessionSettingsData sessionSettingsDataMockDifferentValues =
550-
new SessionSettingsData(8, VERY_LARGE_UPPER_LIMIT);
546+
Settings.SessionData sessionSettingsDataMock =
547+
new Settings.SessionData(4, VERY_LARGE_UPPER_LIMIT);
548+
Settings.SessionData sessionSettingsDataMockDifferentValues =
549+
new Settings.SessionData(8, VERY_LARGE_UPPER_LIMIT);
551550
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMock);
552-
when(settingsDataProvider.getSettingsSync()).thenReturn(settingsMock);
553-
reportPersistence = new CrashlyticsReportPersistence(fileStore, settingsDataProvider);
551+
when(settingsProvider.getSettingsSync()).thenReturn(settingsMock);
552+
reportPersistence = new CrashlyticsReportPersistence(fileStore, settingsProvider);
554553

555554
final String sessionId = "testSession";
556555
final CrashlyticsReport testReport = makeTestReport(sessionId);

0 commit comments

Comments
 (0)