diff --git a/build.gradle b/build.gradle index 75ea8c2..0ee765a 100644 --- a/build.gradle +++ b/build.gradle @@ -27,22 +27,24 @@ dependencies { compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.1' - + provided 'com.android.support:appcompat-v7:26.0.0-beta2' provided 'com.android.support:recyclerview-v7:26.0.0-beta2' provided 'com.squareup.retrofit2:retrofit:2.3.0' - provided 'com.facebook.fresco:fresco:1.3.0' + provided 'com.facebook.fresco:fresco:1.4.0' provided 'com.bluelinelabs:logansquare:1.3.7' provided 'com.scottyab:aes-crypto:0.0.4' - provided('io.socket:socket.io-client:0.8.3') { + // don't use latest(1.0 and above) because they don't support Socket.IO server 1.x version + //noinspection NewerVersionAvailable + provided('io.socket:socket.io-client:0.9.0') { exclude group: 'org.json', module: 'json' } - provided('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') { + provided('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; } diff --git a/src/main/java/ru/touchin/templates/ApiModel.java b/src/main/java/ru/touchin/templates/ApiModel.java index e319d9b..5755445 100644 --- a/src/main/java/ru/touchin/templates/ApiModel.java +++ b/src/main/java/ru/touchin/templates/ApiModel.java @@ -52,7 +52,7 @@ public abstract class ApiModel implements Serializable { */ @SuppressWarnings({"PMD.PreserveStackTrace", "PMD.CyclomaticComplexity"}) // PreserveStackTrace: it's ok - we are logging it on Lc.e() - protected static void validateCollection(@NonNull final Collection collection, @NonNull final CollectionValidationRule collectionValidationRule) + public static void validateCollection(@NonNull final Collection collection, @NonNull final CollectionValidationRule collectionValidationRule) throws ValidationException { boolean haveValidItem = false; int position = 0; @@ -117,7 +117,7 @@ public abstract class ApiModel implements Serializable { //do nothing } - protected enum CollectionValidationRule { + public enum CollectionValidationRule { EXCEPTION_IF_ANY_INVALID, EXCEPTION_IF_ALL_INVALID, REMOVE_INVALID_ITEMS, diff --git a/src/main/java/ru/touchin/templates/logansquare/LoganSquareEnumConverter.java b/src/main/java/ru/touchin/templates/logansquare/LoganSquareEnumConverter.java index f94921a..53827f3 100644 --- a/src/main/java/ru/touchin/templates/logansquare/LoganSquareEnumConverter.java +++ b/src/main/java/ru/touchin/templates/logansquare/LoganSquareEnumConverter.java @@ -62,7 +62,7 @@ public class LoganSquareEnumConverter extends if (defaultValue != null) { return defaultValue; } - throw new ShouldNotHappenException(); + throw new ShouldNotHappenException("Enum parsing exception for value: " + string); } @Nullable diff --git a/src/main/java/ru/touchin/templates/retrofit/JsonResponseBodyConverter.java b/src/main/java/ru/touchin/templates/retrofit/JsonResponseBodyConverter.java index f82f2d0..cceb06b 100644 --- a/src/main/java/ru/touchin/templates/retrofit/JsonResponseBodyConverter.java +++ b/src/main/java/ru/touchin/templates/retrofit/JsonResponseBodyConverter.java @@ -24,6 +24,8 @@ import android.support.annotation.NonNull; import java.io.IOException; import java.io.InterruptedIOException; import java.net.SocketException; +import java.util.Collection; +import java.util.Map; import javax.net.ssl.SSLException; @@ -62,17 +64,41 @@ public abstract class JsonResponseBodyConverter implements Converter