Skip to content

Commit 98d28c6

Browse files
maskaravivekashishkumar468
authored andcommitted
Bump data client library version (commons-app#2926)
* Bump data client library version * Fix tests * Add javadocs
1 parent 5419733 commit 98d28c6

File tree

11 files changed

+48
-22
lines changed

11 files changed

+48
-22
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ dependencies {
2828
implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'
2929
implementation 'com.facebook.fresco:fresco:1.13.0'
3030
implementation 'com.drewnoakes:metadata-extractor:2.11.0'
31-
implementation 'com.dmitrybrant:wikimedia-android-data-client:0.0.12'
31+
implementation 'com.dmitrybrant:wikimedia-android-data-client:0.0.18'
3232

3333
// UI
3434
implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'

app/src/main/java/fr/free/nrw/commons/Media.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.wikipedia.gallery.ExtMetadata;
1010
import org.wikipedia.gallery.ImageInfo;
1111
import org.wikipedia.page.PageTitle;
12-
import org.wikipedia.util.DateUtil;
1312
import org.wikipedia.util.StringUtil;
1413

1514
import java.text.ParseException;
@@ -24,6 +23,7 @@
2423
import androidx.annotation.NonNull;
2524
import androidx.annotation.Nullable;
2625
import fr.free.nrw.commons.location.LatLng;
26+
import fr.free.nrw.commons.utils.CommonsDateUtil;
2727
import fr.free.nrw.commons.utils.MediaDataExtractorUtil;
2828

2929
public class Media implements Parcelable {
@@ -477,7 +477,7 @@ public String getDescription(String preferredLanguage) {
477477

478478
@Nullable private static Date safeParseDate(String dateStr) {
479479
try {
480-
return DateUtil.getIso8601DateFormatShort().parse(dateStr);
480+
return CommonsDateUtil.getIso8601DateFormatShort().parse(dateStr);
481481
} catch (ParseException e) {
482482
return null;
483483
}

app/src/main/java/fr/free/nrw/commons/campaigns/CampaignView.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import fr.free.nrw.commons.R;
1919
import fr.free.nrw.commons.Utils;
2020
import fr.free.nrw.commons.contributions.MainActivity;
21+
import fr.free.nrw.commons.utils.CommonsDateUtil;
2122
import fr.free.nrw.commons.utils.SwipableCardView;
2223
import fr.free.nrw.commons.utils.ViewUtil;
2324

@@ -87,8 +88,8 @@ public void init() {
8788
tvTitle.setText(campaign.getTitle());
8889
tvDescription.setText(campaign.getDescription());
8990
try {
90-
Date startDate = DateUtil.getIso8601DateFormatShort().parse(campaign.getStartDate());
91-
Date endDate = DateUtil.getIso8601DateFormatShort().parse(campaign.getEndDate());
91+
Date startDate = CommonsDateUtil.getIso8601DateFormatShort().parse(campaign.getStartDate());
92+
Date endDate = CommonsDateUtil.getIso8601DateFormatShort().parse(campaign.getEndDate());
9293
tvDates.setText(String.format("%1s - %2s", DateUtil.getExtraShortDateString(startDate),
9394
DateUtil.getExtraShortDateString(endDate)));
9495
} catch (ParseException e) {

app/src/main/java/fr/free/nrw/commons/campaigns/CampaignsPresenter.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import fr.free.nrw.commons.BasePresenter;
1616
import fr.free.nrw.commons.MvpView;
1717
import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient;
18+
import fr.free.nrw.commons.utils.CommonsDateUtil;
1819
import io.reactivex.Single;
1920
import io.reactivex.SingleObserver;
2021
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -79,8 +80,9 @@ public void getCampaigns() {
7980
Collections.sort(campaigns, (campaign, t1) -> {
8081
Date date1, date2;
8182
try {
82-
date1 = DateUtil.getIso8601DateFormatShort().parse(campaign.getStartDate());
83-
date2 = DateUtil.getIso8601DateFormatShort().parse(t1.getStartDate());
83+
84+
date1 = CommonsDateUtil.getIso8601DateFormatShort().parse(campaign.getStartDate());
85+
date2 = CommonsDateUtil.getIso8601DateFormatShort().parse(t1.getStartDate());
8486
} catch (ParseException e) {
8587
e.printStackTrace();
8688
return -1;
@@ -91,8 +93,8 @@ public void getCampaigns() {
9193
Date currentDate = new Date();
9294
try {
9395
for (Campaign aCampaign : campaigns) {
94-
campaignEndDate = DateUtil.getIso8601DateFormatShort().parse(aCampaign.getEndDate());
95-
campaignStartDate = DateUtil.getIso8601DateFormatShort().parse(aCampaign.getStartDate());
96+
campaignEndDate = CommonsDateUtil.getIso8601DateFormatShort().parse(aCampaign.getEndDate());
97+
campaignStartDate = CommonsDateUtil.getIso8601DateFormatShort().parse(aCampaign.getStartDate());
9698
if (campaignEndDate.compareTo(currentDate) >= 0
9799
&& campaignStartDate.compareTo(currentDate) <= 0) {
98100
campaign = aCampaign;

app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@
77
import org.apache.commons.lang3.StringUtils;
88
import org.wikipedia.util.DateUtil;
99

10-
import androidx.annotation.NonNull;
11-
import androidx.annotation.StringDef;
12-
1310
import java.lang.annotation.Retention;
1411
import java.util.Calendar;
1512
import java.util.Date;
1613
import java.util.Locale;
1714
import java.util.TimeZone;
1815

16+
import androidx.annotation.NonNull;
17+
import androidx.annotation.StringDef;
1918
import fr.free.nrw.commons.CommonsApplication;
2019
import fr.free.nrw.commons.Media;
2120
import fr.free.nrw.commons.filepicker.UploadableFile;
@@ -203,7 +202,7 @@ public String getPageContents(Context applicationContext) {
203202
private String getTemplatizedCreatedDate() {
204203
if (dateCreated != null) {
205204
if (UploadableFile.DateTimeWithSource.EXIF_SOURCE.equals(dateCreatedSource)) {
206-
return String.format(Locale.ENGLISH, TEMPLATE_DATE_ACC_TO_EXIF, DateUtil.getIso8601DateFormatShort().format(dateCreated)) + "\n";
205+
return String.format(Locale.ENGLISH, TEMPLATE_DATE_ACC_TO_EXIF, DateUtil.getDateStringWithSkeletonPattern(dateCreated, "yyyy-MM-dd")) + "\n";
207206
} else {
208207
Calendar calendar = Calendar.getInstance();
209208
calendar.setTime(dateCreated);

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsSyncAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public void onPerformSync(Account account, Bundle bundle, String authority,
148148
done = true;
149149
}
150150
}
151-
defaultKvStore.putString("lastSyncTimestamp", DateUtil.getIso8601DateFormat().format(curTime));
151+
defaultKvStore.putString("lastSyncTimestamp", DateUtil.iso8601DateFormat(curTime));
152152
Timber.d("Oh hai, everyone! Look, a kitty!");
153153
}
154154
}

app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ public boolean isUserBlockedFromCommons() {
857857

858858
private Date parseMWDate(String mwDate) {
859859
try {
860-
return DateUtil.getIso8601DateFormat().parse(mwDate);
860+
return DateUtil.iso8601DateParse(mwDate);
861861
} catch (ParseException e) {
862862
throw new RuntimeException(e);
863863
}

app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import fr.free.nrw.commons.nearby.model.NearbyResponse;
3434
import fr.free.nrw.commons.nearby.model.NearbyResultItem;
3535
import fr.free.nrw.commons.upload.FileUtils;
36+
import fr.free.nrw.commons.utils.CommonsDateUtil;
3637
import fr.free.nrw.commons.wikidata.model.GetWikidataEditCountResponse;
3738
import io.reactivex.Observable;
3839
import io.reactivex.Single;
@@ -222,7 +223,7 @@ public Single<CampaignResponseDTO> getCampaigns() {
222223
*/
223224
@Nullable
224225
public Single<Media> getPictureOfTheDay() {
225-
String date = DateUtil.getIso8601DateFormatShort().format(new Date());
226+
String date = CommonsDateUtil.getIso8601DateFormatShort().format(new Date());
226227
Timber.d("Current date is %s", date);
227228
String template = "Template:Potd/" + date;
228229
return getMedia(template, true);
@@ -419,7 +420,7 @@ public Single<List<RecentChange>> getRecentFileChanges() {
419420
Date now = new Date();
420421
Date startDate = new Date(now.getTime() - r.nextInt(RANDOM_SECONDS) * 1000L);
421422

422-
String rcStart = DateUtil.getIso8601DateFormat().format(startDate);
423+
String rcStart = DateUtil.iso8601DateFormat(startDate);
423424
HttpUrl.Builder urlBuilder = HttpUrl
424425
.parse(commonsBaseUrl)
425426
.newBuilder()
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package fr.free.nrw.commons.utils;
2+
3+
import java.text.SimpleDateFormat;
4+
import java.util.Locale;
5+
import java.util.TimeZone;
6+
7+
/**
8+
* Provides util functions for formatting date time
9+
* Most of our formatting needs are addressed by the data library's DateUtil class
10+
* Methods should be added here only if DateUtil class doesn't provide for it already
11+
*/
12+
public class CommonsDateUtil {
13+
14+
/**
15+
* Gets SimpleDateFormat for short date pattern
16+
* @return
17+
*/
18+
public static SimpleDateFormat getIso8601DateFormatShort() {
19+
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ROOT);
20+
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
21+
return simpleDateFormat;
22+
}
23+
}

app/src/test/kotlin/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApiTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ class ApacheHttpClientMediaWikiApiTest {
262262
fun isUserBlockedFromCommonsForTimeBlockedUser() {
263263
val currentDate = Date()
264264
val expiredDate = Date(currentDate.time + 10000)
265-
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api><query><userinfo id=\"1000\" name=\"testusername\" blockid=\"3000\" blockedby=\"blockerusername\" blockedbyid=\"1001\" blockreason=\"testing\" blockedtimestamp=\"2018-05-24T15:32:09Z\" blockexpiry=\"" + DateUtil.getIso8601DateFormat().format(expiredDate) + "\"></userinfo></query></api>"))
265+
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api><query><userinfo id=\"1000\" name=\"testusername\" blockid=\"3000\" blockedby=\"blockerusername\" blockedbyid=\"1001\" blockreason=\"testing\" blockedtimestamp=\"2018-05-24T15:32:09Z\" blockexpiry=\"" + DateUtil.iso8601DateFormat(expiredDate) + "\"></userinfo></query></api>"))
266266

267267
val result = testObject.isUserBlockedFromCommons()
268268

@@ -282,7 +282,7 @@ class ApacheHttpClientMediaWikiApiTest {
282282
fun isUserBlockedFromCommonsForExpiredBlockedUser() {
283283
val currentDate = Date()
284284
val expiredDate = Date(currentDate.time - 10000)
285-
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api><query><userinfo id=\"1000\" name=\"testusername\" blockid=\"3000\" blockedby=\"blockerusername\" blockedbyid=\"1001\" blockreason=\"testing\" blockedtimestamp=\"2018-05-24T15:32:09Z\" blockexpiry=\"" + DateUtil.getIso8601DateFormat().format(expiredDate) + "\"></userinfo></query></api>"))
285+
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api><query><userinfo id=\"1000\" name=\"testusername\" blockid=\"3000\" blockedby=\"blockerusername\" blockedbyid=\"1001\" blockreason=\"testing\" blockedtimestamp=\"2018-05-24T15:32:09Z\" blockexpiry=\"" + DateUtil.iso8601DateFormat(expiredDate) + "\"></userinfo></query></api>"))
286286

287287
val result = testObject.isUserBlockedFromCommons()
288288

0 commit comments

Comments
 (0)