From 7b3625a45c281c9c434f9fb78b6bbdde6f5bcc35 Mon Sep 17 00:00:00 2001
From: Vivek Maskara
Date: Wed, 20 Mar 2019 09:38:55 +0530
Subject: [PATCH 01/14] Use rxjava instead of async task for deletion
Use rxjava for upload task
Use rxjava for thumbnail fetcher
Use rxjava for media details fetch
Fix build
more fixes
---
.../main/java/fr/free/nrw/commons/Media.java | 31 +-
.../free/nrw/commons/MediaDataExtractor.java | 329 ++----------------
.../nrw/commons/MediaThumbnailFetchTask.java | 26 --
.../free/nrw/commons/MediaWikiImageView.java | 80 ++---
.../free/nrw/commons/delete/DeleteHelper.java | 187 ++++++++++
.../free/nrw/commons/delete/DeleteTask.java | 253 --------------
.../di/CommonsApplicationComponent.java | 5 +-
.../commons/media/MediaDetailFragment.java | 93 +----
.../nrw/commons/media/model/ExtMetadata.java | 38 +-
.../mwapi/ApacheHttpClientMediaWikiApi.java | 44 +--
.../free/nrw/commons/mwapi/MediaWikiApi.java | 8 +-
.../commons/mwapi/OkHttpJsonApiClient.java | 39 ++-
.../nrw/commons/review/ReviewActivity.java | 22 +-
.../nrw/commons/review/ReviewController.java | 31 +-
.../free/nrw/commons/review/ReviewHelper.java | 16 +-
.../nrw/commons/upload/UploadController.java | 133 ++++---
.../commons/utils/MediaDataExtractorUtil.java | 6 +
17 files changed, 496 insertions(+), 845 deletions(-)
delete mode 100644 app/src/main/java/fr/free/nrw/commons/MediaThumbnailFetchTask.java
create mode 100644 app/src/main/java/fr/free/nrw/commons/delete/DeleteHelper.java
delete mode 100644 app/src/main/java/fr/free/nrw/commons/delete/DeleteTask.java
diff --git a/app/src/main/java/fr/free/nrw/commons/Media.java b/app/src/main/java/fr/free/nrw/commons/Media.java
index 0e90ba3adb..725281d186 100644
--- a/app/src/main/java/fr/free/nrw/commons/Media.java
+++ b/app/src/main/java/fr/free/nrw/commons/Media.java
@@ -3,8 +3,11 @@
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
-import androidx.annotation.Nullable;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
+import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -13,14 +16,20 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import androidx.annotation.Nullable;
import fr.free.nrw.commons.location.LatLng;
+import fr.free.nrw.commons.media.model.ExtMetadata;
import fr.free.nrw.commons.media.model.ImageInfo;
import fr.free.nrw.commons.media.model.MwQueryPage;
import fr.free.nrw.commons.utils.DateUtils;
+import fr.free.nrw.commons.utils.MediaDataExtractorUtil;
import fr.free.nrw.commons.utils.StringUtils;
public class Media implements Parcelable {
+ private static final Type MAP_TYPE = new TypeToken