Skip to content

Commit dfb8bf1

Browse files
committed
Do potential trimming of JSONArray at earliest possible moment
1 parent 6ec9f7d commit dfb8bf1

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

Adjust/adjust/src/main/java/com/adjust/sdk/SharedPreferencesManager.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,6 @@ public synchronized void saveRawReferrer(final String rawReferrer, final long cl
8282

8383
JSONArray rawReferrerArray = getRawReferrerArray();
8484

85-
// Initial move for those who have more than REFERRERS_COUNT stored already.
86-
// Cut the array and leave it with only REFERRERS_COUNT elements.
87-
if (rawReferrerArray.length() > REFERRERS_COUNT) {
88-
JSONArray tempReferrerArray = new JSONArray();
89-
for (int i = 0; i < REFERRERS_COUNT; i += 1) {
90-
tempReferrerArray.put(rawReferrerArray.get(i));
91-
}
92-
saveRawReferrerArray(tempReferrerArray);
93-
return;
94-
}
95-
9685
// There are exactly REFERRERS_COUNT saved referrers, do nothing.
9786
if (rawReferrerArray.length() == REFERRERS_COUNT) {
9887
return;
@@ -188,6 +177,19 @@ public synchronized JSONArray getRawReferrerArray() {
188177

189178
if (referrerQueueString != null) {
190179
try {
180+
JSONArray rawReferrerArray = new JSONArray(referrerQueueString);
181+
182+
// Initial move for those who have more than REFERRERS_COUNT stored already.
183+
// Cut the array and leave it with only REFERRERS_COUNT elements.
184+
if (rawReferrerArray.length() > REFERRERS_COUNT) {
185+
JSONArray tempReferrerArray = new JSONArray();
186+
for (int i = 0; i < REFERRERS_COUNT; i += 1) {
187+
tempReferrerArray.put(rawReferrerArray.get(i));
188+
}
189+
saveRawReferrerArray(tempReferrerArray);
190+
return tempReferrerArray;
191+
}
192+
191193
return new JSONArray(referrerQueueString);
192194
} catch (JSONException e) {
193195
} catch (Throwable t) {

0 commit comments

Comments
 (0)