From 35b6bb749392a421ff278245f13d83c985b4a1bb Mon Sep 17 00:00:00 2001 From: Kale Date: Tue, 10 Apr 2018 13:31:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=BA=86retrolambda?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 1 - lib/build.gradle | 10 ++- .../ui/shatter/lifecycle/MethodExecutor.java | 78 ++++++++++++++++--- 3 files changed, 74 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index 9ab9582..8b4ce79 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,6 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' - classpath 'me.tatarka:gradle-retrolambda:3.2.0'//lambda classpath 'me.leolin:android-aspectj-plugin:1.0.7' // https://github.com/leolin310148/GradleAndroidAspectJPlugin } } diff --git a/lib/build.gradle b/lib/build.gradle index 26002f7..8d995ef 100644 --- a/lib/build.gradle +++ b/lib/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'me.tatarka.retrolambda' apply plugin: 'me.leolin.gradle-android-aspectj' android { @@ -23,10 +22,17 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + + lintOptions { + checkReleaseBuilds false + // Or, if you prefer, you can continue to check for errors in release builds, + // but continue the build even when errors are found: + abortOnError false + } } dependencies { - compile 'com.android.support:appcompat-v7:27.1.1' + provided 'com.android.support:appcompat-v7:27.1.1' } // build a jar with source files diff --git a/lib/src/main/java/kale/ui/shatter/lifecycle/MethodExecutor.java b/lib/src/main/java/kale/ui/shatter/lifecycle/MethodExecutor.java index 8ea2301..b6b9ccd 100644 --- a/lib/src/main/java/kale/ui/shatter/lifecycle/MethodExecutor.java +++ b/lib/src/main/java/kale/ui/shatter/lifecycle/MethodExecutor.java @@ -21,40 +21,94 @@ public static void scheduleMethod(String methodName, ShatterManager manager, Obj List shatters = manager.getShatters(); switch (methodName) { case "onNewIntent": - callShatterFunc(shatters, shatter -> shatter.onActNewIntent((Intent) args[0])); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter) { + shatter.onActNewIntent((Intent) args[0]); + } + }); break; case Event.ON_SAVE_INSTANCE_STATE: - callShatterFunc(shatters, shatter -> shatter.onActSaveInstanceState((Bundle) args[0])); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter) { + shatter.onActSaveInstanceState((Bundle) args[0]); + } + }); break; case "onRestoreInstanceState": - callShatterFunc(shatters, shatter -> shatter.onActRestoreInstanceState(((Bundle) args[0]))); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter) { + shatter.onActRestoreInstanceState(((Bundle) args[0])); + } + }); break; case Event.ON_START: - callShatterFunc(shatters, Shatter::onActStart); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter1) { + shatter1.onActStart(); + } + }); break; case Event.ON_RESUME: - callShatterFunc(shatters, Shatter::onActResume); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter1) { + shatter1.onActResume(); + } + }); break; case Event.ON_PAUSE: - callShatterFunc(shatters, Shatter::onActPause); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter1) { + shatter1.onActPause(); + } + }); break; case Event.ON_STOP: - callShatterFunc(shatters, Shatter::onActStop); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter1) { + shatter1.onActStop(); + } + }); break; case "onRestart": - callShatterFunc(shatters, Shatter::onActRestart); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter1) { + shatter1.onActRestart(); + } + }); break; case Event.ON_DESTROY: - callShatterFunc(shatters, Shatter::doDestroy); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter1) { + shatter1.doDestroy(); + } + }); manager.destroy(); break; case "onBackPressed": - callShatterFunc(shatters, Shatter::onActBackPressed); + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter1) { + shatter1.onActBackPressed(); + } + }); break; case Event.ON_ACTIVITY_RESULT: - callShatterFunc(shatters, shatter -> + callShatterFunc(shatters, new Callback() { + @Override + public void onCall(Shatter shatter) { shatter.onActivityResult(Integer.parseInt(args[0].toString()), - Integer.parseInt(args[1].toString()), (Intent) args[2])); + Integer.parseInt(args[1].toString()), (Intent) args[2]); + } + }); break; } }