Skip to content

Commit 32a4c72

Browse files
committed
#3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes
1 parent 895b343 commit 32a4c72

11 files changed

+329
-480
lines changed

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

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,12 @@
33
import android.net.Uri;
44
import android.os.Parcel;
55
import android.os.Parcelable;
6-
76
import androidx.annotation.NonNull;
87
import androidx.annotation.Nullable;
98
import androidx.room.Entity;
10-
import androidx.room.PrimaryKey;
11-
12-
import org.apache.commons.lang3.StringUtils;
13-
import org.wikipedia.dataclient.mwapi.MwQueryPage;
14-
import org.wikipedia.gallery.ExtMetadata;
15-
import org.wikipedia.gallery.ImageInfo;
16-
import org.wikipedia.page.PageTitle;
17-
9+
import fr.free.nrw.commons.location.LatLng;
10+
import fr.free.nrw.commons.utils.CommonsDateUtil;
11+
import fr.free.nrw.commons.utils.MediaDataExtractorUtil;
1812
import java.text.ParseException;
1913
import java.util.ArrayList;
2014
import java.util.Collections;
@@ -23,10 +17,11 @@
2317
import java.util.List;
2418
import java.util.Locale;
2519
import java.util.Map;
26-
27-
import fr.free.nrw.commons.location.LatLng;
28-
import fr.free.nrw.commons.utils.CommonsDateUtil;
29-
import fr.free.nrw.commons.utils.MediaDataExtractorUtil;
20+
import org.apache.commons.lang3.StringUtils;
21+
import org.wikipedia.dataclient.mwapi.MwQueryPage;
22+
import org.wikipedia.gallery.ExtMetadata;
23+
import org.wikipedia.gallery.ImageInfo;
24+
import org.wikipedia.page.PageTitle;
3025

3126
@Entity
3227
public class Media implements Parcelable {
@@ -90,7 +85,7 @@ public Media[] newArray(int i) {
9085
* Ex: key = "en", value: "<caption in short in English>"
9186
* key = "de" , value: "<caption in german>"
9287
*/
93-
public HashMap<String, String> captions;
88+
public Map<String, String> captions;
9489
public HashMap<String, String> tags = new HashMap<>();
9590
@Nullable public LatLng coordinates;
9691

@@ -126,7 +121,7 @@ public Media(String filename) {
126121
* @param dateUploaded Media date uploaded
127122
* @param creator Media creator
128123
*/
129-
public Media(Uri localUri, String imageUrl, String filename, HashMap<String, String> captions, String description,
124+
public Media(Uri localUri, String imageUrl, String filename, Map<String, String> captions, String description,
130125
long dataLength, Date dateCreated, Date dateUploaded, String creator) {
131126
this();
132127
this.localUri = localUri;
@@ -395,7 +390,7 @@ public ArrayList<Map<String, String>> getDepiction() {
395390
*
396391
* returns list of captions stored in hashmap
397392
*/
398-
public HashMap<String, String> getCaptions() {
393+
public Map<String, String> getCaptions() {
399394
return captions;
400395
}
401396

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

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,25 @@
11
package fr.free.nrw.commons.contributions;
22

3+
import static java.lang.annotation.RetentionPolicy.SOURCE;
4+
35
import android.content.Context;
46
import android.net.Uri;
57
import android.os.Parcel;
6-
78
import androidx.annotation.NonNull;
89
import androidx.annotation.StringDef;
910
import androidx.room.Entity;
1011
import androidx.room.PrimaryKey;
11-
12-
import org.apache.commons.lang3.StringUtils;
13-
14-
import java.lang.annotation.Retention;
15-
import java.util.ArrayList;
16-
import java.util.Date;
17-
import java.util.HashMap;
18-
import java.util.Locale;
19-
2012
import fr.free.nrw.commons.CommonsApplication;
2113
import fr.free.nrw.commons.Media;
2214
import fr.free.nrw.commons.filepicker.UploadableFile;
2315
import fr.free.nrw.commons.settings.Prefs;
2416
import fr.free.nrw.commons.utils.ConfigUtils;
25-
26-
import static java.lang.annotation.RetentionPolicy.SOURCE;
17+
import java.lang.annotation.Retention;
18+
import java.util.ArrayList;
19+
import java.util.Date;
20+
import java.util.Locale;
21+
import java.util.Map;
22+
import org.apache.commons.lang3.StringUtils;
2723

2824
@Entity(tableName = "contribution")
2925
public class Contribution extends Media {
@@ -82,7 +78,7 @@ public Contribution[] newArray(int i) {
8278

8379
public Contribution(Uri contentUri, String filename, Uri localUri, String imageUrl, Date dateCreated,
8480
int state, long dataLength, Date dateUploaded, long transferred,
85-
String source, HashMap<String, String> captions, String description, String creator, boolean isMultiple,
81+
String source, Map<String, String> captions, String description, String creator, boolean isMultiple,
8682
int width, int height, String license) {
8783
super(localUri, imageUrl, filename, captions, description, dataLength, dateCreated, dateUploaded, creator);
8884
this.contentUri = contentUri;
@@ -96,7 +92,7 @@ public Contribution(Uri contentUri, String filename, Uri localUri, String imageU
9692
this.dateCreatedSource = "";
9793
}
9894

99-
public Contribution(Uri localUri, String imageUrl, String filename, HashMap<String, String> captions, String description, long dataLength,
95+
public Contribution(Uri localUri, String imageUrl, String filename, Map<String, String> captions, String description, long dataLength,
10096
Date dateCreated, Date dateUploaded, String creator, String editSummary, ArrayList<String> depictionsEntityIds, String decimalCoords) {
10197
super(localUri, imageUrl, filename, captions, description, dataLength, dateCreated, dateUploaded, creator);
10298
this.decimalCoords = decimalCoords;
@@ -105,7 +101,7 @@ public Contribution(Uri localUri, String imageUrl, String filename, HashMap<Stri
105101
this.depictionsEntityIds = depictionsEntityIds;
106102
}
107103

108-
public Contribution(Uri localUri, String imageUrl, String filename, HashMap<String, String> captions, String description, long dataLength,
104+
public Contribution(Uri localUri, String imageUrl, String filename, Map<String, String> captions, String description, long dataLength,
109105
Date dateCreated, Date dateUploaded, String creator, String editSummary, String decimalCoords, int state) {
110106
super(localUri, imageUrl, filename, captions, description, dataLength, dateCreated, dateUploaded, creator);
111107
this.decimalCoords = decimalCoords;

app/src/main/java/fr/free/nrw/commons/di/NetworkingModule.java

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,8 @@
11
package fr.free.nrw.commons.di;
22

33
import android.content.Context;
4-
54
import androidx.annotation.NonNull;
6-
75
import com.google.gson.Gson;
8-
9-
import org.wikipedia.csrf.CsrfTokenClient;
10-
import org.wikipedia.dataclient.Service;
11-
import org.wikipedia.dataclient.ServiceFactory;
12-
import org.wikipedia.dataclient.WikiSite;
13-
import org.wikipedia.json.GsonUtil;
14-
import org.wikipedia.login.LoginClient;
15-
16-
import java.io.File;
17-
import java.util.concurrent.TimeUnit;
18-
19-
import javax.inject.Named;
20-
import javax.inject.Singleton;
21-
226
import dagger.Module;
237
import dagger.Provides;
248
import fr.free.nrw.commons.BuildConfig;
@@ -32,14 +16,25 @@
3216
import fr.free.nrw.commons.mwapi.UserInterface;
3317
import fr.free.nrw.commons.review.ReviewInterface;
3418
import fr.free.nrw.commons.upload.UploadInterface;
35-
import fr.free.nrw.commons.wikidata.WikidataInterface;
3619
import fr.free.nrw.commons.upload.WikiBaseInterface;
3720
import fr.free.nrw.commons.upload.depicts.DepictsInterface;
3821
import fr.free.nrw.commons.upload.mediaDetails.CaptionInterface;
22+
import fr.free.nrw.commons.wikidata.WikidataInterface;
23+
import java.io.File;
24+
import java.util.concurrent.TimeUnit;
25+
import javax.inject.Named;
26+
import javax.inject.Singleton;
3927
import okhttp3.Cache;
4028
import okhttp3.HttpUrl;
4129
import okhttp3.OkHttpClient;
4230
import okhttp3.logging.HttpLoggingInterceptor;
31+
import okhttp3.logging.HttpLoggingInterceptor.Level;
32+
import org.wikipedia.csrf.CsrfTokenClient;
33+
import org.wikipedia.dataclient.Service;
34+
import org.wikipedia.dataclient.ServiceFactory;
35+
import org.wikipedia.dataclient.WikiSite;
36+
import org.wikipedia.json.GsonUtil;
37+
import org.wikipedia.login.LoginClient;
4338
import timber.log.Timber;
4439

4540
@Module
@@ -76,7 +71,7 @@ public HttpLoggingInterceptor provideHttpLoggingInterceptor() {
7671
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(message -> {
7772
Timber.tag("OkHttp").v(message);
7873
});
79-
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
74+
httpLoggingInterceptor.level(BuildConfig.DEBUG ? Level.BODY: HttpLoggingInterceptor.Level.BASIC);
8075
return httpLoggingInterceptor;
8176
}
8277

0 commit comments

Comments
 (0)