Skip to content

Commit 233c041

Browse files
committed
Removed unnecessary methods from Settings.java
1 parent a69593d commit 233c041

File tree

8 files changed

+61
-70
lines changed

8 files changed

+61
-70
lines changed

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

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame;
3030
import com.google.firebase.crashlytics.internal.model.ImmutableList;
3131
import com.google.firebase.crashlytics.internal.settings.Settings;
32+
import com.google.firebase.crashlytics.internal.settings.Settings.FeatureFlagData;
3233
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
3334
import java.io.IOException;
3435
import java.text.DecimalFormat;
@@ -47,14 +48,17 @@ public class CrashlyticsReportPersistenceTest extends CrashlyticsTestCase {
4748
private CrashlyticsReportPersistence reportPersistence;
4849
private FileStore fileStore;
4950

50-
private static SettingsProvider getSettingsMock(
51+
private static SettingsProvider createSettingsProviderMock(
5152
int maxCompleteSessionsCount, int maxCustomExceptionEvents) {
53+
5254
SettingsProvider settingsProvider = mock(SettingsProvider.class);
53-
Settings settingsMock = mock(Settings.class);
54-
Settings.SessionData sessionSettingsDataMock =
55+
56+
Settings.SessionData sessionData =
5557
new Settings.SessionData(maxCustomExceptionEvents, maxCompleteSessionsCount);
56-
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMock);
57-
when(settingsProvider.getSettingsSync()).thenReturn(settingsMock);
58+
Settings settings =
59+
new Settings(0, sessionData, new FeatureFlagData(true, false), 3, 0, 1.0, 1.0, 1);
60+
61+
when(settingsProvider.getSettingsSync()).thenReturn(settings);
5862
return settingsProvider;
5963
}
6064

@@ -63,7 +67,7 @@ public void setUp() throws Exception {
6367
fileStore = new FileStore(getContext());
6468
reportPersistence =
6569
new CrashlyticsReportPersistence(
66-
fileStore, getSettingsMock(VERY_LARGE_UPPER_LIMIT, VERY_LARGE_UPPER_LIMIT));
70+
fileStore, createSettingsProviderMock(VERY_LARGE_UPPER_LIMIT, VERY_LARGE_UPPER_LIMIT));
6771
}
6872

6973
public void testListSortedOpenSessionIds() {
@@ -269,7 +273,8 @@ public void testFinalizeReports_skipsCappingCurrentSession() throws IOException
269273

270274
public void testFinalizeReports_capsReports() {
271275
reportPersistence =
272-
new CrashlyticsReportPersistence(fileStore, getSettingsMock(4, VERY_LARGE_UPPER_LIMIT));
276+
new CrashlyticsReportPersistence(
277+
fileStore, createSettingsProviderMock(4, VERY_LARGE_UPPER_LIMIT));
273278
for (int i = 0; i < 10; i++) {
274279
persistReportWithEvent(reportPersistence, "testSession" + i, true);
275280
}
@@ -283,13 +288,16 @@ public void testFinalizeReports_capsReports() {
283288

284289
public void testFinalizeReports_whenSettingsChanges_capsReports() throws IOException {
285290
SettingsProvider settingsProvider = mock(SettingsProvider.class);
286-
Settings settingsMock = mock(Settings.class);
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);
291-
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMock);
292-
when(settingsProvider.getSettingsSync()).thenReturn(settingsMock);
291+
292+
Settings.SessionData sessionData1 = new Settings.SessionData(VERY_LARGE_UPPER_LIMIT, 4);
293+
Settings.SessionData sessionData2 = new Settings.SessionData(VERY_LARGE_UPPER_LIMIT, 8);
294+
295+
Settings settings1 =
296+
new Settings(0, sessionData1, new FeatureFlagData(true, true), 3, 0, 1.0, 1.0, 1);
297+
Settings settings2 =
298+
new Settings(0, sessionData2, new FeatureFlagData(true, true), 3, 0, 1.0, 1.0, 1);
299+
300+
when(settingsProvider.getSettingsSync()).thenReturn(settings1);
293301
reportPersistence = new CrashlyticsReportPersistence(fileStore, settingsProvider);
294302

295303
DecimalFormat format = new DecimalFormat("00");
@@ -301,7 +309,7 @@ public void testFinalizeReports_whenSettingsChanges_capsReports() throws IOExcep
301309
List<CrashlyticsReportWithSessionId> finalizedReports =
302310
reportPersistence.loadFinalizedReports();
303311
assertEquals(4, finalizedReports.size());
304-
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMockDifferentValues);
312+
when(settingsProvider.getSettingsSync()).thenReturn(settings2);
305313

306314
for (int i = 16; i < 32; i++) {
307315
persistReportWithEvent(reportPersistence, "testSession" + i, true);
@@ -315,7 +323,8 @@ public void testFinalizeReports_whenSettingsChanges_capsReports() throws IOExcep
315323

316324
public void testFinalizeReports_removesLowPriorityReportsFirst() throws IOException {
317325
reportPersistence =
318-
new CrashlyticsReportPersistence(fileStore, getSettingsMock(4, VERY_LARGE_UPPER_LIMIT));
326+
new CrashlyticsReportPersistence(
327+
fileStore, createSettingsProviderMock(4, VERY_LARGE_UPPER_LIMIT));
319328

320329
for (int i = 0; i < 10; i++) {
321330
boolean priority = i >= 3 && i <= 8;
@@ -337,7 +346,8 @@ public void testFinalizeReports_prioritizesNativeAndNonnativeFatals() throws IOE
337346

338347
CrashlyticsReport.FilesPayload filesPayload = makeFilePayload();
339348
reportPersistence =
340-
new CrashlyticsReportPersistence(fileStore, getSettingsMock(4, VERY_LARGE_UPPER_LIMIT));
349+
new CrashlyticsReportPersistence(
350+
fileStore, createSettingsProviderMock(4, VERY_LARGE_UPPER_LIMIT));
341351

342352
persistReportWithEvent(reportPersistence, "testSession1", true);
343353
reportPersistence.finalizeSessionWithNativeEvent("testSession1", filesPayload);
@@ -359,7 +369,8 @@ public void testFinalizeReports_prioritizesNativeAndNonnativeFatals() throws IOE
359369

360370
public void testFinalizeReports_removesOldestReportsFirst() throws IOException {
361371
reportPersistence =
362-
new CrashlyticsReportPersistence(fileStore, getSettingsMock(4, VERY_LARGE_UPPER_LIMIT));
372+
new CrashlyticsReportPersistence(
373+
fileStore, createSettingsProviderMock(4, VERY_LARGE_UPPER_LIMIT));
363374
for (int i = 0; i < 8; i++) {
364375
String sessionId = "testSession" + i;
365376
persistReportWithEvent(reportPersistence, sessionId, true);
@@ -507,7 +518,8 @@ public void testDeleteAllReports_removesAllReports() {
507518

508519
public void testPersistEvent_keepsAppropriateNumberOfMostRecentEvents() throws IOException {
509520
reportPersistence =
510-
new CrashlyticsReportPersistence(fileStore, getSettingsMock(VERY_LARGE_UPPER_LIMIT, 4));
521+
new CrashlyticsReportPersistence(
522+
fileStore, createSettingsProviderMock(VERY_LARGE_UPPER_LIMIT, 4));
511523
final String sessionId = "testSession";
512524
final CrashlyticsReport testReport = makeTestReport(sessionId);
513525
final CrashlyticsReport.Session.Event testEvent1 = makeTestEvent("type1", "reason1");
@@ -542,13 +554,15 @@ public void testPersistEvent_keepsAppropriateNumberOfMostRecentEvents() throws I
542554
public void testPersistEvent_whenSettingsChanges_keepsAppropriateNumberOfMostRecentEvents()
543555
throws IOException {
544556
SettingsProvider settingsProvider = mock(SettingsProvider.class);
545-
Settings settingsMock = mock(Settings.class);
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);
550-
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMock);
551-
when(settingsProvider.getSettingsSync()).thenReturn(settingsMock);
557+
Settings.SessionData sessionData1 = new Settings.SessionData(4, VERY_LARGE_UPPER_LIMIT);
558+
Settings.SessionData sessionData2 = new Settings.SessionData(8, VERY_LARGE_UPPER_LIMIT);
559+
560+
Settings settings1 =
561+
new Settings(0, sessionData1, new FeatureFlagData(true, true), 3, 0, 1.0, 1.0, 1);
562+
Settings settings2 =
563+
new Settings(0, sessionData2, new FeatureFlagData(true, true), 3, 0, 1.0, 1.0, 1);
564+
565+
when(settingsProvider.getSettingsSync()).thenReturn(settings1);
552566
reportPersistence = new CrashlyticsReportPersistence(fileStore, settingsProvider);
553567

554568
final String sessionId = "testSession";
@@ -581,7 +595,7 @@ public void testPersistEvent_whenSettingsChanges_keepsAppropriateNumberOfMostRec
581595
.withEvents(ImmutableList.from(testEvent2, testEvent3, testEvent4, testEvent5)),
582596
finalizedReport);
583597

584-
when(settingsMock.getSessionData()).thenReturn(sessionSettingsDataMockDifferentValues);
598+
when(settingsProvider.getSettingsSync()).thenReturn(settings2);
585599

586600
final CrashlyticsReport.Session.Event testEvent6 = makeTestEvent("type6", "reason6");
587601
final CrashlyticsReport.Session.Event testEvent7 = makeTestEvent("type7", "reason7");
@@ -630,7 +644,8 @@ public void testPersistEvent_whenSettingsChanges_keepsAppropriateNumberOfMostRec
630644

631645
public void testPersistReportWithAnrEvent() throws IOException {
632646
reportPersistence =
633-
new CrashlyticsReportPersistence(fileStore, getSettingsMock(VERY_LARGE_UPPER_LIMIT, 4));
647+
new CrashlyticsReportPersistence(
648+
fileStore, createSettingsProviderMock(VERY_LARGE_UPPER_LIMIT, 4));
634649
final String sessionId = "testSession";
635650
final CrashlyticsReport testReport = makeTestReport(sessionId);
636651
final Event testEvent = makeTestAnrEvent();

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ private void doCloseSessions(boolean skipCurrentSession, SettingsProvider settin
576576

577577
final String mostRecentSessionIdToClose = sortedOpenSessions.get(offset);
578578

579-
if (settingsProvider.getSettingsSync().getFeatureFlagData().collectAnrs) {
579+
if (settingsProvider.getSettingsSync().featureFlagData.collectAnrs) {
580580
writeApplicationExitInfoEventIfRelevant(mostRecentSessionIdToClose);
581581
} else {
582582
Logger.getLogger().v("ANR feature disabled.");

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ private Task<Void> doBackgroundInitialization(SettingsProvider settingsProvider)
229229

230230
final Settings settingsData = settingsProvider.getSettingsSync();
231231

232-
if (!settingsData.getFeatureFlagData().collectReports) {
232+
if (!settingsData.featureFlagData.collectReports) {
233233
Logger.getLogger().d("Collection of crash reports disabled in Crashlytics settings.");
234234
// TODO: This isn't actually an error condition, so figure out the right way to
235235
// handle this case.

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,7 @@ public void persistEvent(
127127
@NonNull CrashlyticsReport.Session.Event event,
128128
@NonNull String sessionId,
129129
boolean isHighPriority) {
130-
int maxEventsToKeep =
131-
settingsProvider.getSettingsSync().getSessionData().maxCustomExceptionEvents;
130+
int maxEventsToKeep = settingsProvider.getSettingsSync().sessionData.maxCustomExceptionEvents;
132131
final String json = TRANSFORM.eventToJson(event);
133132
final String fileName = generateEventFilename(eventCounter.getAndIncrement(), isHighPriority);
134133
try {
@@ -247,8 +246,7 @@ private SortedSet<String> capAndGetOpenSessions(@Nullable String currentSessionI
247246
}
248247

249248
private void capFinalizedReports() {
250-
int maxReportsToKeep =
251-
settingsProvider.getSettingsSync().getSessionData().maxCompleteSessionsCount;
249+
int maxReportsToKeep = settingsProvider.getSettingsSync().sessionData.maxCompleteSessionsCount;
252250
List<File> finalizedReportFiles = getAllFinalizedReportFiles();
253251

254252
int fileCount = finalizedReportFiles.size();

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/send/ReportQueue.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ final class ReportQueue {
5050
ReportQueue(
5151
Transport<CrashlyticsReport> transport, Settings settings, OnDemandCounter onDemandCounter) {
5252
this(
53-
settings.onDemandUploadRatePerMinute(),
54-
settings.onDemandBackoffBase(),
55-
(long) settings.onDemandBackoffStepDurationSeconds() * MS_PER_SECOND,
53+
settings.onDemandUploadRatePerMinute,
54+
settings.onDemandBackoffBase,
55+
(long) settings.onDemandBackoffStepDurationSeconds * MS_PER_SECOND,
5656
transport,
5757
onDemandCounter);
5858
}

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/settings/Settings.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -69,28 +69,4 @@ public Settings(
6969
public boolean isExpired(long currentTimeMillis) {
7070
return expiresAtMillis < currentTimeMillis;
7171
}
72-
73-
public SessionData getSessionData() {
74-
return sessionData;
75-
}
76-
77-
public FeatureFlagData getFeatureFlagData() {
78-
return featureFlagData;
79-
}
80-
81-
public long getExpiresAtMillis() {
82-
return expiresAtMillis;
83-
}
84-
85-
public double onDemandUploadRatePerMinute() {
86-
return onDemandUploadRatePerMinute;
87-
}
88-
89-
public double onDemandBackoffBase() {
90-
return onDemandBackoffBase;
91-
}
92-
93-
public int onDemandBackoffStepDurationSeconds() {
94-
return onDemandBackoffStepDurationSeconds;
95-
}
9672
}

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/settings/SettingsController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public Task<Void> then(@Nullable Void aVoid) throws Exception {
203203
final Settings fetchedSettings =
204204
settingsJsonParser.parseSettingsJson(settingsJson);
205205
cachedSettingsIo.writeCachedSettings(
206-
fetchedSettings.getExpiresAtMillis(), settingsJson);
206+
fetchedSettings.expiresAtMillis, settingsJson);
207207
logSettings(settingsJson, "Loaded settings: ");
208208

209209
setStoredBuildInstanceIdentifier(settingsRequest.instanceId);

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

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
3737
import com.google.firebase.crashlytics.internal.persistence.FileStore;
3838
import com.google.firebase.crashlytics.internal.settings.Settings;
39+
import com.google.firebase.crashlytics.internal.settings.Settings.FeatureFlagData;
40+
import com.google.firebase.crashlytics.internal.settings.Settings.SessionData;
3941
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
4042
import com.google.firebase.inject.Deferred;
4143
import java.util.Collections;
@@ -84,7 +86,7 @@ public void testDoCloseSession_enabledAnrs_doesNotPersistsAppExitInfoIfItDoesntE
8486

8587
when(mockSessionReportingCoordinator.listSortedOpenSessionIds())
8688
.thenReturn(new TreeSet<>(Collections.singletonList(sessionId)));
87-
mockSettingsData(true);
89+
mockSettingsProvider(true);
8890
controller.doCloseSessions(mockSettingsProvider);
8991
// Since we haven't added any app exit info to the shadow activity manager, there won't exist a
9092
// single app exit info, and so this method won't be called.
@@ -105,7 +107,7 @@ public void testDoCloseSession_enabledAnrs_persistsAppExitInfoIfItExists() {
105107

106108
when(mockSessionReportingCoordinator.listSortedOpenSessionIds())
107109
.thenReturn(new TreeSet<>(Collections.singletonList(sessionId)));
108-
mockSettingsData(true);
110+
mockSettingsProvider(true);
109111
controller.doCloseSessions(mockSettingsProvider);
110112
verify(mockSessionReportingCoordinator)
111113
.persistRelevantAppExitInfoEvent(
@@ -122,18 +124,18 @@ public void testDoCloseSession_disabledAnrs_doesNotPersistsAppExitInfo() {
122124

123125
when(mockSessionReportingCoordinator.listSortedOpenSessionIds())
124126
.thenReturn(new TreeSet<>(Collections.singletonList(sessionId)));
125-
mockSettingsData(false);
127+
mockSettingsProvider(false);
126128
controller.doCloseSessions(mockSettingsProvider);
127129
verify(mockSessionReportingCoordinator, never())
128130
.persistRelevantAppExitInfoEvent(
129131
eq(sessionId), any(), any(LogFileManager.class), any(UserMetadata.class));
130132
}
131133

132-
private void mockSettingsData(boolean collectAnrs) {
133-
Settings mockSettings = mock(Settings.class);
134-
when(mockSettingsProvider.getSettingsSync()).thenReturn(mockSettings);
135-
when(mockSettings.getFeatureFlagData())
136-
.thenReturn(new Settings.FeatureFlagData(true, collectAnrs));
134+
private void mockSettingsProvider(boolean collectAnrs) {
135+
Settings settings =
136+
new Settings(
137+
0, new SessionData(4, 4), new FeatureFlagData(true, collectAnrs), 3, 0, 1.0, 1.0, 1);
138+
when(mockSettingsProvider.getSettingsSync()).thenReturn(settings);
137139
}
138140

139141
/** Creates a new CrashlyticsController with default options and opens a session. */

0 commit comments

Comments
 (0)