From 28a6a3b71d73bdd14c93d27689d171e871420e69 Mon Sep 17 00:00:00 2001 From: maskara Date: Mon, 8 Jan 2018 12:59:17 +0530 Subject: [PATCH] Integrate notifications API --- app/build.gradle | 5 + .../commons/di/CommonsApplicationModule.java | 16 ++- .../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 ++++ .../mwapi/ApacheHttpClientMediaWikiApi.java | 49 +++++++- .../fr/free/nrw/commons/mwapi/BaseModel.java | 20 +++ .../free/nrw/commons/mwapi/MediaWikiApi.java | 7 ++ .../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/MarkReadResponse.java | 16 +++ .../commons/notification/Notification.java | 19 ++- .../notification/NotificationActivity.java | 60 +++++++-- .../notification/NotificationClient.java | 101 +++++++++++++++ .../notification/NotificationController.java | 38 ++++-- .../notification/NotificationObject.java | 106 ++++++++++++++++ .../notification/NotificationRenderer.java | 32 +++-- .../notification/NotificationType.java | 27 ++++ .../notification/NotificationUtils.java | 116 ++++++++++++++++++ .../commons/theme/NavigationBaseActivity.java | 2 +- .../fr/free/nrw/commons/utils/DateUtils.java | 36 ++++++ app/src/main/res/values/strings.xml | 5 + .../nrw/commons/TestCommonsApplication.java | 2 +- gradle.properties | 2 +- notification_commons_clicked.png | Bin 0 -> 113152 bytes notifications_commons.png | Bin 0 -> 82118 bytes 32 files changed, 1013 insertions(+), 58 deletions(-) create mode 100644 app/src/main/java/fr/free/nrw/commons/json/GsonMarshaller.java create mode 100644 app/src/main/java/fr/free/nrw/commons/json/GsonUnmarshaller.java create mode 100644 app/src/main/java/fr/free/nrw/commons/json/RequiredFieldsCheckOnReadTypeAdapterFactory.java create mode 100644 app/src/main/java/fr/free/nrw/commons/json/UriTypeAdapter.java create mode 100644 app/src/main/java/fr/free/nrw/commons/json/annotations/Required.java create mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/BaseModel.java create mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/MwQueryResponse.java create mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/MwResponse.java create mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/MwServiceError.java create mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/ServiceError.java create mode 100644 app/src/main/java/fr/free/nrw/commons/network/GsonUtil.java create mode 100644 app/src/main/java/fr/free/nrw/commons/network/RetrofitFactory.java create mode 100644 app/src/main/java/fr/free/nrw/commons/notification/MarkReadResponse.java create mode 100644 app/src/main/java/fr/free/nrw/commons/notification/NotificationClient.java create mode 100644 app/src/main/java/fr/free/nrw/commons/notification/NotificationObject.java create mode 100644 app/src/main/java/fr/free/nrw/commons/notification/NotificationType.java create mode 100644 app/src/main/java/fr/free/nrw/commons/notification/NotificationUtils.java create mode 100644 app/src/main/java/fr/free/nrw/commons/utils/DateUtils.java create mode 100644 notification_commons_clicked.png create mode 100644 notifications_commons.png diff --git a/app/build.gradle b/app/build.gradle index 284b07ecc..a31d7c584 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -46,6 +46,9 @@ 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" @@ -118,6 +121,7 @@ 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/\"" @@ -132,6 +136,7 @@ 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 12c3ee339..968a96e35 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 @@ -13,6 +13,7 @@ import dagger.Binds; import dagger.Module; import dagger.Provides; import fr.free.nrw.commons.BuildConfig; +import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.auth.AccountUtil; import fr.free.nrw.commons.auth.SessionManager; import fr.free.nrw.commons.caching.CacheController; @@ -21,6 +22,7 @@ import fr.free.nrw.commons.location.LocationServiceManager; 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; @@ -31,7 +33,9 @@ import static fr.free.nrw.commons.modifications.ModificationsContentProvider.MOD @SuppressWarnings({"WeakerAccess", "unused"}) public class CommonsApplicationModule { public static final String CATEGORY_AUTHORITY = "fr.free.nrw.commons.categories.contentprovider"; + public static final long OK_HTTP_CACHE_SIZE = 10 * 1024 * 1024; + private CommonsApplication application; private Context applicationContext; public CommonsApplicationModule(Context applicationContext) { @@ -100,8 +104,8 @@ public class CommonsApplicationModule { @Provides @Singleton - public MediaWikiApi provideMediaWikiApi() { - return new ApacheHttpClientMediaWikiApi(BuildConfig.WIKIMEDIA_API_HOST); + public MediaWikiApi provideMediaWikiApi(Context context) { + return new ApacheHttpClientMediaWikiApi(context, BuildConfig.WIKIMEDIA_API_HOST); } @Provides @@ -133,4 +137,10 @@ public class CommonsApplicationModule { 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 new file mode 100644 index 000000000..4f808a9ad --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/json/GsonMarshaller.java @@ -0,0 +1,20 @@ +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 new file mode 100644 index 000000000..d698eb29e --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/json/GsonUnmarshaller.java @@ -0,0 +1,36 @@ +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 new file mode 100644 index 000000000..9442576e3 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/json/RequiredFieldsCheckOnReadTypeAdapterFactory.java @@ -0,0 +1,95 @@ +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 new file mode 100644 index 000000000..cf8997013 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/json/UriTypeAdapter.java @@ -0,0 +1,22 @@ +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 new file mode 100644 index 000000000..87f36a45c --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/json/annotations/Required.java @@ -0,0 +1,21 @@ +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/ApacheHttpClientMediaWikiApi.java b/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java index 19425a0c3..09e89e7b4 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java @@ -1,5 +1,6 @@ package fr.free.nrw.commons.mwapi; +import android.content.Context; import android.os.Build; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -21,6 +22,8 @@ import org.apache.http.params.CoreProtocolPNames; import org.apache.http.util.EntityUtils; import org.mediawiki.api.ApiResult; import org.mediawiki.api.MWApi; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import java.io.IOException; import java.io.InputStream; @@ -36,11 +39,17 @@ import java.util.concurrent.Callable; import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.PageTitle; +import fr.free.nrw.commons.notification.Notification; import in.yuvi.http.fluent.Http; import io.reactivex.Observable; import io.reactivex.Single; import timber.log.Timber; +import static fr.free.nrw.commons.notification.NotificationType.UNKNOWN; +import static fr.free.nrw.commons.notification.NotificationUtils.getNotificationFromApiResult; +import static fr.free.nrw.commons.notification.NotificationUtils.getNotificationType; +import static fr.free.nrw.commons.notification.NotificationUtils.isCommonsNotification; + /** * @author Addshore */ @@ -50,8 +59,10 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi { private static final String THUMB_SIZE = "640"; private AbstractHttpClient httpClient; private MWApi api; + private Context context; - public ApacheHttpClientMediaWikiApi(String apiURL) { + public ApacheHttpClientMediaWikiApi(Context context, String apiURL) { + this.context = context; BasicHttpParams params = new BasicHttpParams(); SchemeRegistry schemeRegistry = new SchemeRegistry(); schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); @@ -353,6 +364,42 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi { .getString("/api/query/pages/page/revisions/rev"); } + @Override + @NonNull + public List getNotifications() { + ApiResult notificationNode = null; + try { + notificationNode = api.action("query") + .param("notprop", "list") + .param("format", "xml") + .param("meta", "notifications") + .param("notfilter", "!read") + .get() + .getNode("/api/query/notifications/list"); + } catch (IOException e) { + Timber.e("Failed to obtain searchCategories", e); + } + + if (notificationNode == null) { + return new ArrayList<>(); + } + + List notifications = new ArrayList<>(); + + NodeList childNodes = notificationNode.getDocument().getChildNodes(); + + for (int i = 0; i < childNodes.getLength(); i++) { + Node node = childNodes.item(i); + if (isCommonsNotification(node) + && !getNotificationType(node).equals(UNKNOWN)) { + notifications.add(getNotificationFromApiResult(context, node)); + } + } + + return notifications; + } + + @Override public boolean existingFile(String fileSha1) throws IOException { return api.action("query") 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 new file mode 100644 index 000000000..b02aabba9 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/BaseModel.java @@ -0,0 +1,20 @@ +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/MediaWikiApi.java b/app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java index 310c97a8a..70ab38297 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java @@ -5,7 +5,9 @@ import android.support.annotation.Nullable; import java.io.IOException; import java.io.InputStream; +import java.util.List; +import fr.free.nrw.commons.notification.Notification; import io.reactivex.Observable; import io.reactivex.Single; @@ -43,6 +45,9 @@ public interface MediaWikiApi { @NonNull Observable allCategories(String filter, int searchCatsLimit); + @NonNull + List getNotifications() throws IOException; + @NonNull Observable searchTitles(String title, int searchCatsLimit); @@ -51,6 +56,8 @@ public interface MediaWikiApi { boolean existingFile(String fileSha1) throws IOException; + + @NonNull LogEventResult logEvents(String user, String lastModified, String queryContinue, int limit) throws IOException; 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 new file mode 100644 index 000000000..ba151c6f2 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/MwQueryResponse.java @@ -0,0 +1,40 @@ +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 new file mode 100644 index 000000000..8b8ae5e21 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/MwResponse.java @@ -0,0 +1,46 @@ +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 new file mode 100644 index 000000000..82c2a5f6a --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/MwServiceError.java @@ -0,0 +1,72 @@ +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 new file mode 100644 index 000000000..1e4403c11 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/ServiceError.java @@ -0,0 +1,7 @@ +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 new file mode 100644 index 000000000..deb146871 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/network/GsonUtil.java @@ -0,0 +1,31 @@ +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 new file mode 100644 index 000000000..0eb132ee1 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/network/RetrofitFactory.java @@ -0,0 +1,22 @@ +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/MarkReadResponse.java b/app/src/main/java/fr/free/nrw/commons/notification/MarkReadResponse.java new file mode 100644 index 000000000..03cdd6f88 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/notification/MarkReadResponse.java @@ -0,0 +1,16 @@ +package fr.free.nrw.commons.notification; + +import android.support.annotation.Nullable; + +public class MarkReadResponse { + @SuppressWarnings("unused") @Nullable + private String result; + + public String result() { + return result; + } + + public static class QueryMarkReadResponse { + @SuppressWarnings("unused") @Nullable private MarkReadResponse echomarkread; + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/notification/Notification.java b/app/src/main/java/fr/free/nrw/commons/notification/Notification.java index cb1aa62b6..e4efbff6c 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/Notification.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/Notification.java @@ -7,20 +7,15 @@ package fr.free.nrw.commons.notification; public class Notification { public NotificationType notificationType; public String notificationText; + public String date; + public String description; + public String link; - - Notification (NotificationType notificationType, String notificationText) { + public Notification(NotificationType notificationType, String notificationText, String date, String description, String link) { this.notificationType = notificationType; this.notificationText = notificationText; - } - - - public enum NotificationType { - /* Added for test purposes, needs to be rescheduled after implementing - fetching notifications from server */ - edit, - mention, - message, - block; + this.date = date; + this.description = description; + this.link = link; } } diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java index 9da69e0eb..c90e61318 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java @@ -1,15 +1,27 @@ package fr.free.nrw.commons.notification; +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.net.Uri; import android.os.Bundle; -import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import com.pedrogomez.renderers.RVRendererAdapter; + +import java.util.List; + +import javax.inject.Inject; + import butterknife.BindView; import butterknife.ButterKnife; -import butterknife.Optional; import fr.free.nrw.commons.R; import fr.free.nrw.commons.theme.NavigationBaseActivity; +import io.reactivex.Observable; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; +import timber.log.Timber; /** * Created by root on 18.12.2017. @@ -18,9 +30,10 @@ import fr.free.nrw.commons.theme.NavigationBaseActivity; public class NotificationActivity extends NavigationBaseActivity { NotificationAdapterFactory notificationAdapterFactory; - @Nullable @BindView(R.id.listView) RecyclerView recyclerView; + @Inject NotificationController controller; + @Override protected void onCreate(Bundle savedInstanceState) { @@ -28,23 +41,48 @@ public class NotificationActivity extends NavigationBaseActivity { setContentView(R.layout.activity_notification); ButterKnife.bind(this); initListView(); - addNotifications(); initDrawer(); } private void initListView() { recyclerView = findViewById(R.id.listView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); - notificationAdapterFactory = new NotificationAdapterFactory(new NotificationRenderer.NotificationClicked() { - @Override - public void notificationClicked(Notification notification) { - - } - }); + addNotifications(); } + @SuppressLint("CheckResult") private void addNotifications() { + Timber.d("Add notifications"); - recyclerView.setAdapter(notificationAdapterFactory.create(NotificationController.loadNotifications())); + Observable.fromCallable(() -> controller.getNotifications()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(notificationList -> { + Timber.d("Number of notifications is %d", notificationList.size()); + setAdapter(notificationList); + }, throwable -> { + Timber.e(throwable, "Error occurred while loading notifications"); + }); + } + + private void handleUrl(String url) { + if (url == null || url.equals("")) { + return; + } + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); + } + + private void setAdapter(List notificationList) { + notificationAdapterFactory = new NotificationAdapterFactory(notification -> { + Timber.d("Notification clicked %s", notification.link); + handleUrl(notification.link); + }); + RVRendererAdapter adapter = notificationAdapterFactory.create(notificationList); + recyclerView.setAdapter(adapter); + } + + public static void startYourself(Context context) { + Intent intent = new Intent(context, NotificationActivity.class); + context.startActivity(intent); } } 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 new file mode 100644 index 000000000..43bbd21b2 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationClient.java @@ -0,0 +1,101 @@ +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/NotificationController.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationController.java index 84f5c15d8..b22bafbb5 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationController.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationController.java @@ -1,23 +1,39 @@ package fr.free.nrw.commons.notification; +import java.io.IOException; import java.util.ArrayList; import java.util.List; +import javax.inject.Inject; +import javax.inject.Singleton; + +import fr.free.nrw.commons.auth.SessionManager; +import fr.free.nrw.commons.mwapi.MediaWikiApi; + /** * Created by root on 19.12.2017. */ - +@Singleton public class NotificationController { - public static List loadNotifications() { - List notifications = new ArrayList<>(); - notifications.add(new Notification(Notification.NotificationType.message, "notification 1")); - notifications.add(new Notification(Notification.NotificationType.edit, "notification 2")); - notifications.add(new Notification(Notification.NotificationType.mention, "notification 3")); - notifications.add(new Notification(Notification.NotificationType.message, "notification 4")); - notifications.add(new Notification(Notification.NotificationType.edit, "notification 5")); - notifications.add(new Notification(Notification.NotificationType.mention, "notification 6")); - notifications.add(new Notification(Notification.NotificationType.message, "notification 7")); - return notifications; + private MediaWikiApi mediaWikiApi; + private SessionManager sessionManager; + + @Inject + public NotificationController(MediaWikiApi mediaWikiApi, SessionManager sessionManager) { + this.mediaWikiApi = mediaWikiApi; + this.sessionManager = sessionManager; + } + + public List getNotifications() throws IOException { + if (mediaWikiApi.validateLogin()) { + return mediaWikiApi.getNotifications(); + } else { + Boolean authTokenValidated = sessionManager.revalidateAuthToken(); + if (authTokenValidated != null && authTokenValidated) { + return mediaWikiApi.getNotifications(); + } + } + return new ArrayList<>(); } } 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 new file mode 100644 index 000000000..0425c605b --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationObject.java @@ -0,0 +1,106 @@ +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/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java index 36272d4a2..9bf3cec93 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java @@ -8,9 +8,13 @@ import android.widget.TextView; import com.pedrogomez.renderers.Renderer; +import java.util.Calendar; +import java.util.Date; + import butterknife.BindView; import butterknife.ButterKnife; import fr.free.nrw.commons.R; +import fr.free.nrw.commons.utils.DateUtils; /** * Created by root on 19.12.2017. @@ -45,23 +49,17 @@ public class NotificationRenderer extends Renderer { @Override public void render() { - Notification notification = getContent(); - title.setText(notification.notificationText); - time.setText("3d"); - description.setText("Example notification description"); - switch (notification.notificationType) { - case edit: - icon.setImageResource(R.drawable.ic_edit_black_24dp); - break; - case message: - icon.setImageResource(R.drawable.ic_message_black_24dp); - break; - case mention: - icon.setImageResource(R.drawable.ic_chat_bubble_black_24px); - break; - default: - icon.setImageResource(R.drawable.round_icon_unknown); - } + Notification notification = getContent(); + title.setText(notification.notificationText); + time.setText(notification.date); + description.setText(notification.description); + switch (notification.notificationType) { + case THANK_YOU_EDIT: + icon.setImageResource(R.drawable.ic_edit_black_24dp); + break; + default: + icon.setImageResource(R.drawable.round_icon_unknown); + } } public interface NotificationClicked{ diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationType.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationType.java new file mode 100644 index 000000000..b83b23b2a --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationType.java @@ -0,0 +1,27 @@ +package fr.free.nrw.commons.notification; + +public enum NotificationType { + THANK_YOU_EDIT("thank-you-edit"), + EDIT_USER_TALK("edit-user-talk"), + MENTION("mention"), + WELCOME("welcome"), + UNKNOWN("unknown"); + private String type; + + NotificationType(String type) { + this.type = type; + } + + public String getType() { + return type; + } + + public static NotificationType handledValueOf(String name) { + for (NotificationType e : values()) { + if (e.getType().equals(name)) { + return e; + } + } + return UNKNOWN; + } +} \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationUtils.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationUtils.java new file mode 100644 index 000000000..7f32da126 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationUtils.java @@ -0,0 +1,116 @@ +package fr.free.nrw.commons.notification; + +import android.content.Context; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import javax.annotation.Nullable; + +import fr.free.nrw.commons.BuildConfig; +import fr.free.nrw.commons.R; + +public class NotificationUtils { + + private static final String COMMONS_WIKI = "commonswiki"; + + public static boolean isCommonsNotification(Node document) { + if (document == null || !document.hasAttributes()) { + return false; + } + Element element = (Element) document; + return COMMONS_WIKI.equals(element.getAttribute("wiki")); + } + + public static NotificationType getNotificationType(Node document) { + Element element = (Element) document; + String type = element.getAttribute("type"); + return NotificationType.handledValueOf(type); + } + + public static Notification getNotificationFromApiResult(Context context, Node document) { + NotificationType type = getNotificationType(document); + + String notificationText = ""; + String link = getNotificationLink(document); + String description = getNotificationDescription(document); + switch (type) { + case THANK_YOU_EDIT: + notificationText = context.getString(R.string.notifications_thank_you_edit); + break; + case EDIT_USER_TALK: + notificationText = getUserTalkMessage(context, document); + break; + case MENTION: + notificationText = getMentionMessage(context, document); + break; + case WELCOME: + notificationText = getWelcomeMessage(context, document); + break; + } + return new Notification(type, notificationText, getTimestamp(document), description, link); + } + + public static String getMentionMessage(Context context, Node document) { + String format = context.getString(R.string.notifications_mention); + return String.format(format, getAgent(document), getNotificationDescription(document)); + } + + public static String getUserTalkMessage(Context context, Node document) { + String format = context.getString(R.string.notifications_talk_page_message); + return String.format(format, getAgent(document)); + } + + public static String getWelcomeMessage(Context context, Node document) { + String welcomeMessageFormat = context.getString(R.string.notifications_welcome); + return String.format(welcomeMessageFormat, getAgent(document)); + } + + private static String getAgent(Node document) { + Element agentElement = (Element) getNode(document, "agent"); + if (agentElement != null) { + return agentElement.getAttribute("name"); + } + return ""; + } + + private static String getTimestamp(Node document) { + Element timestampElement = (Element) getNode(document, "timestamp"); + if (timestampElement != null) { + return timestampElement.getAttribute("date"); + } + return ""; + } + + private static String getNotificationLink(Node document) { + String format = "%s%s"; + Element titleElement = (Element) getNode(document, "title"); + if (titleElement != null) { + String fullName = titleElement.getAttribute("full"); + return String.format(format, BuildConfig.HOME_URL, fullName); + } + return ""; + } + + private static String getNotificationDescription(Node document) { + Element titleElement = (Element) getNode(document, "title"); + if (titleElement != null) { + return titleElement.getAttribute("text"); + } + return ""; + } + + @Nullable + public static Node getNode(Node node, String nodeName) { + NodeList childNodes = node.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node nodeItem = childNodes.item(i); + Element item = (Element) nodeItem; + if (item.getTagName().equals(nodeName)) { + return nodeItem; + } + } + return null; + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java index 4e7cf767f..99c9f253b 100644 --- a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java @@ -146,7 +146,7 @@ public abstract class NavigationBaseActivity extends BaseActivity return true; case R.id.action_notifications: drawerLayout.closeDrawer(navigationView); - startActivityWithFlags(this, NotificationActivity.class, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + NotificationActivity.startYourself(this); return true; default: Timber.e("Unknown option [%s] selected from the navigation menu", itemId); diff --git a/app/src/main/java/fr/free/nrw/commons/utils/DateUtils.java b/app/src/main/java/fr/free/nrw/commons/utils/DateUtils.java new file mode 100644 index 000000000..6b3bf0377 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/utils/DateUtils.java @@ -0,0 +1,36 @@ +package fr.free.nrw.commons.utils; + +import java.util.Calendar; +import java.util.Date; + +public class DateUtils { + public static String getTimeAgo(Date currDate, Date itemDate) { + Calendar c = Calendar.getInstance(); + c.setTime(currDate); + int yearNow = c.get(Calendar.YEAR); + int monthNow = c.get(Calendar.MONTH); + int dayNow = c.get(Calendar.DAY_OF_MONTH); + int hourNow = c.get(Calendar.HOUR_OF_DAY); + int minuteNow = c.get(Calendar.MINUTE); + c.setTime(itemDate); + int videoYear = c.get(Calendar.YEAR); + int videoMonth = c.get(Calendar.MONTH); + int videoDays = c.get(Calendar.DAY_OF_MONTH); + int videoHour = c.get(Calendar.HOUR_OF_DAY); + int videoMinute = c.get(Calendar.MINUTE); + + if (yearNow != videoYear) { + return (String.valueOf(yearNow - videoYear) + "-" + "years"); + } else if (monthNow != videoMonth) { + return (String.valueOf(monthNow - videoMonth) + "-" + "months"); + } else if (dayNow != videoDays) { + return (String.valueOf(dayNow - videoDays) + "-" + "days"); + } else if (hourNow != videoHour) { + return (String.valueOf(hourNow - videoHour) + "-" + "hours"); + } else if (minuteNow != videoMinute) { + return (String.valueOf(minuteNow - videoMinute) + "-" + "minutes"); + } else { + return "0-seconds"; + } + } +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bcc8c3242..1bdf17349 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -214,4 +214,9 @@ Permission required to display a list of nearby places GET DIRECTIONS READ ARTICLE + + Welcome to Wikimedia Commons, %s! We\'re glad you\'re here. + %s left a message on your talk page + Thank you for making an edit + %s mentioned you on %s. diff --git a/app/src/test/java/fr/free/nrw/commons/TestCommonsApplication.java b/app/src/test/java/fr/free/nrw/commons/TestCommonsApplication.java index e59d75aca..aad8a22b8 100644 --- a/app/src/test/java/fr/free/nrw/commons/TestCommonsApplication.java +++ b/app/src/test/java/fr/free/nrw/commons/TestCommonsApplication.java @@ -89,7 +89,7 @@ public class TestCommonsApplication extends CommonsApplication { } @Override - public MediaWikiApi provideMediaWikiApi() { + public MediaWikiApi provideMediaWikiApi(Context context) { return mediaWikiApi; } diff --git a/gradle.properties b/gradle.properties index 21c58394c..7d3e7d6b6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ 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 diff --git a/notification_commons_clicked.png b/notification_commons_clicked.png new file mode 100644 index 0000000000000000000000000000000000000000..182c62480f9a79f775a20d1da340db65c494f188 GIT binary patch literal 113152 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 z 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]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%0D?l6u5xC!UeYcmGpmka{8^U5+s1m&pi*9-2M{LUm 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