Skip to content

Commit 30a669f

Browse files
mrwillis21jakeouellette
authored andcommitted
Add settings field for NDK sessions through DataTransport
1 parent 1d6322c commit 30a669f

File tree

9 files changed

+37
-11
lines changed

9 files changed

+37
-11
lines changed

firebase-crashlytics/src/androidTest/assets/firebase_settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"app": {
99
"status": "activated",
1010
"report_upload_variant": 2,
11+
"native_report_upload_variant": 2,
1112
"update_required": true
1213
},
1314
"fabric": {

firebase-crashlytics/src/androidTest/assets/firebase_settings_new.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"app": {
99
"status": "new",
1010
"report_upload_variant": 2,
11+
"native_report_upload_variant": 2,
1112
"update_required": true
1213
},
1314
"fabric": {

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
@@ -117,7 +117,10 @@ protected void setUp() throws Exception {
117117
when(mockFileStore.getFilesDirPath()).thenReturn(testFilesDirectory.getPath());
118118

119119
final SettingsData testSettingsData =
120-
new TestSettingsData(3, CrashlyticsController.REPORT_UPLOAD_VARIANT_LEGACY);
120+
new TestSettingsData(
121+
3,
122+
CrashlyticsController.REPORT_UPLOAD_VARIANT_LEGACY,
123+
CrashlyticsController.REPORT_UPLOAD_VARIANT_LEGACY);
121124
appSettingsData = testSettingsData.appData;
122125
sessionSettingsData = testSettingsData.sessionData;
123126

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,10 @@ private Task<CrashlyticsCore> startCoreAsync(CrashlyticsCore crashlyticsCore) {
610610

611611
SettingsController mockSettingsController = mock(SettingsController.class);
612612
final SettingsData settings =
613-
new TestSettingsData(3, CrashlyticsController.REPORT_UPLOAD_VARIANT_LEGACY);
613+
new TestSettingsData(
614+
3,
615+
CrashlyticsController.REPORT_UPLOAD_VARIANT_LEGACY,
616+
CrashlyticsController.REPORT_UPLOAD_VARIANT_LEGACY);
614617
when(mockSettingsController.getSettings()).thenReturn(settings);
615618
when(mockSettingsController.getAppSettings()).thenReturn(Tasks.forResult(settings.appData));
616619

firebase-crashlytics/src/androidTest/java/com/google/firebase/crashlytics/internal/settings/SettingsV3JsonTransformTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ private void assertAppData(AppSettingsData appData, boolean isAppNew) {
8686
appData.ndkReportsUrl);
8787
assertTrue(appData.updateRequired);
8888
assertEquals(2, appData.reportUploadVariant);
89+
assertEquals(2, appData.nativeReportUploadVariant);
8990
}
9091

9192
private void assertSettingsData(SessionSettingsData settingsData) {

firebase-crashlytics/src/androidTest/java/com/google/firebase/crashlytics/internal/settings/TestSettingsData.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222
public class TestSettingsData extends SettingsData {
2323

2424
public TestSettingsData() {
25-
this(2, 0);
25+
this(2, 0, 0);
2626
}
2727

28-
public TestSettingsData(int settingsVersion, int reportUploadVariant) {
28+
public TestSettingsData(
29+
int settingsVersion, int reportUploadVariant, int nativeReportUploadVariant) {
2930
super(
3031
5,
31-
buildAppData(reportUploadVariant),
32+
buildAppData(reportUploadVariant, nativeReportUploadVariant),
3233
buildSettingsData(),
3334
buildFeaturesData(),
3435
settingsVersion,
@@ -43,7 +44,8 @@ private static SessionSettingsData buildSettingsData() {
4344
return new SessionSettingsData(64, 4);
4445
}
4546

46-
private static AppSettingsData buildAppData(int reportUploadVariant) {
47+
private static AppSettingsData buildAppData(
48+
int reportUploadVariant, int nativeReportUploadVariant) {
4749
return new AppSettingsData(
4850
AppSettingsData.STATUS_ACTIVATED,
4951
"http://localhost",
@@ -52,6 +54,7 @@ private static AppSettingsData buildAppData(int reportUploadVariant) {
5254
"testBundleId",
5355
"testOrganizationId",
5456
false,
55-
reportUploadVariant);
57+
reportUploadVariant,
58+
nativeReportUploadVariant);
5659
}
5760
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ class SettingsJsonConstants {
4444
static final String APP_NDK_REPORTS_URL_KEY = "ndk_reports_url";
4545
static final String APP_UPDATE_REQUIRED_KEY = "update_required";
4646
static final String APP_REPORT_UPLOAD_VARIANT_KEY = "report_upload_variant";
47+
static final String APP_NATIVE_REPORT_UPLOAD_VARIANT_KEY = "native_report_upload_variant";
4748

4849
// App JSON Defaults
4950
static final boolean APP_UPDATE_REQUIRED_DEFAULT = false;
5051
static final int APP_REPORT_UPLOAD_VARIANT_DEFAULT = 0;
52+
static final int APP_NATIVE_REPORT_UPLOAD_VARIANT_DEFAULT = 0;
5153

5254
// Settings JSON Keys
5355
static final String SETTINGS_MAX_CUSTOM_EXCEPTION_EVENTS_KEY = "max_custom_exception_events";

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ private static AppSettingsData buildAppDataFrom(JSONObject fabricJson, JSONObjec
9696
SettingsJsonConstants.APP_REPORT_UPLOAD_VARIANT_KEY,
9797
SettingsJsonConstants.APP_REPORT_UPLOAD_VARIANT_DEFAULT);
9898

99+
final int nativeReportUploadVariant =
100+
appJson.optInt(
101+
SettingsJsonConstants.APP_NATIVE_REPORT_UPLOAD_VARIANT_KEY,
102+
SettingsJsonConstants.APP_NATIVE_REPORT_UPLOAD_VARIANT_DEFAULT);
103+
99104
return new AppSettingsData(
100105
status,
101106
url,
@@ -104,7 +109,8 @@ private static AppSettingsData buildAppDataFrom(JSONObject fabricJson, JSONObjec
104109
bundleId,
105110
organizationId,
106111
updateRequired,
107-
reportUploadVariant);
112+
reportUploadVariant,
113+
nativeReportUploadVariant);
108114
}
109115

110116
private static FeaturesSettingsData buildFeaturesSessionDataFrom(JSONObject json) {
@@ -141,7 +147,10 @@ private JSONObject toAppJson(AppSettingsData appData) throws JSONException {
141147
new JSONObject()
142148
.put(SettingsJsonConstants.APP_STATUS_KEY, appData.status)
143149
.put(SettingsJsonConstants.APP_UPDATE_REQUIRED_KEY, appData.updateRequired)
144-
.put(SettingsJsonConstants.APP_REPORT_UPLOAD_VARIANT_KEY, appData.reportUploadVariant);
150+
.put(SettingsJsonConstants.APP_REPORT_UPLOAD_VARIANT_KEY, appData.reportUploadVariant)
151+
.put(
152+
SettingsJsonConstants.APP_NATIVE_REPORT_UPLOAD_VARIANT_KEY,
153+
appData.nativeReportUploadVariant);
145154

146155
return json;
147156
}

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class AppSettingsData {
2828
public final String organizationId;
2929
public final boolean updateRequired;
3030
public final int reportUploadVariant;
31+
public final int nativeReportUploadVariant;
3132

3233
public AppSettingsData(
3334
String status,
@@ -37,7 +38,8 @@ public AppSettingsData(
3738
String bundleId,
3839
String organizationId,
3940
boolean updateRequired,
40-
int reportUploadVariant) {
41+
int reportUploadVariant,
42+
int nativeReportUploadVariant) {
4143
this.status = status;
4244
this.url = url;
4345
this.reportsUrl = reportsUrl;
@@ -46,10 +48,11 @@ public AppSettingsData(
4648
this.organizationId = organizationId;
4749
this.updateRequired = updateRequired;
4850
this.reportUploadVariant = reportUploadVariant;
51+
this.nativeReportUploadVariant = nativeReportUploadVariant;
4952
}
5053

5154
public AppSettingsData(
5255
String status, String url, String reportsUrl, String ndkReportsUrl, boolean updateRequired) {
53-
this(status, url, reportsUrl, ndkReportsUrl, null, null, updateRequired, 0);
56+
this(status, url, reportsUrl, ndkReportsUrl, null, null, updateRequired, 0, 0);
5457
}
5558
}

0 commit comments

Comments
 (0)