From 41d6abdf401317646ac9840cb0dca82527a1aa78 Mon Sep 17 00:00:00 2001 From: maskara Date: Mon, 22 Jan 2018 03:54:26 +0530 Subject: [PATCH] Remove unused code --- app/build.gradle | 5 - .../commons/di/CommonsApplicationModule.java | 8 -- .../free/nrw/commons/json/GsonMarshaller.java | 20 ---- .../nrw/commons/json/GsonUnmarshaller.java | 36 ------ ...edFieldsCheckOnReadTypeAdapterFactory.java | 95 ---------------- .../free/nrw/commons/json/UriTypeAdapter.java | 22 ---- .../commons/json/annotations/Required.java | 21 ---- .../fr/free/nrw/commons/mwapi/BaseModel.java | 20 ---- .../nrw/commons/mwapi/MwQueryResponse.java | 40 ------- .../fr/free/nrw/commons/mwapi/MwResponse.java | 46 -------- .../nrw/commons/mwapi/MwServiceError.java | 72 ------------ .../free/nrw/commons/mwapi/ServiceError.java | 7 -- .../fr/free/nrw/commons/network/GsonUtil.java | 31 ----- .../nrw/commons/network/RetrofitFactory.java | 22 ---- .../notification/NotificationClient.java | 101 ----------------- .../notification/NotificationObject.java | 106 ------------------ gradle.properties | 1 - 17 files changed, 653 deletions(-) delete mode 100644 app/src/main/java/fr/free/nrw/commons/json/GsonMarshaller.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/json/GsonUnmarshaller.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/json/RequiredFieldsCheckOnReadTypeAdapterFactory.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/json/UriTypeAdapter.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/json/annotations/Required.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/BaseModel.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/MwQueryResponse.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/MwResponse.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/MwServiceError.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/ServiceError.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/network/GsonUtil.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/network/RetrofitFactory.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/notification/NotificationClient.java delete mode 100644 app/src/main/java/fr/free/nrw/commons/notification/NotificationObject.java diff --git a/app/build.gradle b/app/build.gradle index a31d7c5847..284b07ecc6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -46,9 +46,6 @@ dependencies { implementation 'com.facebook.fresco:fresco:1.5.0' implementation 'com.facebook.stetho:stetho:1.5.0' - implementation "com.squareup.retrofit2:retrofit:$RETROFIT_VERSION" - implementation "com.squareup.retrofit2:converter-gson:$RETROFIT_VERSION" - implementation 'org.apache.commons:commons-lang3:3.5' implementation "com.google.dagger:dagger:$DAGGER_VERSION" implementation "com.google.dagger:dagger-android-support:$DAGGER_VERSION" @@ -121,7 +118,6 @@ android { productFlavors { prod { buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.org/w/api.php\"" - buildConfigField "String", "COMMONS_BASE_URL", "\"https://commons.wikimedia.org\"" buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\"" buildConfigField "String", "IMAGE_URL_BASE", "\"https://upload.wikimedia.org/wikipedia/commons\"" buildConfigField "String", "HOME_URL", "\"https://commons.wikimedia.org/wiki/\"" @@ -136,7 +132,6 @@ android { beta { // What values do we need to hit the BETA versions of the site / api ? buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.beta.wmflabs.org/w/api.php\"" - buildConfigField "String", "COMMONS_BASE_URL", "\"https://commons.wikimedia.beta.wmflabs.org\"" buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\"" buildConfigField "String", "IMAGE_URL_BASE", "\"https://upload.beta.wmflabs.org/wikipedia/commons\"" buildConfigField "String", "HOME_URL", "\"https://commons.wikimedia.beta.wmflabs.org/wiki/\"" diff --git a/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java b/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java index 968a96e35a..f7e11dbf8e 100644 --- a/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java +++ b/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java @@ -9,7 +9,6 @@ import javax.inject.Named; import javax.inject.Singleton; -import dagger.Binds; import dagger.Module; import dagger.Provides; import fr.free.nrw.commons.BuildConfig; @@ -22,7 +21,6 @@ import fr.free.nrw.commons.mwapi.ApacheHttpClientMediaWikiApi; import fr.free.nrw.commons.mwapi.MediaWikiApi; import fr.free.nrw.commons.nearby.NearbyPlaces; -import fr.free.nrw.commons.notification.NotificationClient; import fr.free.nrw.commons.upload.UploadController; import static android.content.Context.MODE_PRIVATE; @@ -137,10 +135,4 @@ public NearbyPlaces provideNearbyPlaces() { public LruCache provideLruCache() { return new LruCache<>(1024); } - - @Provides - @Singleton - public NotificationClient provideNotificationClient() { - return new NotificationClient(BuildConfig.COMMONS_BASE_URL); - } } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/json/GsonMarshaller.java b/app/src/main/java/fr/free/nrw/commons/json/GsonMarshaller.java deleted file mode 100644 index 4f808a9ad7..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/json/GsonMarshaller.java +++ /dev/null @@ -1,20 +0,0 @@ -package fr.free.nrw.commons.json; - -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - -import com.google.gson.Gson; - -import fr.free.nrw.commons.network.GsonUtil; - -public final class GsonMarshaller { - public static String marshal(@Nullable Object object) { - return marshal(GsonUtil.getDefaultGson(), object); - } - - public static String marshal(@NonNull Gson gson, @Nullable Object object) { - return gson.toJson(object); - } - - private GsonMarshaller() { } -} diff --git a/app/src/main/java/fr/free/nrw/commons/json/GsonUnmarshaller.java b/app/src/main/java/fr/free/nrw/commons/json/GsonUnmarshaller.java deleted file mode 100644 index d698eb29e4..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/json/GsonUnmarshaller.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.free.nrw.commons.json; - -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; - -import fr.free.nrw.commons.network.GsonUtil; - -public final class GsonUnmarshaller { - /** @return Unmarshalled object. */ - public static T unmarshal(Class clazz, @Nullable String json) { - return unmarshal(GsonUtil.getDefaultGson(), clazz, json); - } - - /** @return Unmarshalled collection of objects. */ - public static T unmarshal(TypeToken typeToken, @Nullable String json) { - return unmarshal(GsonUtil.getDefaultGson(), typeToken, json); - } - - /** @return Unmarshalled object. */ - public static T unmarshal(@NonNull Gson gson, Class clazz, @Nullable String json) { - return gson.fromJson(json, clazz); - } - - /** @return Unmarshalled collection of objects. */ - public static T unmarshal(@NonNull Gson gson, TypeToken typeToken, @Nullable String json) { - // From the manual: "Fairly hideous... Unfortunately, no way to get around this in Java". - return gson.fromJson(json, typeToken.getType()); - } - - private GsonUnmarshaller() { } -} - - diff --git a/app/src/main/java/fr/free/nrw/commons/json/RequiredFieldsCheckOnReadTypeAdapterFactory.java b/app/src/main/java/fr/free/nrw/commons/json/RequiredFieldsCheckOnReadTypeAdapterFactory.java deleted file mode 100644 index 9442576e31..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/json/RequiredFieldsCheckOnReadTypeAdapterFactory.java +++ /dev/null @@ -1,95 +0,0 @@ -package fr.free.nrw.commons.json; - -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.util.ArraySet; - -import com.google.gson.Gson; -import com.google.gson.JsonParseException; -import com.google.gson.TypeAdapter; -import com.google.gson.TypeAdapterFactory; -import com.google.gson.reflect.TypeToken; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - - -import java.io.IOException; -import java.lang.reflect.Field; -import java.util.Collections; -import java.util.Set; - -import fr.free.nrw.commons.json.annotations.Required; - -/** - * TypeAdapterFactory that provides TypeAdapters that return null values for objects that are - * missing fields annotated with @Required. - * - * BEWARE: This means that a List or other Collection of objects that have @Required fields can - * contain null elements after deserialization! - * - * TODO: Handle null values in lists during deserialization, perhaps with a new @RequiredElements - * annotation and another corresponding TypeAdapter(Factory). - */ -class RequiredFieldsCheckOnReadTypeAdapterFactory implements TypeAdapterFactory { - @Nullable @Override public final TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { - Class rawType = typeToken.getRawType(); - Set requiredFields = collectRequiredFields(rawType); - - if (requiredFields.isEmpty()) { - return null; - } - - setFieldsAccessible(requiredFields, true); - return new Adapter<>(gson.getDelegateAdapter(this, typeToken), requiredFields); - } - - @NonNull private Set collectRequiredFields(@NonNull Class clazz) { - Field[] fields = clazz.getDeclaredFields(); - Set required = new ArraySet<>(); - for (Field field : fields) { - if (field.isAnnotationPresent(Required.class)) { - required.add(field); - } - } - return Collections.unmodifiableSet(required); - } - - private void setFieldsAccessible(Iterable fields, boolean accessible) { - for (Field field : fields) { - field.setAccessible(accessible); - } - } - - private static final class Adapter extends TypeAdapter { - @NonNull private final TypeAdapter delegate; - @NonNull private final Set requiredFields; - - private Adapter(@NonNull TypeAdapter delegate, @NonNull final Set requiredFields) { - this.delegate = delegate; - this.requiredFields = requiredFields; - } - - @Override public void write(JsonWriter out, T value) throws IOException { - delegate.write(out, value); - } - - @Override @Nullable public T read(JsonReader in) throws IOException { - T deserialized = delegate.read(in); - return allRequiredFieldsPresent(deserialized, requiredFields) ? deserialized : null; - } - - private boolean allRequiredFieldsPresent(@NonNull T deserialized, - @NonNull Set required) { - for (Field field : required) { - try { - if (field.get(deserialized) == null) { - return false; - } - } catch (IllegalArgumentException | IllegalAccessException e) { - throw new JsonParseException(e); - } - } - return true; - } - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/json/UriTypeAdapter.java b/app/src/main/java/fr/free/nrw/commons/json/UriTypeAdapter.java deleted file mode 100644 index cf89970134..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/json/UriTypeAdapter.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.free.nrw.commons.json; - -import android.net.Uri; - -import com.google.gson.TypeAdapter; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; - -public class UriTypeAdapter extends TypeAdapter { - @Override - public void write(JsonWriter out, Uri value) throws IOException { - out.value(value.toString()); - } - - @Override - public Uri read(JsonReader in) throws IOException { - String url = in.nextString(); - return Uri.parse(url); - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/json/annotations/Required.java b/app/src/main/java/fr/free/nrw/commons/json/annotations/Required.java deleted file mode 100644 index 87f36a45c6..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/json/annotations/Required.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.free.nrw.commons.json.annotations; - -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import static java.lang.annotation.ElementType.FIELD; - -/** - * Annotate fields in Retrofit POJO classes with this to enforce their presence in order to return - * an instantiated object. - * - * E.g.: @NonNull @Required private String title; - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(FIELD) -public @interface Required { -} - diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/BaseModel.java b/app/src/main/java/fr/free/nrw/commons/mwapi/BaseModel.java deleted file mode 100644 index b02aabba94..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/BaseModel.java +++ /dev/null @@ -1,20 +0,0 @@ -package fr.free.nrw.commons.mwapi; - -import org.apache.commons.lang3.builder.EqualsBuilder; -import org.apache.commons.lang3.builder.HashCodeBuilder; -import org.apache.commons.lang3.builder.ToStringBuilder; - -public abstract class BaseModel { - @Override public String toString() { - return ToStringBuilder.reflectionToString(this); - } - - @Override public int hashCode() { - return HashCodeBuilder.reflectionHashCode(this); - } - - @SuppressWarnings("EqualsWhichDoesntCheckParameterClass") - @Override public boolean equals(Object other) { - return EqualsBuilder.reflectionEquals(this, other); - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/MwQueryResponse.java b/app/src/main/java/fr/free/nrw/commons/mwapi/MwQueryResponse.java deleted file mode 100644 index ba151c6f26..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/MwQueryResponse.java +++ /dev/null @@ -1,40 +0,0 @@ -package fr.free.nrw.commons.mwapi; - -import android.support.annotation.Nullable; -import android.support.annotation.VisibleForTesting; - -import com.google.gson.annotations.SerializedName; - -import java.util.List; -import java.util.Map; - -public class MwQueryResponse extends MwResponse { - - @SuppressWarnings("unused") @SerializedName("batchcomplete") private boolean batchComplete; - - @SuppressWarnings("unused") @SerializedName("continue") @Nullable - private Map continuation; - - @Nullable private T query; - - public boolean batchComplete() { - return batchComplete; - } - - @Nullable public Map continuation() { - return continuation; - } - - @Nullable public T query() { - return query; - } - - @Override public boolean success() { - return super.success() && query != null; - } - - @VisibleForTesting - protected void setQuery(@Nullable T query) { - this.query = query; - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/MwResponse.java b/app/src/main/java/fr/free/nrw/commons/mwapi/MwResponse.java deleted file mode 100644 index 8b8ae5e21e..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/MwResponse.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.free.nrw.commons.mwapi; - -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - -import com.google.gson.annotations.SerializedName; - -import java.util.Map; - -public abstract class MwResponse extends BaseModel { - @SuppressWarnings("unused") @Nullable - private MwServiceError error; - - @SuppressWarnings("unused") @Nullable private Map warnings; - - @SuppressWarnings("unused,NullableProblems") @SerializedName("servedby") @NonNull - private String servedBy; - - @Nullable public MwServiceError getError() { - return error; - } - - public boolean hasError() { - return error != null; - } - - public boolean success() { - return error == null; - } - - @Nullable public String code() { - return error != null ? error.getTitle() : null; - } - - @Nullable public String info() { - return error != null ? error.getDetails() : null; - } - - public boolean badToken() { - return error != null && error.badToken(); - } - - private class Warning { - @SuppressWarnings("unused,NullableProblems") @NonNull private String warnings; - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/MwServiceError.java b/app/src/main/java/fr/free/nrw/commons/mwapi/MwServiceError.java deleted file mode 100644 index 82c2a5f6a6..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/MwServiceError.java +++ /dev/null @@ -1,72 +0,0 @@ -package fr.free.nrw.commons.mwapi; - -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - -import org.apache.commons.lang3.StringUtils; - -import java.util.Collections; -import java.util.List; - -/** - * Gson POJO for a MediaWiki API error. - */ -public class MwServiceError implements ServiceError { - @SuppressWarnings("unused") @Nullable - private String code; - @SuppressWarnings("unused") @Nullable private String info; - @SuppressWarnings("unused") @Nullable private String docref; - @SuppressWarnings("unused") @NonNull - private List messages = Collections.emptyList(); - - @Override @Nullable public String getTitle() { - return code; - } - - @Override @Nullable public String getDetails() { - return info; - } - - @Nullable public String getDocRef() { - return docref; - } - - public boolean badToken() { - return "badtoken".equals(code); - } - - public boolean hasMessageName(@NonNull String messageName) { - for (Message msg : messages) { - if (messageName.equals(msg.name)) { - return true; - } - } - return false; - } - - @Nullable public String getMessageHtml(@NonNull String messageName) { - for (Message msg : messages) { - if (messageName.equals(msg.name)) { - return msg.html(); - } - } - return null; - } - - @Override public String toString() { - return "MwServiceError{" - + "code='" + code + '\'' - + ", info='" + info + '\'' - + ", docref='" + docref + '\'' - + '}'; - } - - private static final class Message { - @SuppressWarnings("unused") @Nullable private String name; - @SuppressWarnings("unused") @Nullable private String html; - - @NonNull private String html() { - return StringUtils.defaultString(html); - } - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/ServiceError.java b/app/src/main/java/fr/free/nrw/commons/mwapi/ServiceError.java deleted file mode 100644 index 1e4403c117..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/ServiceError.java +++ /dev/null @@ -1,7 +0,0 @@ -package fr.free.nrw.commons.mwapi; - -public interface ServiceError { - String getTitle(); - - String getDetails(); -} diff --git a/app/src/main/java/fr/free/nrw/commons/network/GsonUtil.java b/app/src/main/java/fr/free/nrw/commons/network/GsonUtil.java deleted file mode 100644 index deb146871a..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/network/GsonUtil.java +++ /dev/null @@ -1,31 +0,0 @@ -package fr.free.nrw.commons.network; - -import android.net.Uri; -import android.support.annotation.VisibleForTesting; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - -import fr.free.nrw.commons.json.UriTypeAdapter; - -public final class GsonUtil { - private static final String DATE_FORMAT = "MMM dd, yyyy HH:mm:ss"; - - private static final GsonBuilder DEFAULT_GSON_BUILDER = new GsonBuilder() - .setDateFormat(DATE_FORMAT) - .registerTypeHierarchyAdapter(Uri.class, new UriTypeAdapter().nullSafe()); - - private static final Gson DEFAULT_GSON = DEFAULT_GSON_BUILDER.create(); - - public static Gson getDefaultGson() { - return DEFAULT_GSON; - } - - @VisibleForTesting - public static GsonBuilder getDefaultGsonBuilder() { - return DEFAULT_GSON_BUILDER; - } - - private GsonUtil() { - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/network/RetrofitFactory.java b/app/src/main/java/fr/free/nrw/commons/network/RetrofitFactory.java deleted file mode 100644 index 0eb132ee16..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/network/RetrofitFactory.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.free.nrw.commons.network; - -import android.support.annotation.NonNull; - -import okhttp3.OkHttpClient; -import retrofit2.Retrofit; -import retrofit2.converter.gson.GsonConverterFactory; - -public final class RetrofitFactory { - - public static Retrofit newInstance(@NonNull String endpoint) { - return new Retrofit.Builder() - .client(new OkHttpClient()) - .baseUrl(endpoint) - .addConverterFactory(GsonConverterFactory.create(GsonUtil.getDefaultGson())) - .build(); - } - - private RetrofitFactory() { - } -} - diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationClient.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationClient.java deleted file mode 100644 index 43bbd21b28..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationClient.java +++ /dev/null @@ -1,101 +0,0 @@ -package fr.free.nrw.commons.notification; - -import android.support.annotation.NonNull; -import android.support.annotation.VisibleForTesting; -import android.text.TextUtils; - -import com.google.gson.JsonParseException; - -import java.util.List; - -import fr.free.nrw.commons.mwapi.MwQueryResponse; -import fr.free.nrw.commons.network.RetrofitFactory; -import retrofit2.Call; -import retrofit2.Response; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.GET; -import retrofit2.http.POST; -import retrofit2.http.Query; -import timber.log.Timber; - -public final class NotificationClient { - @NonNull - private final Service service; - - public interface Callback { - void success(@NonNull List notifications); - - void failure(Throwable t); - } - - public NotificationClient(@NonNull String endpoint) { - service = RetrofitFactory.newInstance(endpoint).create(Service.class); - } - - @VisibleForTesting - static class CallbackAdapter implements retrofit2.Callback> { - @NonNull - private final Callback callback; - - CallbackAdapter(@NonNull Callback callback) { - this.callback = callback; - } - - @Override - public void onResponse(Call> call, - Response> response) { - Timber.d("Resonse is %s", response); - if (response.body() != null && response.body().query() != null) { - callback.success(response.body().query().get()); - } else { - callback.failure(new JsonParseException("Notification response is malformed.")); - } - } - - @Override - public void onFailure(Call> call, Throwable caught) { - Timber.e(caught, "Error occurred while fetching notifications"); - callback.failure(caught); - } - } - - /** - * Obrain a list of unread notifications for the user who is currently logged in. - * - * @param callback Callback that will receive the list of notifications. - * @param wikis List of wiki names for which notifications should be received. These must be - * in the "DB name" format, as in "enwiki", "zhwiki", "wikidatawiki", etc. - */ - public void getNotifications(@NonNull final Callback callback, @NonNull String... wikis) { - String wikiList = TextUtils.join("|", wikis); - requestNotifications(service, wikiList).enqueue(new CallbackAdapter(callback)); - } - - @VisibleForTesting - @NonNull - Call> requestNotifications(@NonNull Service service, @NonNull String wikiList) { - return service.getNotifications(wikiList); - } - - @VisibleForTesting - @NonNull - Call> requestMarkRead(@NonNull Service service, @NonNull String token, @NonNull String idList) { - return service.markRead(token, idList); - } - - @VisibleForTesting - interface Service { - String ACTION = "w/api.php?format=json&formatversion=2&action="; - - @GET(ACTION + "query&meta=notifications¬filter=!read¬prop=list") - @NonNull - Call> getNotifications(@Query("notwikis") @NonNull String wikiList); - - @FormUrlEncoded - @POST(ACTION + "echomarkread") - @NonNull - Call> markRead(@Field("token") @NonNull String token, - @Field("list") @NonNull String idList); - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationObject.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationObject.java deleted file mode 100644 index 0425c605b8..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationObject.java +++ /dev/null @@ -1,106 +0,0 @@ -package fr.free.nrw.commons.notification; - -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - -import com.google.gson.annotations.SerializedName; - -import java.util.List; - -public class NotificationObject { - public static final String TYPE_EDIT_USER_TALK = "edit-user-talk"; - public static final String TYPE_REVERTED = "reverted"; - public static final String TYPE_EDIT_THANK = "edit-thank"; - public static final String WIKIDATA_WIKI = "wikidatawiki"; - - @SuppressWarnings("unused,NullableProblems") @NonNull - private String wiki; - @SuppressWarnings("unused") private int id; - @SuppressWarnings("unused,NullableProblems") @NonNull private String type; - @SuppressWarnings("unused,NullableProblems") @NonNull private String category; - @SuppressWarnings("unused") private int revid; - - @SuppressWarnings("unused,NullableProblems") @NonNull private Title title; - @SuppressWarnings("unused,NullableProblems") @NonNull private Agent agent; - - @NonNull public String wiki() { - return wiki; - } - - public int id() { - return id; - } - - @NonNull public String type() { - return type; - } - - @NonNull public Agent agent() { - return agent; - } - - @NonNull public Title title() { - return title; - } - - public int revID() { - return revid; - } - - public boolean isFromWikidata() { - return wiki.equals(WIKIDATA_WIKI); - } - - @Override public String toString() { - return Integer.toString(id); - } - - public static class Title { - @SuppressWarnings("unused,NullableProblems") @NonNull private String full; - @SuppressWarnings("unused,NullableProblems") @NonNull private String text; - @SuppressWarnings("unused") @Nullable - private String namespace; - @SuppressWarnings("unused") @SerializedName("namespace-key") private int namespaceKey; - - @NonNull public String text() { - return text; - } - - @NonNull public String full() { - return full; - } - - public boolean isMainNamespace() { - return namespaceKey == 0; - } - - public void setFull(@NonNull String title) { - full = title; - } - } - - public static class Agent { - @SuppressWarnings("unused,NullableProblems") @NonNull private String id; - @SuppressWarnings("unused,NullableProblems") @NonNull private String name; - - @NonNull public String name() { - return name; - } - } - - public static class NotificationList { - @SuppressWarnings("unused,NullableProblems") @NonNull private List list; - - @NonNull public List getNotifications() { - return list; - } - } - - public static class QueryNotifications { - @SuppressWarnings("unused,NullableProblems") @NonNull private NotificationList notifications; - - @NonNull public List get() { - return notifications.getNotifications(); - } - } -} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7d3e7d6b6d..10685ea114 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,6 @@ android.useDeprecatedNdk=true BUTTERKNIFE_VERSION=8.6.0 DAGGER_VERSION=2.13 LEAK_CANARY=1.5.4 -RETROFIT_VERSION=2.3.0 org.gradle.jvmargs=-Xmx1536M #TODO: Temporary disabled. https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#aapt2