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 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'