Fix uploads getting stuck (#2309)

* Fix uploads getting stuck

* Fix test

* Use single instance of Gson across the app

* More logs to help debug upload failure

* Add request identifier

* wip

* Fix issues with image quality check dialogs
This commit is contained in:
Vivek Maskara 2019-01-24 13:26:18 +05:30 committed by Josephine Lim
parent 07f9af19f5
commit 532ab8aeae
16 changed files with 85 additions and 91 deletions

View file

@ -3,9 +3,13 @@ package fr.free.nrw.commons.di;
import android.app.Activity;
import android.content.ContentProviderClient;
import android.content.Context;
import android.net.Uri;
import android.support.v4.util.LruCache;
import android.view.inputmethod.InputMethodManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -29,6 +33,8 @@ import fr.free.nrw.commons.nearby.NearbyPlaces;
import fr.free.nrw.commons.settings.Prefs;
import fr.free.nrw.commons.upload.UploadController;
import fr.free.nrw.commons.utils.ConfigUtils;
import fr.free.nrw.commons.utils.UriDeserializer;
import fr.free.nrw.commons.utils.UriSerializer;
import fr.free.nrw.commons.wikidata.WikidataEditListener;
import fr.free.nrw.commons.wikidata.WikidataEditListenerImpl;
@ -154,8 +160,8 @@ public class CommonsApplicationModule {
@Provides
@Named("direct_nearby_upload_prefs")
public JsonKvStore providesDirectNearbyUploadKvStore(Context context) {
return new JsonKvStore(context, "direct_nearby_upload_prefs");
public JsonKvStore providesDirectNearbyUploadKvStore(Context context, Gson gson) {
return new JsonKvStore(context, "direct_nearby_upload_prefs", gson);
}
/**

View file

@ -1,6 +1,7 @@
package fr.free.nrw.commons.di;
import android.content.Context;
import android.net.Uri;
import android.support.annotation.NonNull;
import com.google.gson.Gson;
@ -18,6 +19,8 @@ import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.kvstore.BasicKvStore;
import fr.free.nrw.commons.mwapi.ApacheHttpClientMediaWikiApi;
import fr.free.nrw.commons.mwapi.MediaWikiApi;
import fr.free.nrw.commons.utils.UriDeserializer;
import fr.free.nrw.commons.utils.UriSerializer;
import okhttp3.Cache;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
@ -63,7 +66,10 @@ public class NetworkingModule {
@Provides
@Singleton
public Gson provideGson() {
return new GsonBuilder().create();
return new GsonBuilder()
.registerTypeAdapter(Uri.class, new UriSerializer())
.registerTypeAdapter(Uri.class, new UriDeserializer())
.create();
}
}