diff --git a/arms/build.gradle b/arms/build.gradle
index 5055eb5d660ba250ab92bd8064dc6178fcca364d..4ab04a4cb7707e17a021f9b661a39524dce15bf8 100644
--- a/arms/build.gradle
+++ b/arms/build.gradle
@@ -92,7 +92,7 @@ dependencies {
compile rootProject.ext.dependencies["timber"]
compile rootProject.ext.dependencies["glide"]
apt rootProject.ext.dependencies["dagger2-apt-compiler"]
- compile (project(':rxerrorhandler')){
+ compile (rootProject.ext.dependencies["rxerrorhandler"]){
exclude module: 'rxjava'
}
}
diff --git a/config.gradle b/config.gradle
index d006bf49d3374fa9bfcb35ef299a6de96ddddcf8..e6e87d17427ef9b59737bca0c21fb51a52064b89 100644
--- a/config.gradle
+++ b/config.gradle
@@ -52,6 +52,7 @@ ext {
"okhttp-urlconnection" : "com.squareup.okhttp:okhttp-urlconnection:2.0.0",
"otto" : "com.squareup:otto:1.3.8",
"paginate" : "com.github.markomilos:paginate:0.5.1",
+ "rxerrorhandler" : "me.jessyan:rxerrorhandler:1.0.1",
//test
"runner" : 'com.android.support.test:runner:0.5',
"espresso-core" : "com.android.support.test.espresso:espresso-core:${android["espressoSdkVersion"]}",
diff --git a/rxerrorhandler/.gitignore b/rxerrorhandler/.gitignore
deleted file mode 100644
index 796b96d1c402326528b4ba3c12ee9d92d0e212e9..0000000000000000000000000000000000000000
--- a/rxerrorhandler/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/rxerrorhandler/build.gradle b/rxerrorhandler/build.gradle
deleted file mode 100644
index 3dfa2037f29e9a82c251298a63b0579295342436..0000000000000000000000000000000000000000
--- a/rxerrorhandler/build.gradle
+++ /dev/null
@@ -1,26 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- compileSdkVersion 25
- buildToolsVersion "25.0.2"
-
- defaultConfig {
- minSdkVersion 15
- targetSdkVersion 25
- versionCode 1
- versionName "1.0"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:25.1.1'
- compile 'io.reactivex:rxjava:1.2.6'
-}
diff --git a/rxerrorhandler/proguard-rules.pro b/rxerrorhandler/proguard-rules.pro
deleted file mode 100644
index 51ad7712947a7ad4853fa8455a2992ff5902a327..0000000000000000000000000000000000000000
--- a/rxerrorhandler/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /Users/jess/Library/Android/sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/rxerrorhandler/src/androidTest/java/me/jessyan/rxerrorhandler/ApplicationTest.java b/rxerrorhandler/src/androidTest/java/me/jessyan/rxerrorhandler/ApplicationTest.java
deleted file mode 100644
index fe1feb3fa0438ab99815fc8d24fb248a1b531de5..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/androidTest/java/me/jessyan/rxerrorhandler/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package me.jessyan.rxerrorhandler;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/rxerrorhandler/src/main/AndroidManifest.xml b/rxerrorhandler/src/main/AndroidManifest.xml
deleted file mode 100644
index 4a7d56c9ceecac60194564ddca3a8ec13a6da55d..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
diff --git a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/core/RxErrorHandler.java b/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/core/RxErrorHandler.java
deleted file mode 100644
index 6dac1fc748e31647e6d468ff0c4b204ad86a0fb6..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/core/RxErrorHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package me.jessyan.rxerrorhandler.core;
-
-import android.content.Context;
-
-import me.jessyan.rxerrorhandler.handler.ErrorHandlerFactory;
-import me.jessyan.rxerrorhandler.handler.listener.ResponseErroListener;
-
-import static me.jessyan.rxerrorhandler.utils.Preconditions.checkNotNull;
-
-/**
- * Created by jess on 9/2/16 13:27
- * Contact with jess.yan.effort@gmail.com
- */
-public class RxErrorHandler {
- public final String TAG = this.getClass().getSimpleName();
- private ErrorHandlerFactory mHandlerFactory;
-
- private RxErrorHandler(Builder builder) {
- this.mHandlerFactory = builder.errorHandlerFactory;
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public ErrorHandlerFactory getmHandlerFactory() {
- return mHandlerFactory;
- }
-
- public static final class Builder {
- private Context context;
- private ResponseErroListener responseErroListener;
- private ErrorHandlerFactory errorHandlerFactory;
-
- private Builder() {
- }
-
- public Builder with(Context context) {
- this.context = context;
- return this;
- }
-
- public Builder responseErroListener(ResponseErroListener responseErroListener) {
- this.responseErroListener = responseErroListener;
- return this;
- }
-
- public RxErrorHandler build() {
- checkNotNull(context,"context is required");
- checkNotNull(responseErroListener,"responseErroListener is required");
-
-
- this.errorHandlerFactory = new ErrorHandlerFactory(context, responseErroListener);
-
- return new RxErrorHandler(this);
- }
- }
-
-
-}
diff --git a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/ErrorHandleSubscriber.java b/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/ErrorHandleSubscriber.java
deleted file mode 100644
index 37b26a1236aa56a299aaf00949c50c7c6e63c8a4..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/ErrorHandleSubscriber.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package me.jessyan.rxerrorhandler.handler;
-
-import me.jessyan.rxerrorhandler.core.RxErrorHandler;
-import rx.Subscriber;
-
-/**
- * Created by jess on 9/2/16 14:41
- * Contact with jess.yan.effort@gmail.com
- */
-
-public abstract class ErrorHandleSubscriber extends Subscriber {
- private ErrorHandlerFactory mHandlerFactory;
-
- public ErrorHandleSubscriber(RxErrorHandler rxErrorHandler){
- this.mHandlerFactory = rxErrorHandler.getmHandlerFactory();
- }
-
- @Override
- public void onCompleted() {
-
- }
-
- @Override
- public void onError(Throwable e) {
- e.printStackTrace();
- mHandlerFactory.handleError(e);
- }
-
-}
-
diff --git a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/ErrorHandlerFactory.java b/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/ErrorHandlerFactory.java
deleted file mode 100644
index f3735a523b97efe1e7f9b9c953c5ec008d0b4544..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/ErrorHandlerFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package me.jessyan.rxerrorhandler.handler;
-
-import android.content.Context;
-
-import me.jessyan.rxerrorhandler.handler.listener.ResponseErroListener;
-
-/**
- * Created by jess on 9/2/16 13:47
- * Contact with jess.yan.effort@gmail.com
- */
-public class ErrorHandlerFactory {
- public final String TAG = this.getClass().getSimpleName();
- private Context mContext;
- private ResponseErroListener mResponseErroListener;
-
- public ErrorHandlerFactory(Context mContext, ResponseErroListener mResponseErroListener) {
- this.mResponseErroListener = mResponseErroListener;
- this.mContext = mContext;
- }
-
- /**
- * 处理错误
- * @param throwable
- */
- public void handleError(Throwable throwable) {
- mResponseErroListener.handleResponseError(mContext, (Exception) throwable);
- }
-}
diff --git a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/RetryWithDelay.java b/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/RetryWithDelay.java
deleted file mode 100644
index dca962fc016146cedd2efab09044696184a732d6..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/RetryWithDelay.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package me.jessyan.rxerrorhandler.handler;
-
-import android.util.Log;
-
-import java.util.concurrent.TimeUnit;
-
-import rx.Observable;
-import rx.functions.Func1;
-
-/**
- * Created by jess on 9/2/16 14:32
- * Contact with jess.yan.effort@gmail.com
- */
-public class RetryWithDelay implements
- Func1, Observable>> {
- public final String TAG = this.getClass().getSimpleName();
- private final int maxRetries;
- private final int retryDelaySecond;
- private int retryCount;
-
- public RetryWithDelay(int maxRetries, int retryDelaySecond) {
- this.maxRetries = maxRetries;
- this.retryDelaySecond = retryDelaySecond;
- }
-
- @Override
- public Observable> call(Observable extends Throwable> attempts) {
- return attempts
- .flatMap(new Func1>() {
- @Override
- public Observable> call(Throwable throwable) {
- if (++retryCount <= maxRetries) {
- // When this Observable calls onNext, the original Observable will be retried (i.e. re-subscribed).
- Log.d(TAG, "get error, it will try after " + retryDelaySecond
- + " second, retry count " + retryCount);
- return Observable.timer(retryDelaySecond,
- TimeUnit.SECONDS);
- }
- // Max retries hit. Just pass the error along.
- return Observable.error(throwable);
- }
- });
- }
-}
\ No newline at end of file
diff --git a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/listener/ResponseErroListener.java b/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/listener/ResponseErroListener.java
deleted file mode 100644
index 5d0c97a2f9d4510819e4af85df4b319ac6d9901c..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/handler/listener/ResponseErroListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package me.jessyan.rxerrorhandler.handler.listener;
-
-import android.content.Context;
-
-/**
- * Created by jess on 9/2/16 13:58
- * Contact with jess.yan.effort@gmail.com
- */
-public interface ResponseErroListener {
- void handleResponseError(Context context,Exception e);
-
- ResponseErroListener EMPTY = new ResponseErroListener() {
- @Override
- public void handleResponseError(Context context, Exception e) {
-
- }
- };
-}
diff --git a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/utils/Preconditions.java b/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/utils/Preconditions.java
deleted file mode 100644
index 144e64c04a2d17abb0e30634ac8792113ce5ccac..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/java/me/jessyan/rxerrorhandler/utils/Preconditions.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package me.jessyan.rxerrorhandler.utils;
-
-import android.support.annotation.Nullable;
-
-/**
- * Created by jess on 26/09/2016 13:59
- * Contact with jess.yan.effort@gmail.com
- */
-
-public final class Preconditions {
- private Preconditions() {
- }
-
- public static void checkArgument(boolean expression) {
- if(!expression) {
- throw new IllegalArgumentException();
- }
- }
-
- public static void checkArgument(boolean expression, @Nullable Object errorMessage) {
- if(!expression) {
- throw new IllegalArgumentException(String.valueOf(errorMessage));
- }
- }
-
- public static void checkArgument(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs) {
- if(!expression) {
- throw new IllegalArgumentException(format(errorMessageTemplate, errorMessageArgs));
- }
- }
-
- public static void checkState(boolean expression) {
- if(!expression) {
- throw new IllegalStateException();
- }
- }
-
- public static void checkState(boolean expression, @Nullable Object errorMessage) {
- if(!expression) {
- throw new IllegalStateException(String.valueOf(errorMessage));
- }
- }
-
- public static void checkState(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs) {
- if(!expression) {
- throw new IllegalStateException(format(errorMessageTemplate, errorMessageArgs));
- }
- }
-
- public static T checkNotNull(T reference) {
- if(reference == null) {
- throw new NullPointerException();
- } else {
- return reference;
- }
- }
-
- public static T checkNotNull(T reference, @Nullable Object errorMessage) {
- if(reference == null) {
- throw new NullPointerException(String.valueOf(errorMessage));
- } else {
- return reference;
- }
- }
-
- public static T checkNotNull(T reference, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs) {
- if(reference == null) {
- throw new NullPointerException(format(errorMessageTemplate, errorMessageArgs));
- } else {
- return reference;
- }
- }
-
- public static int checkElementIndex(int index, int size) {
- return checkElementIndex(index, size, "index");
- }
-
- public static int checkElementIndex(int index, int size, @Nullable String desc) {
- if(index >= 0 && index < size) {
- return index;
- } else {
- throw new IndexOutOfBoundsException(badElementIndex(index, size, desc));
- }
- }
-
- private static String badElementIndex(int index, int size, String desc) {
- if(index < 0) {
- return format("%s (%s) must not be negative", new Object[]{desc, Integer.valueOf(index)});
- } else if(size < 0) {
- throw new IllegalArgumentException((new StringBuilder(26)).append("negative size: ").append(size).toString());
- } else {
- return format("%s (%s) must be less than size (%s)", new Object[]{desc, Integer.valueOf(index), Integer.valueOf(size)});
- }
- }
-
- public static int checkPositionIndex(int index, int size) {
- return checkPositionIndex(index, size, "index");
- }
-
- public static int checkPositionIndex(int index, int size, @Nullable String desc) {
- if(index >= 0 && index <= size) {
- return index;
- } else {
- throw new IndexOutOfBoundsException(badPositionIndex(index, size, desc));
- }
- }
-
- private static String badPositionIndex(int index, int size, String desc) {
- if(index < 0) {
- return format("%s (%s) must not be negative", new Object[]{desc, Integer.valueOf(index)});
- } else if(size < 0) {
- throw new IllegalArgumentException((new StringBuilder(26)).append("negative size: ").append(size).toString());
- } else {
- return format("%s (%s) must not be greater than size (%s)", new Object[]{desc, Integer.valueOf(index), Integer.valueOf(size)});
- }
- }
-
- public static void checkPositionIndexes(int start, int end, int size) {
- if(start < 0 || end < start || end > size) {
- throw new IndexOutOfBoundsException(badPositionIndexes(start, end, size));
- }
- }
-
- private static String badPositionIndexes(int start, int end, int size) {
- return start >= 0 && start <= size?(end >= 0 && end <= size?format("end index (%s) must not be less than start index (%s)", new Object[]{Integer.valueOf(end), Integer.valueOf(start)}):badPositionIndex(end, size, "end index")):badPositionIndex(start, size, "start index");
- }
-
- static String format(String template, @Nullable Object... args) {
- template = String.valueOf(template);
- StringBuilder builder = new StringBuilder(template.length() + 16 * args.length);
- int templateStart = 0;
-
- int i;
- int placeholderStart;
- for(i = 0; i < args.length; templateStart = placeholderStart + 2) {
- placeholderStart = template.indexOf("%s", templateStart);
- if(placeholderStart == -1) {
- break;
- }
-
- builder.append(template.substring(templateStart, placeholderStart));
- builder.append(args[i++]);
- }
-
- builder.append(template.substring(templateStart));
- if(i < args.length) {
- builder.append(" [");
- builder.append(args[i++]);
-
- while(i < args.length) {
- builder.append(", ");
- builder.append(args[i++]);
- }
-
- builder.append(']');
- }
-
- return builder.toString();
- }
-}
diff --git a/rxerrorhandler/src/main/res/values/strings.xml b/rxerrorhandler/src/main/res/values/strings.xml
deleted file mode 100644
index 4623a9f22d90c9ce80ee93dcfe95956db9de8253..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- RxErrorHandler
-
diff --git a/rxerrorhandler/src/test/java/me/jessyan/rxerrorhandler/ExampleUnitTest.java b/rxerrorhandler/src/test/java/me/jessyan/rxerrorhandler/ExampleUnitTest.java
deleted file mode 100644
index 51c57727ffe3f5a32c80b0799ca8ef6d79361019..0000000000000000000000000000000000000000
--- a/rxerrorhandler/src/test/java/me/jessyan/rxerrorhandler/ExampleUnitTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package me.jessyan.rxerrorhandler;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * To work on unit tests, switch the Test Artifact in the Build Variants view.
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() throws Exception {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 2b4903540ff733708679b4e4496a8b5b63e7a632..ef2ab67726903d9745c5e4a5dbd396b3f5e952cb 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':app', ':arms', ':rxerrorhandler'
+include ':app', ':arms'