diff --git a/.travis.yml b/.travis.yml index c9ae919..6855ccb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,10 +11,10 @@ android: - tools # The BuildTools version used by your project - - build-tools-23.0.3 + - build-tools-25.0.2 # The SDK version used to compile your project - - android-24 + - android-25 # Additional components - extra-google-m2repository diff --git a/ChangeLog.md b/ChangeLog.md index 7b63b55..cff16cf 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,9 @@ +Version: 3.3.0 +* Update to latest android build tools, support library. + +Version: 3.2.0 +* Change Task#onStarted to have a parameter "monitor", so that the invoker can use the monitor to cancel the task before the task runs or when it's running + Version: 3.1.1 * Add MvcDialog and deprecate MvcDialogFragment * Better description for injection errors for fragments and services diff --git a/build.gradle b/build.gradle index 0b796a9..acf36ce 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:2.2.0-rc1' + classpath 'com.android.tools.build:gradle:2.2.3' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' @@ -73,17 +73,17 @@ ext { gitUrl = 'https://github.com/kejunxia/AndroidMvc.git' // Git repository URL version = [ major: 3, - minor: 1, - patch : 1 + minor: 3, + patch : 0 ] libGroup = 'com.shipdream' libVersion = "${version.major}.${version.minor}.${version.patch}" shouldPublish = false androidMinSdkVersion = 14 - androidCompileSdkVersion = 24 - androidBuildToolVersion = "23.0.3" - supportLibVersion = "24.2.0" + androidCompileSdkVersion = 25 + androidBuildToolVersion = "25.0.2" + supportLibVersion = "25.1.0" androidTargetSdkVersion = androidCompileSdkVersion lib = [ intelljAnnoatations: 'com.intellij:annotations:12.0', diff --git a/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Controller.java b/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Controller.java index f1df8d6..9b27a21 100644 --- a/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Controller.java +++ b/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Controller.java @@ -233,7 +233,7 @@ public Void call() throws Exception { uiThreadRunner.post(new Runnable() { @Override public void run() { - callback.onStarted(); + callback.onStarted(monitor); } }); } diff --git a/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Task.java b/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Task.java index 9c61d1c..fc5e907 100644 --- a/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Task.java +++ b/library/android-mvc-core/src/main/java/com/shipdream/lib/android/mvc/Task.java @@ -159,9 +159,16 @@ public void run() { abstract class Callback { /** * Called when the execution of the task starts + * @deprecated */ public void onStarted() {} + /** + * Called when the execution of the task starts + * @param monitor The monitor to watch this task. The task can be cancelled by {@link Monitor#cancel(boolean)} + */ + public void onStarted(Monitor monitor) {} + /** * Called when the execution of the task completes successfully * @param result The result of the execution diff --git a/library/android-mvc-core/src/test/java/com/shipdream/lib/android/mvc/controller/TestRunAsyncTask.java b/library/android-mvc-core/src/test/java/com/shipdream/lib/android/mvc/controller/TestRunAsyncTask.java index 20fec2a..9a48851 100644 --- a/library/android-mvc-core/src/test/java/com/shipdream/lib/android/mvc/controller/TestRunAsyncTask.java +++ b/library/android-mvc-core/src/test/java/com/shipdream/lib/android/mvc/controller/TestRunAsyncTask.java @@ -155,6 +155,12 @@ public void onStarted() { callback.onStarted(); } + @Override + public void onStarted(Task.Monitor monitor) { + super.onStarted(monitor); + callback.onStarted(monitor); + } + @Override public void onSuccess(Object o) { super.onSuccess(o); @@ -181,7 +187,7 @@ public void onFinally() { Thread.sleep(100); - verify(callback, times(1)).onStarted(); + verify(callback, times(1)).onStarted(monitor1); verify(callback, times(1)).onException(any(Exception.class)); verify(callback, times(0)).onSuccess(anyObject()); verify(callback, times(0)).onCancelled(anyBoolean()); @@ -210,13 +216,13 @@ public Object execute(Monitor monitor) throws Exception { Thread.sleep(WAIT_DURATION + 100); - verify(callback, times(1)).onStarted(); + verify(callback, times(1)).onStarted(monitor1); verify(callback, times(0)).onException(any(Exception.class)); verify(callback, times(1)).onSuccess(anyObject()); verify(callback, times(0)).onCancelled(anyBoolean()); verify(callback, times(1)).onFinally(); - verify(callback2, times(0)).onStarted(); + verify(callback2, times(0)).onStarted(monitor2); verify(callback2, times(0)).onException(any(Exception.class)); verify(callback2, times(0)).onSuccess(anyObject()); verify(callback2, times(1)).onCancelled(anyBoolean());