From 088add4b84d3182e520482b1ab93064c01875631 Mon Sep 17 00:00:00 2001 From: MarcinMoskala Date: Fri, 21 Jul 2017 16:44:15 +0200 Subject: [PATCH] Add native Parceler support --- .../src/main/java/activitystarter/Arg.java | 3 + .../generation/ConverterGeneration.kt | 6 +- .../compiler/generation/ParcelerGeneration.kt | 12 +++ .../compiler/model/param/ArgumentModel.kt | 19 ++-- .../compiler/processing/ArgumentFactory.kt | 34 +++--- .../compiler/processing/ConverterFaktory.kt | 16 ++- .../.gitignore | 1 - .../build.gradle | 28 ----- .../proguard-rules.pro | 25 ----- .../src/main/AndroidManifest.xml | 1 - .../ParcelerArgConverter.java | 20 ---- .../src/main/res/values/strings.xml | 3 - .../ExampleUnitTest.java | 17 --- activitystarter/build.gradle | 1 - .../generation/ActivityWithConvertersTest.kt | 2 +- generationExamples/parceler/Simple | 91 ++++++++++++++++ .../ActivityWithObjectToParcelableConverter | 101 ------------------ sample/app/build.gradle | 1 - .../example/activitystarter/BaseActivity.java | 5 +- .../parceler/StudentParcelerActivity.java | 2 +- sample/kotlinapp/build.gradle | 1 - .../kotlinapp/DataActivityTest.kt | 7 +- .../marcinmoskala/kotlinapp/BaseActivity.kt | 3 - 23 files changed, 153 insertions(+), 246 deletions(-) create mode 100755 activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ParcelerGeneration.kt delete mode 100755 activitystarter-parceler-arg-converter/.gitignore delete mode 100755 activitystarter-parceler-arg-converter/build.gradle delete mode 100755 activitystarter-parceler-arg-converter/proguard-rules.pro delete mode 100755 activitystarter-parceler-arg-converter/src/main/AndroidManifest.xml delete mode 100755 activitystarter-parceler-arg-converter/src/main/java/com/marcinmoskala/activitystarterparcelerargconverter/ParcelerArgConverter.java delete mode 100755 activitystarter-parceler-arg-converter/src/main/res/values/strings.xml delete mode 100755 activitystarter-parceler-arg-converter/src/test/java/com/marcinmoskala/activitystarterparcelerargconverter/ExampleUnitTest.java create mode 100755 generationExamples/parceler/Simple delete mode 100755 generationExamples/withConverters/ActivityWithObjectToParcelableConverter diff --git a/activitystarter-annotations/src/main/java/activitystarter/Arg.java b/activitystarter-annotations/src/main/java/activitystarter/Arg.java index 48e8e1c..d3f8d49 100755 --- a/activitystarter-annotations/src/main/java/activitystarter/Arg.java +++ b/activitystarter-annotations/src/main/java/activitystarter/Arg.java @@ -1,5 +1,7 @@ package activitystarter; +import com.sun.org.apache.xpath.internal.operations.Bool; + import java.lang.annotation.Retention; import java.lang.annotation.Target; @@ -9,4 +11,5 @@ @Retention(CLASS) @Target(FIELD) public @interface Arg { String key() default ""; + boolean parceler() default false; } \ No newline at end of file diff --git a/activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ConverterGeneration.kt b/activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ConverterGeneration.kt index b30cfd5..e3cba6d 100755 --- a/activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ConverterGeneration.kt +++ b/activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ConverterGeneration.kt @@ -4,13 +4,11 @@ import activitystarter.compiler.model.ConverterModel class ConverterGeneration(val converter: ConverterModel) { - val converterName = converter.className - fun wrap( f: ()->String): String { - return "new $converterName().wrap(${f()})" + return "new ${converter.className}().wrap(${f()})" } fun unwrap( f: ()->String): String { - return "new $converterName().unwrap(${f()})" + return "new ${converter.className}().unwrap(${f()})" } } \ No newline at end of file diff --git a/activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ParcelerGeneration.kt b/activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ParcelerGeneration.kt new file mode 100755 index 0000000..feb6254 --- /dev/null +++ b/activitystarter-compiler/src/main/java/activitystarter/compiler/generation/ParcelerGeneration.kt @@ -0,0 +1,12 @@ +package activitystarter.compiler.generation + +class ParcelerGeneration() { + + fun wrap(f: () -> String): String { + return "org.parceler.Parcels.wrap(${f()})" + } + + fun unwrap(f: () -> String): String { + return "org.parceler.Parcels.unwrap(${f()})" + } +} \ No newline at end of file diff --git a/activitystarter-compiler/src/main/java/activitystarter/compiler/model/param/ArgumentModel.kt b/activitystarter-compiler/src/main/java/activitystarter/compiler/model/param/ArgumentModel.kt index 5189859..4234613 100755 --- a/activitystarter-compiler/src/main/java/activitystarter/compiler/model/param/ArgumentModel.kt +++ b/activitystarter-compiler/src/main/java/activitystarter/compiler/model/param/ArgumentModel.kt @@ -1,6 +1,7 @@ package activitystarter.compiler.model.param import activitystarter.compiler.generation.ConverterGeneration +import activitystarter.compiler.generation.ParcelerGeneration import activitystarter.compiler.model.ConverterModel import activitystarter.compiler.utils.camelCaseToUppercaseUnderscore import com.squareup.javapoet.TypeName @@ -11,20 +12,22 @@ class ArgumentModel( val paramType: ParamType, val typeName: TypeName, val saveParamType: ParamType, - val saveTypeName: TypeName, val isOptional: Boolean, val accessor: FieldAccessor, - private val converter: ConverterModel? + private val converter: ConverterModel?, + val parceler: Boolean ) { val fieldName: String by lazy { camelCaseToUppercaseUnderscore(name) + "_KEY" } - fun addUnwrapper(body: () -> String): String { - converter ?: return body() - return ConverterGeneration(converter).unwrap(body) + fun addUnwrapper(body: () -> String) = when { + parceler -> ParcelerGeneration().unwrap(body) + converter != null -> ConverterGeneration(converter).unwrap(body) + else -> body() } - fun addWrapper(body: () -> String): String { - converter ?: return body() - return ConverterGeneration(converter).wrap(body) + fun addWrapper(body: () -> String) = when { + parceler -> ParcelerGeneration().wrap(body) + converter != null -> ConverterGeneration(converter).wrap(body) + else -> body() } } \ No newline at end of file diff --git a/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ArgumentFactory.kt b/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ArgumentFactory.kt index 59456e1..9ba4b11 100755 --- a/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ArgumentFactory.kt +++ b/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ArgumentFactory.kt @@ -4,6 +4,7 @@ import activitystarter.Arg import activitystarter.Optional import activitystarter.compiler.error.Errors import activitystarter.compiler.error.error +import activitystarter.compiler.model.ConverterModel import activitystarter.compiler.model.ProjectConfig import activitystarter.compiler.model.classbinding.KnownClassType import activitystarter.compiler.model.param.ArgumentModel @@ -28,20 +29,29 @@ class ArgumentFactory(val enclosingElement: TypeElement, val config: ProjectConf return null } val name: String = element.simpleName.toString() - val keyFromAnnotation = element.getAnnotation(Arg::class.java)?.key + val annotation = element.getAnnotation(Arg::class.java) + val keyFromAnnotation = annotation?.key + val isParceler = annotation?.parceler ?: false val defaultKey = "$packageName.${name}StarterKey" val key: String = if (keyFromAnnotation.isNullOrBlank()) defaultKey else keyFromAnnotation!! val typeName: TypeName = TypeName.get(elementType) val isOptional: Boolean = element.getAnnotation(Optional::class.java) != null val accessor: FieldAccessor = FieldAccessor(element) - val converter = config.converterFor(elementType) - val saveParamType = converter?.toParamType ?: paramType - if(saveParamType == ParamType.ObjectSubtype) { + + val converter: ConverterModel? + val saveParamType: ParamType? + if (isParceler) { + converter = null + saveParamType = ParamType.ParcelableSubtype + } else { + converter = config.converterFor(elementType) + saveParamType = converter?.toParamType ?: paramType + } + if (saveParamType == ParamType.ObjectSubtype) { showProcessingError(element, Errors.notSupportedType) return null } - val saveTypeName = converter?.typeTo?.let { TypeName.get(it) } ?: typeName - return ArgumentModel(name, key, paramType, typeName, saveParamType, saveTypeName, isOptional, accessor, converter) + return ArgumentModel(name, key, paramType, typeName, saveParamType, isOptional, accessor, converter, isParceler) } private fun getFieldError(element: Element, knownClassType: KnownClassType, paramTypeNullable: ParamType?) = when { @@ -57,13 +67,13 @@ class ArgumentFactory(val enclosingElement: TypeElement, val config: ProjectConf error(enclosingElement, "@%s %s $text (%s)", Arg::class.java.simpleName, enclosingElement.qualifiedName, element.simpleName) } -class ProcessingError(override val message: String): Throwable(message) + class ProcessingError(override val message: String) : Throwable(message) -fun processElement(element: Element) { - fun throwError(message: String): Nothing - = throw ProcessingError("Error in element $element: $message") + fun processElement(element: Element) { + fun throwError(message: String): Nothing + = throw ProcessingError("Error in element $element: $message") -val enclosingElement = element.enclosingElement ?: throwError("Lack of enclosing element") -} + val enclosingElement = element.enclosingElement ?: throwError("Lack of enclosing element") + } } \ No newline at end of file diff --git a/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ConverterFaktory.kt b/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ConverterFaktory.kt index f38b2f8..1f222bc 100755 --- a/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ConverterFaktory.kt +++ b/activitystarter-compiler/src/main/java/activitystarter/compiler/processing/ConverterFaktory.kt @@ -8,14 +8,12 @@ import javax.lang.model.type.TypeMirror class ConverterFaktory { - fun create(converters: List): List { - return converters.mapNotNull { c -> - val typeElement = c.toTypeElement() ?: return@mapNotNull null - val declaredParentInterface = typeElement.interfaces?.get(0) as? DeclaredType - val genericTypes = declaredParentInterface?.typeArguments ?: return@mapNotNull null - val fromClass = genericTypes[0]!! - val toClass = genericTypes[1]!! - ConverterModel(c.toString(), fromClass, toClass) - } + fun create(converters: List): List = converters.mapNotNull { c -> + val typeElement = c.toTypeElement() ?: return@mapNotNull null + val declaredParentInterface = typeElement.interfaces?.get(0) as? DeclaredType + val genericTypes = declaredParentInterface?.typeArguments ?: return@mapNotNull null + val fromClass = genericTypes[0]!! + val toClass = genericTypes[1]!! + ConverterModel(c.toString(), fromClass, toClass) } } \ No newline at end of file diff --git a/activitystarter-parceler-arg-converter/.gitignore b/activitystarter-parceler-arg-converter/.gitignore deleted file mode 100755 index 796b96d..0000000 --- a/activitystarter-parceler-arg-converter/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/activitystarter-parceler-arg-converter/build.gradle b/activitystarter-parceler-arg-converter/build.gradle deleted file mode 100755 index e14dcd0..0000000 --- a/activitystarter-parceler-arg-converter/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -buildscript { - dependencies { - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' - } -} - -apply plugin: 'java' -apply plugin: 'com.github.dcendents.android-maven' - -group='com.github.marcinmoskala' - -def logger = new com.android.build.gradle.internal.LoggerWrapper(project.logger) -def sdkHandler = new com.android.build.gradle.internal.SdkHandler(project, logger) -for (File file : sdkHandler.sdkLoader.repositories) { - repositories.maven { - url = file.toURI() - } -} - -sourceCompatibility = rootProject.ext.sourceCompatibilityVersion -targetCompatibility = rootProject.ext.targetCompatibilityVersion - -dependencies { - compileOnly deps.android - compile project(':activitystarter-annotations') - compile deps.parceler - testCompile deps.junit -} diff --git a/activitystarter-parceler-arg-converter/proguard-rules.pro b/activitystarter-parceler-arg-converter/proguard-rules.pro deleted file mode 100755 index ed7865d..0000000 --- a/activitystarter-parceler-arg-converter/proguard-rules.pro +++ /dev/null @@ -1,25 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in C:\Users\marci\AppData\Local\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 *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/activitystarter-parceler-arg-converter/src/main/AndroidManifest.xml b/activitystarter-parceler-arg-converter/src/main/AndroidManifest.xml deleted file mode 100755 index 343376a..0000000 --- a/activitystarter-parceler-arg-converter/src/main/AndroidManifest.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/activitystarter-parceler-arg-converter/src/main/java/com/marcinmoskala/activitystarterparcelerargconverter/ParcelerArgConverter.java b/activitystarter-parceler-arg-converter/src/main/java/com/marcinmoskala/activitystarterparcelerargconverter/ParcelerArgConverter.java deleted file mode 100755 index fc571db..0000000 --- a/activitystarter-parceler-arg-converter/src/main/java/com/marcinmoskala/activitystarterparcelerargconverter/ParcelerArgConverter.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.marcinmoskala.activitystarterparcelerargconverter; - -import android.os.Parcelable; - -import org.parceler.Parcels; - -import activitystarter.wrapping.ArgConverter; - -public class ParcelerArgConverter implements ArgConverter { - - @Override - public Parcelable wrap(Object toWrap) { - return Parcels.wrap(toWrap); - } - - @Override - public Object unwrap(Parcelable wrapped) { - return Parcels.unwrap(wrapped); - } -} diff --git a/activitystarter-parceler-arg-converter/src/main/res/values/strings.xml b/activitystarter-parceler-arg-converter/src/main/res/values/strings.xml deleted file mode 100755 index 189fbaa..0000000 --- a/activitystarter-parceler-arg-converter/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - activitystarter-parceler-arg-wrapper - diff --git a/activitystarter-parceler-arg-converter/src/test/java/com/marcinmoskala/activitystarterparcelerargconverter/ExampleUnitTest.java b/activitystarter-parceler-arg-converter/src/test/java/com/marcinmoskala/activitystarterparcelerargconverter/ExampleUnitTest.java deleted file mode 100755 index 5a7db9e..0000000 --- a/activitystarter-parceler-arg-converter/src/test/java/com/marcinmoskala/activitystarterparcelerargconverter/ExampleUnitTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.marcinmoskala.activitystarterparcelerargconverter; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see Testing documentation - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() throws Exception { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file diff --git a/activitystarter/build.gradle b/activitystarter/build.gradle index 0116ca0..42d2c3d 100755 --- a/activitystarter/build.gradle +++ b/activitystarter/build.gradle @@ -46,7 +46,6 @@ dependencies { testCompile files(getRuntimeJar()) testCompile files(Jvm.current().getToolsJar()) testCompile project(':activitystarter-compiler') - testCompile project(':activitystarter-parceler-arg-converter') testCompile deps.kotlin testCompile deps.kotlin_junit testCompile deps.parceler diff --git a/activitystarter/src/test/java/activitystarter/generation/ActivityWithConvertersTest.kt b/activitystarter/src/test/java/activitystarter/generation/ActivityWithConvertersTest.kt index 4bfd6d1..823e70e 100755 --- a/activitystarter/src/test/java/activitystarter/generation/ActivityWithConvertersTest.kt +++ b/activitystarter/src/test/java/activitystarter/generation/ActivityWithConvertersTest.kt @@ -13,6 +13,6 @@ class ActivityWithConvertersTest: GenerationTest() { @Test fun toParcelableConversionTest() { - filePrecessingComparator("withConverters/ActivityWithObjectToParcelableConverter") + filePrecessingComparator("parceler/Simple") } } \ No newline at end of file diff --git a/generationExamples/parceler/Simple b/generationExamples/parceler/Simple new file mode 100755 index 0000000..e64b415 --- /dev/null +++ b/generationExamples/parceler/Simple @@ -0,0 +1,91 @@ +********com.example.activitystarter.MainActivity******** +package com.example.activitystarter; +import android.app.Activity; +import activitystarter.Arg; +import org.parceler.Parcel; + +public class MainActivity extends Activity { + + @Arg(parceler = true) StudentParcel studentParceler; + + @Parcel + public static class StudentParcel { + + private int id; + private String name; + private char grade; + + public StudentParcel() { + } + + public StudentParcel(int id, String name, char grade) { + this.id = id; + this.name = name; + this.grade = grade; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public char getGrade() { + return grade; + } + + public void setGrade(char grade) { + this.grade = grade; + } + } +} +********com.example.activitystarter.MainActivityStarter******** +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import java.lang.String; + +public final class MainActivityStarter { + private static final String STUDENT_PARCELER_KEY = "com.example.activitystarter.studentParcelerStarterKey"; + + public static void fill(MainActivity activity, Bundle savedInstanceState) { + Intent intent = activity.getIntent(); + if(savedInstanceState != null && savedInstanceState.containsKey(STUDENT_PARCELER_KEY)) { + activity.studentParceler = (MainActivity.StudentParcel) org.parceler.Parcels.unwrap(savedInstanceState.getParcelable(STUDENT_PARCELER_KEY)); + } else if(intent.hasExtra(STUDENT_PARCELER_KEY)) + activity.studentParceler = (MainActivity.StudentParcel) org.parceler.Parcels.unwrap(intent.getParcelableExtra(STUDENT_PARCELER_KEY)); + } + + public static void save(MainActivity activity, Bundle bundle) { + bundle.putParcelable(STUDENT_PARCELER_KEY, org.parceler.Parcels.wrap(activity.studentParceler)); + } + + public static Intent getIntent(Context context, MainActivity.StudentParcel studentParceler) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra(STUDENT_PARCELER_KEY, org.parceler.Parcels.wrap(studentParceler)); + return intent; + } + + public static void start(Context context, MainActivity.StudentParcel studentParceler) { + Intent intent = getIntent(context, studentParceler); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, MainActivity.StudentParcel studentParceler, int flags) { + Intent intent = getIntent(context, studentParceler); + intent.addFlags(flags); + context.startActivity(intent); + } +} \ No newline at end of file diff --git a/generationExamples/withConverters/ActivityWithObjectToParcelableConverter b/generationExamples/withConverters/ActivityWithObjectToParcelableConverter deleted file mode 100755 index 7e331df..0000000 --- a/generationExamples/withConverters/ActivityWithObjectToParcelableConverter +++ /dev/null @@ -1,101 +0,0 @@ -********com.example.activitystarter.ActivityWithConverters******** -package com.example.activitystarter; - -import android.app.Activity; - -import com.marcinmoskala.activitystarterparcelerargconverter.ParcelerArgConverter; - -import org.parceler.Parcel; - -import activitystarter.ActivityStarterConfig; -import activitystarter.Arg; - -@ActivityStarterConfig(converters = {ParcelerArgConverter.class}) -public class ActivityWithConverters extends Activity { - @Arg - StudentParcel studentParceler; - - @Parcel - public static class StudentParcel { - - private int id; - private String name; - private char grade; - - public StudentParcel() { - } - - public StudentParcel(int id, String name, char grade) { - this.id = id; - this.name = name; - this.grade = grade; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public char getGrade() { - return grade; - } - - public void setGrade(char grade) { - this.grade = grade; - } - } -} - -********com.example.activitystarter.MainActivityStarter******** -package com.example.activitystarter; - -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import java.lang.String; - -public final class ActivityWithConvertersStarter { - private static final String STUDENT_PARCELER_KEY = "com.example.activitystarter.studentParcelerStarterKey"; - - /** - * This is method used to fill fields. Use it by calling ActivityStarter.fill(this). */ - public static void fill(ActivityWithConverters activity, Bundle savedInstanceState) { - Intent intent = activity.getIntent(); - if(savedInstanceState != null && savedInstanceState.containsKey(STUDENT_PARCELER_KEY)) { - activity.studentParceler = (ActivityWithConverters.StudentParcel) new com.marcinmoskala.activitystarterparcelerargconverter.ParcelerArgConverter().unwrap(savedInstanceState.getParcelable(STUDENT_PARCELER_KEY)); - } else if(intent.hasExtra(STUDENT_PARCELER_KEY)) - activity.studentParceler = (ActivityWithConverters.StudentParcel) new com.marcinmoskala.activitystarterparcelerargconverter.ParcelerArgConverter().unwrap(intent.getParcelableExtra(STUDENT_PARCELER_KEY)); - } - - public static void save(ActivityWithConverters activity, Bundle bundle) { - bundle.putParcelable(STUDENT_PARCELER_KEY, new com.marcinmoskala.activitystarterparcelerargconverter.ParcelerArgConverter().wrap(activity.studentParceler)); - } - - public static Intent getIntent(Context context, ActivityWithConverters.StudentParcel studentParceler) { - Intent intent = new Intent(context, ActivityWithConverters.class); - intent.putExtra(STUDENT_PARCELER_KEY, new com.marcinmoskala.activitystarterparcelerargconverter.ParcelerArgConverter().wrap(studentParceler)); - return intent; - } - - public static void start(Context context, ActivityWithConverters.StudentParcel studentParceler) { - Intent intent = getIntent(context, studentParceler); - context.startActivity(intent); - } - - public static void startWithFlags(Context context, ActivityWithConverters.StudentParcel studentParceler, int flags) { - Intent intent = getIntent(context, studentParceler); - intent.addFlags(flags); - context.startActivity(intent); - } -} \ No newline at end of file diff --git a/sample/app/build.gradle b/sample/app/build.gradle index 2195175..40035b2 100755 --- a/sample/app/build.gradle +++ b/sample/app/build.gradle @@ -25,7 +25,6 @@ android { dependencies { compile project(':activitystarter') annotationProcessor project(':activitystarter-compiler') - compile project(':activitystarter-parceler-arg-converter') // In real project use this: // compile 'com.github.marcinmoskala.activitystarter:activitystarter:0.50' diff --git a/sample/app/src/main/java/com/example/activitystarter/BaseActivity.java b/sample/app/src/main/java/com/example/activitystarter/BaseActivity.java index 98aae44..f713e55 100755 --- a/sample/app/src/main/java/com/example/activitystarter/BaseActivity.java +++ b/sample/app/src/main/java/com/example/activitystarter/BaseActivity.java @@ -3,12 +3,9 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import com.marcinmoskala.activitystarterparcelerargconverter.ParcelerArgConverter; - import activitystarter.ActivityStarter; -import activitystarter.ActivityStarterConfig; -@ActivityStarterConfig(converters = { ParcelerArgConverter.class }) + public class BaseActivity extends AppCompatActivity { @Override diff --git a/sample/app/src/main/java/com/example/activitystarter/parceler/StudentParcelerActivity.java b/sample/app/src/main/java/com/example/activitystarter/parceler/StudentParcelerActivity.java index 019e6d5..37f5d9f 100755 --- a/sample/app/src/main/java/com/example/activitystarter/parceler/StudentParcelerActivity.java +++ b/sample/app/src/main/java/com/example/activitystarter/parceler/StudentParcelerActivity.java @@ -17,7 +17,7 @@ @MakeActivityStarter public class StudentParcelerActivity extends BaseActivity { - @Arg StudentParceler student; + @Arg(parceler = true) StudentParceler student; @BindView(R.id.student_name) EditText studentNameView; @BindView(R.id.student_id) EditText studentIdView; diff --git a/sample/kotlinapp/build.gradle b/sample/kotlinapp/build.gradle index 8bc441a..4b10b26 100755 --- a/sample/kotlinapp/build.gradle +++ b/sample/kotlinapp/build.gradle @@ -31,7 +31,6 @@ android { dependencies { compile project(':activitystarter') kapt project(':activitystarter-compiler') - compile project(':activitystarter-parceler-arg-converter') // On local project use: // compile 'com.github.marcinmoskala.activitystarter:activitystarter:0.50' diff --git a/sample/kotlinapp/src/androidTest/java/com/marcinmoskala/kotlinapp/DataActivityTest.kt b/sample/kotlinapp/src/androidTest/java/com/marcinmoskala/kotlinapp/DataActivityTest.kt index 2ee862c..ed6076b 100755 --- a/sample/kotlinapp/src/androidTest/java/com/marcinmoskala/kotlinapp/DataActivityTest.kt +++ b/sample/kotlinapp/src/androidTest/java/com/marcinmoskala/kotlinapp/DataActivityTest.kt @@ -1,17 +1,14 @@ package com.marcinmoskala.kotlinapp -import android.content.Intent import android.os.RemoteException import android.support.test.runner.AndroidJUnit4 import android.test.suitebuilder.annotation.LargeTest - import org.junit.Assert -import org.junit.Test -import org.junit.runner.RunWith - import org.junit.Assert.assertEquals import org.junit.Assert.assertNotEquals +import org.junit.Test +import org.junit.runner.RunWith @LargeTest @RunWith(AndroidJUnit4::class) diff --git a/sample/kotlinapp/src/main/java/com/marcinmoskala/kotlinapp/BaseActivity.kt b/sample/kotlinapp/src/main/java/com/marcinmoskala/kotlinapp/BaseActivity.kt index 297201c..52b3a05 100755 --- a/sample/kotlinapp/src/main/java/com/marcinmoskala/kotlinapp/BaseActivity.kt +++ b/sample/kotlinapp/src/main/java/com/marcinmoskala/kotlinapp/BaseActivity.kt @@ -1,12 +1,9 @@ package com.marcinmoskala.kotlinapp import activitystarter.ActivityStarter -import activitystarter.ActivityStarterConfig import android.os.Bundle import android.support.v7.app.AppCompatActivity -import com.marcinmoskala.activitystarterparcelerargconverter.ParcelerArgConverter -@ActivityStarterConfig(converters = arrayOf(ParcelerArgConverter::class)) open class BaseActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) {