diff --git a/README.md b/README.md index 5be9698..7a9be31 100755 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Rudolph Android Router Framework(鲁道夫安卓路由框架组件) - 支持组件API模块自动生成 - 自动生成路由Builder类与服务类的接口层; -- 加载更快,更稳定,无需dex扫描方式加载; +- 加载更快,更稳定,无需插桩与dex扫描; - 无需指定模块名,接入更简单; - 显式跳转与URL路由地址跳转融为一体,更方便快捷; - 通过Builder方式传参,无需手动写参数名,从而减少参数传错和修改带来的Bug隐患; diff --git a/app/build.gradle b/app/build.gradle index a498480..e39569e 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,8 +28,8 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation "com.android.support:appcompat-v7:${versions.supportLib}" implementation project(':rudolph') - implementation project(':module-a') - implementation project(':module-b') + implementation project(':sampleA') + implementation project(':sampleB') } repositories { diff --git a/app/src/main/java/cn/wzbos/android/rudolph/example/SplashActivity.java b/app/src/main/java/cn/wzbos/android/rudolph/example/SplashActivity.java index 6baabac..072d2f2 100755 --- a/app/src/main/java/cn/wzbos/android/rudolph/example/SplashActivity.java +++ b/app/src/main/java/cn/wzbos/android/rudolph/example/SplashActivity.java @@ -5,7 +5,7 @@ import android.support.v7.app.AppCompatActivity; import cn.wzbos.android.rudolph.Rudolph; -import cn.wzbos.android.rudolph.example.module_a.MainActivityRouter; +import cn.wzbos.samplea.MainActivityRouter; public class SplashActivity extends AppCompatActivity { diff --git a/build.gradle b/build.gradle index b63e06e..59ecf07 100755 --- a/build.gradle +++ b/build.gradle @@ -12,8 +12,9 @@ buildscript { ] repositories { - jcenter() + maven { url 'http://maven.aliyun.com/nexus/content/groups/public' } google() + jcenter() } dependencies { @@ -27,13 +28,9 @@ buildscript { allprojects { repositories { - jcenter() + maven { url 'http://maven.aliyun.com/nexus/content/groups/public' } google() - } - - configurations.all { - // check for updates every build - resolutionStrategy.cacheChangingModulesFor 0, 'seconds' + jcenter() } } diff --git a/gradle.properties b/gradle.properties index 73610ca..3233f86 100755 --- a/gradle.properties +++ b/gradle.properties @@ -18,7 +18,7 @@ siteUrl=https://github.com/wzbos/Android-Rudolph-Router gitUrl=https://github.com/wzbos/Android-Rudolph-Router.git licenseName=The Apache Software License, Version 2.0 licenseUrl=http://www.apache.org/licenses/LICENSE-2.0.txt -rudolph_version=1.0.3 +rudolph_version=1.0.5 developerId=wzbos developerName=zongbo.wu developerEmail=sckoo@163.com \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8eceaf2..8846a26 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,4 +1,4 @@ -#Tue Sep 25 10:38:07 CST 2018 +#Thu Jun 11 16:52:49 CST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/module-a-api/src/main/AndroidManifest.xml b/module-a-api/src/main/AndroidManifest.xml deleted file mode 100755 index 235ae51..0000000 --- a/module-a-api/src/main/AndroidManifest.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/Test.java b/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/Test.java deleted file mode 100755 index 5046815..0000000 --- a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/Test.java +++ /dev/null @@ -1,7 +0,0 @@ -package cn.wzbos.android.rudolph.example.module_a_api; - -import cn.wzbos.android.rudolph.annotations.Route; - -@Route -public class Test { -} diff --git a/module-b-api/src/main/AndroidManifest.xml b/module-b-api/src/main/AndroidManifest.xml deleted file mode 100755 index 2380811..0000000 --- a/module-b-api/src/main/AndroidManifest.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/RouteType.java b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/RouteType.java index 884d526..40ce44c 100755 --- a/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/RouteType.java +++ b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/RouteType.java @@ -9,6 +9,7 @@ public enum RouteType { METHOD, FRAGMENT, FRAGMENT_V4, + FRAGMENT_AndroidX, SERVICE, UNKNOWN, } diff --git a/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Arg.java b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Arg.java index cece86b..27c1c1c 100755 --- a/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Arg.java +++ b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Arg.java @@ -9,7 +9,7 @@ * Created by wuzongbo on 2017/5/30. */ @Target({ElementType.PARAMETER, ElementType.FIELD}) -@Retention(RetentionPolicy.CLASS) +@Retention(RetentionPolicy.RUNTIME) public @interface Arg { String value() default ""; diff --git a/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Export.java b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Export.java new file mode 100755 index 0000000..a1306cc --- /dev/null +++ b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Export.java @@ -0,0 +1,22 @@ +package cn.wzbos.android.rudolph.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(RetentionPolicy.CLASS) +@Target({ElementType.TYPE}) +public @interface Export { + /** + * export .class name + */ + String value() default ""; + + /** + * export singleton class + */ + boolean singleton() default false; +} diff --git a/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Route.java b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Route.java index 6733c42..207b7f9 100755 --- a/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Route.java +++ b/rudolph-annotations/src/main/java/cn/wzbos/android/rudolph/annotations/Route.java @@ -8,7 +8,7 @@ import java.lang.annotation.Target; @Documented -@Retention(RetentionPolicy.CLASS) +@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) public @interface Route { @@ -16,9 +16,5 @@ String tag() default ""; - boolean export() default false; - - boolean singleton() default false; - Class clazz() default Object.class; } diff --git a/rudolph-compiler/build.gradle b/rudolph-compiler/build.gradle index 6795a64..30b5233 100755 --- a/rudolph-compiler/build.gradle +++ b/rudolph-compiler/build.gradle @@ -15,8 +15,9 @@ compileJava { } dependencies { - implementation 'com.squareup:javapoet:1.10.0' - implementation 'com.google.auto.service:auto-service:1.0-rc4' + implementation 'com.squareup:javapoet:1.11.1' + implementation 'com.google.auto.service:auto-service-annotations:1.0-rc7' + annotationProcessor 'com.google.auto.service:auto-service:1.0-rc7' implementation 'org.apache.commons:commons-lang3:3.5' implementation 'org.apache.commons:commons-collections4:4.1' implementation project(':rudolph-annotations') diff --git a/rudolph-compiler/src/main/java/cn/wzbos/android/rudolph/RudolphProcessor.java b/rudolph-compiler/src/main/java/cn/wzbos/android/rudolph/RudolphProcessor.java index bbd85b5..aadd991 100755 --- a/rudolph-compiler/src/main/java/cn/wzbos/android/rudolph/RudolphProcessor.java +++ b/rudolph-compiler/src/main/java/cn/wzbos/android/rudolph/RudolphProcessor.java @@ -47,6 +47,7 @@ import cn.wzbos.android.rudolph.annotations.Arg; import cn.wzbos.android.rudolph.annotations.Component; import cn.wzbos.android.rudolph.annotations.Exclude; +import cn.wzbos.android.rudolph.annotations.Export; import cn.wzbos.android.rudolph.annotations.Route; import static cn.wzbos.android.rudolph.Consts.RAW_URI; @@ -84,7 +85,8 @@ public class RudolphProcessor extends AbstractProcessor { private TypeElement type_IBind; private TypeMirror fragmentTm; - private TypeMirror fragmentTmV4; + private TypeElement fragmentTmV4 = null; + private TypeElement fragmentAndroidX = null; private TypeMirror activityTm; private TypeMirror serviceTm; private TypeMirror parcelableTM; @@ -112,7 +114,8 @@ public synchronized void init(ProcessingEnvironment processingEnvironment) { serializableTM = this.elements.getTypeElement("java.io.Serializable").asType(); activityTm = elements.getTypeElement("android.app.Activity").asType(); fragmentTm = elements.getTypeElement("android.app.Fragment").asType(); - fragmentTmV4 = elements.getTypeElement("android.support.v4.app.Fragment").asType(); + fragmentTmV4 = elements.getTypeElement("android.support.v4.app.Fragment"); + fragmentAndroidX = elements.getTypeElement(" androidx.fragment.app.Fragment"); serviceTm = elements.getTypeElement(Constant.ROUTE_SERVICE).asType(); @@ -152,6 +155,7 @@ public boolean process(Set annotations, RoundEnvironment RouteType routetype; for (Element element : routers) { Route route = element.getAnnotation(Route.class); + ElementKind kind = element.getKind(); ClassName target; if (kind == ElementKind.CLASS) { @@ -164,9 +168,12 @@ public boolean process(Set annotations, RoundEnvironment } else if (types.isSubtype(tm, fragmentTm)) { // Fragment routetype = RouteType.FRAGMENT; - } else if (types.isSubtype(tm, fragmentTmV4)) { + } else if (fragmentTmV4 != null && types.isSubtype(tm, fragmentTmV4.asType())) { // Fragment V4 routetype = RouteType.FRAGMENT_V4; + } else if (fragmentAndroidX != null && types.isSubtype(tm, fragmentAndroidX.asType())) { + // Fragment AndroidX + routetype = RouteType.FRAGMENT_AndroidX; } else if (types.isSubtype(tm, serviceTm)) { routetype = RouteType.SERVICE; } else { @@ -303,6 +310,8 @@ private void generateRouteTable(MethodSpec.Builder builder, Element element, Cla */ private void generateRouterCls(TypeElement element, RouteType routeType, Route route) throws IllegalAccessException { logger.warning("generateRouterCls:" + element.getSimpleName() + "Router"); + Export export = element.getAnnotation(Export.class); + TypeName interfaceClsName = null; TypeMirror mirror = APUtils.getTypeMirrorFromAnnotationValue(route::clazz); @@ -310,7 +319,13 @@ private void generateRouterCls(TypeElement element, RouteType routeType, Route r interfaceClsName = ClassName.get(mirror); } - String clsName = element.getSimpleName() + "Router"; + String clsName; + if (export == null || "".equals(export.value())) { + clsName = element.getSimpleName() + "Router"; + } else { + clsName = export.value(); + } + TypeSpec.Builder clsRouterBuilder = TypeSpec.classBuilder(clsName) //增加注释 .addJavadoc(Constant.WARNING_TIPS) @@ -318,7 +333,7 @@ private void generateRouterCls(TypeElement element, RouteType routeType, Route r //生成单例 if (routeType == RouteType.SERVICE) { - if (route.singleton()) { + if (export != null && export.singleton()) { clsRouterBuilder.addField(interfaceClsName, "instance", PRIVATE, VOLATILE, STATIC); clsRouterBuilder.addMethod(MethodSpec.methodBuilder("get") .returns(interfaceClsName) @@ -360,10 +375,10 @@ private void generateRouterCls(TypeElement element, RouteType routeType, Route r // logger.error("getExportApiPackageName:"+getExportApiPackageName(element)); try { - JavaFile file = JavaFile.builder(getExportApiPackageName(element, route.export()), clsRouterBuilder.build()) + JavaFile file = JavaFile.builder(getExportApiPackageName(element, export != null), clsRouterBuilder.build()) .build(); File out_directory; - if (route.export() && (out_directory = getOutputDirectory()) != null) { + if (export != null && (out_directory = getOutputDirectory()) != null) { // logger.info(out_directory.getAbsolutePath() + "/" + clsName+".java"); file.writeTo(out_directory); } else { @@ -425,7 +440,13 @@ private TypeSpec generate(TypeName interfaceClsName, ClassName builderType, Type builder.superclass(ParameterizedTypeName.get( ClassName.get(fragmentBuilderTm), builderType, - TypeName.get(fragmentTmV4))); + TypeName.get(fragmentTmV4.asType()))); + } else if (routeType == RouteType.FRAGMENT_AndroidX) { + // Fragment AndroidX + builder.superclass(ParameterizedTypeName.get( + ClassName.get(fragmentBuilderTm), + builderType, + TypeName.get(fragmentAndroidX.asType()))); } else if (routeType == RouteType.SERVICE) { // Provider builder.superclass(ParameterizedTypeName.get( diff --git a/rudolph/src/main/java/cn/wzbos/android/rudolph/router/UriRouter.java b/rudolph/src/main/java/cn/wzbos/android/rudolph/router/UriRouter.java index 06df320..fd44016 100755 --- a/rudolph/src/main/java/cn/wzbos/android/rudolph/router/UriRouter.java +++ b/rudolph/src/main/java/cn/wzbos/android/rudolph/router/UriRouter.java @@ -18,6 +18,7 @@ private UriRouter(Builder builder) { break; case FRAGMENT: case FRAGMENT_V4: + case FRAGMENT_AndroidX: router = new FragmentRouter(builder); break; case SERVICE: diff --git a/module-a-api/.gitignore b/sampleA-protocol/.gitignore similarity index 100% rename from module-a-api/.gitignore rename to sampleA-protocol/.gitignore diff --git a/module-a-api/build.gradle b/sampleA-protocol/build.gradle similarity index 100% rename from module-a-api/build.gradle rename to sampleA-protocol/build.gradle diff --git a/module-a-api/proguard-rules.pro b/sampleA-protocol/proguard-rules.pro similarity index 100% rename from module-a-api/proguard-rules.pro rename to sampleA-protocol/proguard-rules.pro diff --git a/sampleA-protocol/src/main/AndroidManifest.xml b/sampleA-protocol/src/main/AndroidManifest.xml new file mode 100755 index 0000000..0bffd4d --- /dev/null +++ b/sampleA-protocol/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/TestActivityRouter.java b/sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/TestActivityRouter.java old mode 100755 new mode 100644 similarity index 96% rename from module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/TestActivityRouter.java rename to sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/TestActivityRouter.java index f3776f2..8f1ad76 --- a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/TestActivityRouter.java +++ b/sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/TestActivityRouter.java @@ -1,9 +1,9 @@ -package cn.wzbos.android.rudolph.example.module_a_api; +package cn.wzbos.protocol.samplea; import android.util.Base64; -import cn.wzbos.android.rudolph.example.module_a_api.bean.Broker; -import cn.wzbos.android.rudolph.example.module_a_api.bean.User; import cn.wzbos.android.rudolph.router.ActivityRouter; +import cn.wzbos.protocol.samplea.bean.Broker; +import cn.wzbos.protocol.samplea.bean.User; import com.google.gson.Gson; import java.lang.CharSequence; import java.lang.Character; diff --git a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/bean/Broker.java b/sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/bean/Broker.java similarity index 94% rename from module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/bean/Broker.java rename to sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/bean/Broker.java index dd45a9e..8502e9f 100755 --- a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/bean/Broker.java +++ b/sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/bean/Broker.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a_api.bean; +package cn.wzbos.protocol.samplea.bean; import android.os.Parcel; import android.os.Parcelable; @@ -20,6 +20,7 @@ protected Broker(Parcel in) { age = in.readInt(); } + public static final Creator CREATOR = new Creator() { @Override public Broker createFromParcel(Parcel in) { diff --git a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/bean/User.java b/sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/bean/User.java similarity index 83% rename from module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/bean/User.java rename to sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/bean/User.java index 5a6a231..e78ba02 100755 --- a/module-a-api/src/main/java/cn/wzbos/android/rudolph/example/module_a_api/bean/User.java +++ b/sampleA-protocol/src/main/java/cn/wzbos/protocol/samplea/bean/User.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a_api.bean; +package cn.wzbos.protocol.samplea.bean; import java.io.Serializable; diff --git a/module-a/.gitignore b/sampleA/.gitignore similarity index 100% rename from module-a/.gitignore rename to sampleA/.gitignore diff --git a/module-a/build.gradle b/sampleA/build.gradle similarity index 83% rename from module-a/build.gradle rename to sampleA/build.gradle index b97c189..d4b7b55 100755 --- a/module-a/build.gradle +++ b/sampleA/build.gradle @@ -1,5 +1,6 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { @@ -13,8 +14,8 @@ android { javaCompileOptions { annotationProcessorOptions { arguments = [ - export_api_name : project.getName() + "-api", - export_api_package: "cn.wzbos.android.rudolph.example.module_a_api" + export_api_name : project.getName() + "-protocol", + export_api_package: "cn.wzbos.protocol.samplea" ] includeCompileClasspath = true } @@ -38,12 +39,13 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation "com.android.support:appcompat-v7:${versions.supportLib}" implementation "com.google.code.gson:gson:${versions.gson}" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}" + implementation project(':sampleA-protocol') + implementation project(':sampleB-protocol') + //rudolph implementation project(':rudolph') kapt project(':rudolph-compiler') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}" - implementation project(':module-a-api') - implementation project(':module-b-api') } repositories { diff --git a/module-a/proguard-rules.pro b/sampleA/proguard-rules.pro similarity index 100% rename from module-a/proguard-rules.pro rename to sampleA/proguard-rules.pro diff --git a/module-a/src/main/AndroidManifest.xml b/sampleA/src/main/AndroidManifest.xml similarity index 95% rename from module-a/src/main/AndroidManifest.xml rename to sampleA/src/main/AndroidManifest.xml index 79791d7..6ecfca8 100755 --- a/module-a/src/main/AndroidManifest.xml +++ b/sampleA/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="cn.wzbos.samplea"> diff --git a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/KotlinActivity.kt b/sampleA/src/main/java/cn/wzbos/samplea/KotlinActivity.kt similarity index 92% rename from module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/KotlinActivity.kt rename to sampleA/src/main/java/cn/wzbos/samplea/KotlinActivity.kt index b22a17c..d3ebc8e 100755 --- a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/KotlinActivity.kt +++ b/sampleA/src/main/java/cn/wzbos/samplea/KotlinActivity.kt @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a +package cn.wzbos.samplea import android.os.Bundle import android.support.v7.app.AppCompatActivity diff --git a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/MainActivity.java b/sampleA/src/main/java/cn/wzbos/samplea/MainActivity.java similarity index 91% rename from module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/MainActivity.java rename to sampleA/src/main/java/cn/wzbos/samplea/MainActivity.java index b192c23..d773c29 100755 --- a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/MainActivity.java +++ b/sampleA/src/main/java/cn/wzbos/samplea/MainActivity.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a; +package cn.wzbos.samplea; import android.content.Intent; import android.os.Bundle; @@ -15,12 +15,12 @@ import cn.wzbos.android.rudolph.Rudolph; import cn.wzbos.android.rudolph.annotations.Arg; import cn.wzbos.android.rudolph.annotations.Route; -import cn.wzbos.android.rudolph.example.module_a_api.TestActivityRouter; -import cn.wzbos.android.rudolph.example.module_a_api.bean.Broker; -import cn.wzbos.android.rudolph.example.module_a_api.bean.User; -import cn.wzbos.android.rudolph.example.module_b_api.ITestService; -import cn.wzbos.android.rudolph.example.module_b_api.TestServiceRouter; -import cn.wzbos.android.rudolph.example.module_b_api.UserActivityRouter; +import cn.wzbos.protocol.samplea.TestActivityRouter; +import cn.wzbos.protocol.samplea.bean.Broker; +import cn.wzbos.protocol.samplea.bean.User; +import cn.wzbos.protocol.sampleb.ITestService; +import cn.wzbos.protocol.sampleb.TestServiceRouter; +import cn.wzbos.protocol.sampleb.UserActivityRouter; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -145,8 +145,6 @@ public void onClick(View v) { @Override public void onClick(View v) { TestServiceRouter.get().showMessage(MainActivity.this, "Hello Provider!"); -// ITestService service = TestServiceRouter.builder().userId(1).userName("John").build().open(); -// service.showMessage(MainActivity.this, "Hello Provider!"); } }); diff --git a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestActivity.java b/sampleA/src/main/java/cn/wzbos/samplea/TestActivity.java similarity index 92% rename from module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestActivity.java rename to sampleA/src/main/java/cn/wzbos/samplea/TestActivity.java index 999a4fd..1d28269 100755 --- a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestActivity.java +++ b/sampleA/src/main/java/cn/wzbos/samplea/TestActivity.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a; +package cn.wzbos.samplea; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; @@ -6,9 +6,10 @@ import cn.wzbos.android.rudolph.Rudolph; import cn.wzbos.android.rudolph.annotations.Arg; +import cn.wzbos.android.rudolph.annotations.Export; import cn.wzbos.android.rudolph.annotations.Route; -import cn.wzbos.android.rudolph.example.module_a_api.bean.Broker; -import cn.wzbos.android.rudolph.example.module_a_api.bean.User; +import cn.wzbos.protocol.samplea.bean.Broker; +import cn.wzbos.protocol.samplea.bean.User; import java.lang.reflect.Field; import java.util.ArrayList; @@ -16,7 +17,8 @@ import static cn.wzbos.android.rudolph.Consts.RAW_URI; -@Route(value = "/activity/test", export = true) +@Route(value = "/activity/test") +@Export public class TestActivity extends AppCompatActivity { @Arg(RAW_URI) String routeUri; diff --git a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestComponent.java b/sampleA/src/main/java/cn/wzbos/samplea/TestComponent.java similarity index 89% rename from module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestComponent.java rename to sampleA/src/main/java/cn/wzbos/samplea/TestComponent.java index bc97a5c..c139cac 100755 --- a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestComponent.java +++ b/sampleA/src/main/java/cn/wzbos/samplea/TestComponent.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a; +package cn.wzbos.samplea; import android.app.Application; import android.widget.Toast; diff --git a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestFragment.java b/sampleA/src/main/java/cn/wzbos/samplea/TestFragment.java similarity index 95% rename from module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestFragment.java rename to sampleA/src/main/java/cn/wzbos/samplea/TestFragment.java index 0d6574f..28beae1 100755 --- a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestFragment.java +++ b/sampleA/src/main/java/cn/wzbos/samplea/TestFragment.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a; +package cn.wzbos.samplea; import android.os.Bundle; import android.support.annotation.Nullable; diff --git a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestMethod.java b/sampleA/src/main/java/cn/wzbos/samplea/TestMethod.java similarity index 89% rename from module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestMethod.java rename to sampleA/src/main/java/cn/wzbos/samplea/TestMethod.java index 1c341e3..2e52e65 100755 --- a/module-a/src/main/java/cn/wzbos/android/rudolph/example/module_a/TestMethod.java +++ b/sampleA/src/main/java/cn/wzbos/samplea/TestMethod.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_a; +package cn.wzbos.samplea; import android.content.Context; diff --git a/module-a/src/main/res/anim/in_left.xml b/sampleA/src/main/res/anim/in_left.xml similarity index 100% rename from module-a/src/main/res/anim/in_left.xml rename to sampleA/src/main/res/anim/in_left.xml diff --git a/module-a/src/main/res/anim/out_right.xml b/sampleA/src/main/res/anim/out_right.xml similarity index 100% rename from module-a/src/main/res/anim/out_right.xml rename to sampleA/src/main/res/anim/out_right.xml diff --git a/module-a/src/main/res/layout/activity_main.xml b/sampleA/src/main/res/layout/activity_main.xml similarity index 100% rename from module-a/src/main/res/layout/activity_main.xml rename to sampleA/src/main/res/layout/activity_main.xml diff --git a/module-a/src/main/res/layout/activity_test.xml b/sampleA/src/main/res/layout/activity_test.xml similarity index 100% rename from module-a/src/main/res/layout/activity_test.xml rename to sampleA/src/main/res/layout/activity_test.xml diff --git a/module-a/src/main/res/layout/activity_user.xml b/sampleA/src/main/res/layout/activity_user.xml similarity index 100% rename from module-a/src/main/res/layout/activity_user.xml rename to sampleA/src/main/res/layout/activity_user.xml diff --git a/module-a/src/main/res/layout/fragment_test.xml b/sampleA/src/main/res/layout/fragment_test.xml similarity index 100% rename from module-a/src/main/res/layout/fragment_test.xml rename to sampleA/src/main/res/layout/fragment_test.xml diff --git a/module-b-api/.gitignore b/sampleB-protocol/.gitignore similarity index 100% rename from module-b-api/.gitignore rename to sampleB-protocol/.gitignore diff --git a/module-b-api/build.gradle b/sampleB-protocol/build.gradle similarity index 100% rename from module-b-api/build.gradle rename to sampleB-protocol/build.gradle diff --git a/module-b-api/proguard-rules.pro b/sampleB-protocol/proguard-rules.pro similarity index 100% rename from module-b-api/proguard-rules.pro rename to sampleB-protocol/proguard-rules.pro diff --git a/sampleB-protocol/src/main/AndroidManifest.xml b/sampleB-protocol/src/main/AndroidManifest.xml new file mode 100755 index 0000000..26db47a --- /dev/null +++ b/sampleB-protocol/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/ITestService.java b/sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/ITestService.java similarity index 56% rename from module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/ITestService.java rename to sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/ITestService.java index 12839bd..6aa7834 100755 --- a/module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/ITestService.java +++ b/sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/ITestService.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_b_api; +package cn.wzbos.protocol.sampleb; import android.content.Context; import android.os.Bundle; @@ -9,7 +9,15 @@ * Generated code from Rudolph. Do not modify! */ public interface ITestService extends IRouteService { - void showMessage(Context context, String msg); + int getUserId(); + + void setUserId(int userId); + + String getUserName(); + + void setUserName(String userName); + + void showMessage(Context context, String msg); void init(Bundle bundle); } diff --git a/module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/TestServiceRouter.java b/sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/TestServiceRouter.java similarity index 91% rename from module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/TestServiceRouter.java rename to sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/TestServiceRouter.java index a744bb5..a9bd0b8 100755 --- a/module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/TestServiceRouter.java +++ b/sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/TestServiceRouter.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_b_api; +package cn.wzbos.protocol.sampleb; import cn.wzbos.android.rudolph.Rudolph; diff --git a/module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/UserActivityRouter.java b/sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/UserActivityRouter.java similarity index 92% rename from module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/UserActivityRouter.java rename to sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/UserActivityRouter.java index 86c6753..dedd888 100755 --- a/module-b-api/src/main/java/cn/wzbos/android/rudolph/example/module_b_api/UserActivityRouter.java +++ b/sampleB-protocol/src/main/java/cn/wzbos/protocol/sampleb/UserActivityRouter.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_b_api; +package cn.wzbos.protocol.sampleb; import cn.wzbos.android.rudolph.router.ActivityRouter; import java.lang.String; diff --git a/module-b/.gitignore b/sampleB/.gitignore similarity index 100% rename from module-b/.gitignore rename to sampleB/.gitignore diff --git a/module-b/build.gradle b/sampleB/build.gradle similarity index 88% rename from module-b/build.gradle rename to sampleB/build.gradle index 8e90a93..6e10444 100755 --- a/module-b/build.gradle +++ b/sampleB/build.gradle @@ -14,8 +14,8 @@ android { javaCompileOptions { annotationProcessorOptions { arguments = [ - export_api_name : project.getName() + "-api", - export_api_package: "cn.wzbos.android.rudolph.example.module_b_api" + export_api_name : project.getName() + "-protocol", + export_api_package: "cn.wzbos.protocol.sampleb" ] includeCompileClasspath = true } @@ -36,7 +36,7 @@ android { implementation "com.android.support:appcompat-v7:${versions.supportLib}" implementation project(':rudolph') kapt project(':rudolph-compiler') - implementation project(':module-b-api') + implementation project(':sampleB-protocol') implementation "com.google.code.gson:gson:${versions.gson}" } } \ No newline at end of file diff --git a/module-b/proguard-rules.pro b/sampleB/proguard-rules.pro similarity index 100% rename from module-b/proguard-rules.pro rename to sampleB/proguard-rules.pro diff --git a/module-b/src/main/AndroidManifest.xml b/sampleB/src/main/AndroidManifest.xml similarity index 76% rename from module-b/src/main/AndroidManifest.xml rename to sampleB/src/main/AndroidManifest.xml index bf54850..36696a6 100755 --- a/module-b/src/main/AndroidManifest.xml +++ b/sampleB/src/main/AndroidManifest.xml @@ -1,11 +1,11 @@ + package="cn.wzbos.sampleb"> diff --git a/module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/TestComponent.java b/sampleB/src/main/java/cn/wzbos/sampleb/TestComponent.java similarity index 89% rename from module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/TestComponent.java rename to sampleB/src/main/java/cn/wzbos/sampleb/TestComponent.java index 3857985..ecb4bf7 100755 --- a/module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/TestComponent.java +++ b/sampleB/src/main/java/cn/wzbos/sampleb/TestComponent.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_b; +package cn.wzbos.sampleb; import android.app.Application; import android.widget.Toast; diff --git a/module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/TestService.java b/sampleB/src/main/java/cn/wzbos/sampleb/TestService.java similarity index 55% rename from module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/TestService.java rename to sampleB/src/main/java/cn/wzbos/sampleb/TestService.java index a37c71f..2f84b03 100755 --- a/module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/TestService.java +++ b/sampleB/src/main/java/cn/wzbos/sampleb/TestService.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_b; +package cn.wzbos.sampleb; import android.content.Context; import android.os.Bundle; @@ -7,10 +7,12 @@ import cn.wzbos.android.rudolph.Rudolph; import cn.wzbos.android.rudolph.annotations.Arg; +import cn.wzbos.android.rudolph.annotations.Export; import cn.wzbos.android.rudolph.annotations.Route; -import cn.wzbos.android.rudolph.example.module_b_api.ITestService; +import cn.wzbos.protocol.sampleb.ITestService; -@Route(value = "/service/test", export = true, singleton = true, clazz = ITestService.class) +@Route(value = "/service/test", clazz = ITestService.class) +@Export(singleton = true) public class TestService implements ITestService { @Arg @@ -19,6 +21,24 @@ public class TestService implements ITestService { @Arg String userName; + @Override + public int getUserId() { + return userId; + } + + @Override + public void setUserId(int userId) { + this.userId = userId; + } + @Override + public String getUserName() { + return userName; + } + @Override + public void setUserName(String userName) { + this.userName = userName; + } + public void showMessage(Context context, String msg) { Toast.makeText(context, msg + "\nuserId:" + userId + ",userName:" + userName, Toast.LENGTH_SHORT).show(); } diff --git a/module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/UserActivity.java b/sampleB/src/main/java/cn/wzbos/sampleb/UserActivity.java similarity index 88% rename from module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/UserActivity.java rename to sampleB/src/main/java/cn/wzbos/sampleb/UserActivity.java index 605e601..b19ee79 100755 --- a/module-b/src/main/java/cn/wzbos/android/rudolph/example/module_b/UserActivity.java +++ b/sampleB/src/main/java/cn/wzbos/sampleb/UserActivity.java @@ -1,4 +1,4 @@ -package cn.wzbos.android.rudolph.example.module_b; +package cn.wzbos.sampleb; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; @@ -6,13 +6,15 @@ import cn.wzbos.android.rudolph.Rudolph; import cn.wzbos.android.rudolph.annotations.Arg; +import cn.wzbos.android.rudolph.annotations.Export; import cn.wzbos.android.rudolph.annotations.Route; import java.util.Locale; import static cn.wzbos.android.rudolph.Consts.RAW_URI; -@Route(value = "/user", export = true) +@Route(value = "/user") +@Export public class UserActivity extends AppCompatActivity { @Arg(RAW_URI) String routeUri; diff --git a/module-b/src/main/res/layout/activity_user.xml b/sampleB/src/main/res/layout/activity_user.xml similarity index 100% rename from module-b/src/main/res/layout/activity_user.xml rename to sampleB/src/main/res/layout/activity_user.xml diff --git a/settings.gradle b/settings.gradle index 4a1d5a7..00058f1 100755 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,8 @@ -include ':app', ':rudolph-compiler', ':rudolph-annotations', ':rudolph', ':module-a', ':module-a-api', ':module-b', ':module-b-api' +include ':app' +include ':rudolph-compiler' +include ':rudolph-annotations' +include ':rudolph' +include ':sampleA' +include ':sampleA-protocol' +include ':sampleB' +include ':sampleB-protocol'