diff --git a/activitystarter-compiler/src/main/java/activitystarter/compiler/DifferentVariantsFun.kt b/activitystarter-compiler/src/main/java/activitystarter/compiler/DifferentVariantsFun.kt index f966729..11e00a8 100644 --- a/activitystarter-compiler/src/main/java/activitystarter/compiler/DifferentVariantsFun.kt +++ b/activitystarter-compiler/src/main/java/activitystarter/compiler/DifferentVariantsFun.kt @@ -3,11 +3,11 @@ package activitystarter.compiler fun List.createSublists(isSplitter: (T) -> Boolean): List> = when { size == 0 -> listOf(listOf()) none { isSplitter(it) } -> listOf(this) - size == 1 -> listOf(listOf(first()), listOf()) - isSplitter(first()) -> sublistFromRest(isSplitter) - .flatMap { listOf(it, listOf(first()) + it) } + size == 1 -> listOf(this, listOf()) + isSplitter(last()) -> sublistFromRest(isSplitter) + .flatMap { listOf(it + last(), it) } else -> sublistFromRest(isSplitter) - .map { listOf(first()) + it } + .map { it + last() } } -private fun List.sublistFromRest(isSplitter: (T) -> Boolean) = drop(1).createSublists(isSplitter) \ No newline at end of file +private fun List.sublistFromRest(isSplitter: (T) -> Boolean) = dropLast(1).createSublists(isSplitter) \ No newline at end of file diff --git a/activitystarter-compiler/src/test/java/activitystarter/compiler/DifferentVariantsFunKtTest.kt b/activitystarter-compiler/src/test/java/activitystarter/compiler/DifferentVariantsFunKtTest.kt index ec7bed9..5585d38 100644 --- a/activitystarter-compiler/src/test/java/activitystarter/compiler/DifferentVariantsFunKtTest.kt +++ b/activitystarter-compiler/src/test/java/activitystarter/compiler/DifferentVariantsFunKtTest.kt @@ -11,6 +11,11 @@ class DifferentVariantsFunKtTest { assertEquals(listOf(listOf()), listOf().createSublists { it % 2 == 0 }) } + @Test + fun testOrderCreateSublists() { + assertEquals(listOf(listOf(1,2),listOf(1),listOf(2), listOf()), listOf(1,2).createSublists { true }) + } + @Test fun testCreateSublists() { assertEquals(setOf(listOf(1, 2, 3), listOf(1, 3)), listOf(1, 2, 3).createSublists { it % 2 == 0 }.toSet()) diff --git a/activitystarter/src/test/java/activitystarter/ActivityGenerationTest.kt b/activitystarter/src/test/java/activitystarter/ActivityGenerationTest.kt index 7dd968e..e26971a 100644 --- a/activitystarter/src/test/java/activitystarter/ActivityGenerationTest.kt +++ b/activitystarter/src/test/java/activitystarter/ActivityGenerationTest.kt @@ -6,196 +6,31 @@ class ActivityGenerationTest: GenerationTest() { @Test fun simpleGenerationTest() { - val beforeProcess = "com.example.activitystarter.MainActivity" to """ -package com.example.activitystarter; - -import android.app.Activity; -import activitystarter.MakeActivityStarter; - -@MakeActivityStarter -public class MainActivity extends Activity {} - """ - - val afterProcess = "com.example.activitystarter.MainActivityStarter" to """ -// Generated code from ActivityStarter. Do not modify! -package com.example.activitystarter; - -import android.content.Context; -import android.content.Intent; - -public final class MainActivityStarter { - - public static void fill(MainActivity activity) { - } - - public static Intent getIntent(Context context) { - Intent intent = new Intent(context, MainActivity.class); - return intent; - } - - public static void start(Context context) { - Intent intent = getIntent(context); - context.startActivity(intent); - } - - public static void startWithFlags(Context context, int flags) { - Intent intent = getIntent(context); - intent.addFlags(flags); - context.startActivity(intent); - } -} - """ - - processingComparator(beforeProcess, afterProcess) + filePrecessingComparator("activity/EmptyAnnotated") } @Test fun singleArgGenerationTest() { - val beforeProcess = "com.example.activitystarter.MainActivity" to """ -package com.example.activitystarter; -import android.app.Activity; -import activitystarter.Arg; - -public class MainActivity extends Activity { - @Arg String name; -} - """ - - val afterProcess = "com.example.activitystarter.MainActivityStarter" to """ -// Generated code from ActivityStarter. Do not modify! -package com.example.activitystarter; - -import android.content.Context; -import android.content.Intent; -import java.lang.String; - -public final class MainActivityStarter { - - public static void fill(MainActivity activity) { - Intent intent = activity.getIntent(); - if(intent.hasExtra("nameStarterKey")) activity.name = intent.getStringExtra("nameStarterKey"); - } - - public static Intent getIntent(Context context, String name) { - Intent intent = new Intent(context, MainActivity.class); - intent.putExtra("nameStarterKey", name); - return intent; - } - - public static void start(Context context, String name) { - Intent intent = getIntent(context, name); - context.startActivity(intent); - } - - public static void startWithFlags(Context context, String name, int flags) { - Intent intent = getIntent(context, name); - intent.addFlags(flags); - context.startActivity(intent); - } -} - """.trimMargin() - - processingComparator(beforeProcess, afterProcess) + filePrecessingComparator("activity/SimpleGeneration") } @Test fun optionalArgGenerationTest() { - val beforeProcess = "com.example.activitystarter.MainActivity" to """ -package com.example.activitystarter; -import android.app.Activity; -import activitystarter.Arg; -import activitystarter.Optional; - -public class MainActivity extends Activity { - @Arg @Optional String name; - @Arg @Optional int id; -} - """ - - val afterProcess = "com.example.activitystarter.MainActivityStarter" to """ -package com.example.activitystarter; - -import android.content.Context; -import android.content.Intent; -import java.lang.String; - -public final class MainActivityStarter { - public static void fill(MainActivity activity) { - Intent intent = activity.getIntent(); - if(intent.hasExtra("nameStarterKey")) activity.name = intent.getStringExtra("nameStarterKey"); - if(intent.hasExtra("idStarterKey")) activity.id = intent.getIntExtra("idStarterKey", -1); - } - - public static Intent getIntent(Context context, int id) { - Intent intent = new Intent(context, MainActivity.class); - intent.putExtra("idStarterKey", id); - return intent; - } - - public static void start(Context context, int id) { - Intent intent = getIntent(context, id); - context.startActivity(intent); - } - - public static void startWithFlags(Context context, int id, int flags) { - Intent intent = getIntent(context, id); - intent.addFlags(flags); - context.startActivity(intent); - } - - public static Intent getIntent(Context context, String name, int id) { - Intent intent = new Intent(context, MainActivity.class); - intent.putExtra("nameStarterKey", name); - intent.putExtra("idStarterKey", id); - return intent; - } - - public static void start(Context context, String name, int id) { - Intent intent = getIntent(context, name, id); - context.startActivity(intent); - } - - public static void startWithFlags(Context context, String name, int id, int flags) { - Intent intent = getIntent(context, name, id); - intent.addFlags(flags); - context.startActivity(intent); - } - - public static Intent getIntent(Context context) { - Intent intent = new Intent(context, MainActivity.class); - return intent; - } - - public static void start(Context context) { - Intent intent = getIntent(context); - context.startActivity(intent); - } - - public static void startWithFlags(Context context, int flags) { - Intent intent = getIntent(context); - intent.addFlags(flags); - context.startActivity(intent); - } - - public static Intent getIntent(Context context, String name) { - Intent intent = new Intent(context, MainActivity.class); - intent.putExtra("nameStarterKey", name); - return intent; - } + filePrecessingComparator("activity/Optional") + } - public static void start(Context context, String name) { - Intent intent = getIntent(context, name); - context.startActivity(intent); - } + @Test + fun multipleOptionalArgGenerationTest() { + filePrecessingComparator("activity/MultipleOptional") + } - public static void startWithFlags(Context context, String name, int flags) { - Intent intent = getIntent(context, name); - intent.addFlags(flags); - context.startActivity(intent); - } -} - """.trimMargin() + @Test + fun conflictedOptionalArgGenerationTest() { + filePrecessingComparator("activity/ConflictedOptional") + } - processingComparator(beforeProcess, afterProcess) + @Test + fun allGenerationTest() { + dirPrecessingComparator("activity") } } \ No newline at end of file diff --git a/activitystarter/src/test/java/activitystarter/FragmentGenerationTest.kt b/activitystarter/src/test/java/activitystarter/FragmentGenerationTest.kt index aee8981..0986723 100644 --- a/activitystarter/src/test/java/activitystarter/FragmentGenerationTest.kt +++ b/activitystarter/src/test/java/activitystarter/FragmentGenerationTest.kt @@ -14,134 +14,21 @@ class FragmentGenerationTest: GenerationTest() { @Test fun simpleGenerationTest() { - val beforeProcess = "com.example.activitystarter.MainFragment" to """ -package com.example.activitystarter; - -import android.app.Fragment; - -import activitystarter.MakeActivityStarter; - -@MakeActivityStarter -public class MainFragment extends Fragment {} - """ - - val afterProcess = "com.example.activitystarter.MainFragmentStarter" to """ -package com.example.activitystarter; - -public final class MainFragmentStarter { - public static void fill(MainFragment fragment) { - } - - public static MainFragment newInstance() { - MainFragment fragment = new MainFragment(); - return fragment; - } -} - """ - - processingComparator(beforeProcess, afterProcess) + filePrecessingComparator("fragment/EmptyAnnotated") } @Test fun singleArgGenerationTest() { - val beforeProcess = "com.example.activitystarter.MainFragment" to """ -package com.example.activitystarter; - -import android.app.Fragment; - -import activitystarter.Arg; - -public class MainFragment extends Fragment { - @Arg String name; -} - """ - - val afterProcess = "com.example.activitystarter.MainFragmentStarter" to """ -package com.example.activitystarter; - -import android.os.Bundle; -import java.lang.String; - -public final class MainFragmentStarter { - public static void fill(MainFragment fragment) { - Bundle arguments = fragment.getArguments(); - if(arguments.containsKey("nameStarterKey")) fragment.name = arguments.getString("nameStarterKey"); - } - - public static MainFragment newInstance(String name) { - MainFragment fragment = new MainFragment(); - Bundle args = new Bundle(); - args.putString("nameStarterKey", name); - fragment.setArguments(args); - return fragment; - } -} - """.trimMargin() - - processingComparator(beforeProcess, afterProcess) + filePrecessingComparator("fragment/SimpleGeneration") } @Test - fun optionalArgGenerationTest() { - val beforeProcess = "com.example.activitystarter.MainFragment" to """ -package com.example.activitystarter; - -import android.app.Fragment; - -import activitystarter.Arg; -import activitystarter.Optional; - -public class MainFragment extends Fragment { - @Arg @Optional String name; - @Arg @Optional int id; -} - """ - - val afterProcess = "com.example.activitystarter.MainFragmentStarter" to """ -package com.example.activitystarter; - -import android.os.Bundle; -import java.lang.String; - -public final class MainFragmentStarter { - public static void fill(MainFragment fragment) { - Bundle arguments = fragment.getArguments(); - if(arguments.containsKey("nameStarterKey")) fragment.name = arguments.getString("nameStarterKey"); - if(arguments.containsKey("idStarterKey")) fragment.id = arguments.getInt("idStarterKey", -1); - } - - public static MainFragment newInstance(int id) { - MainFragment fragment = new MainFragment(); - Bundle args = new Bundle(); - args.putInt("idStarterKey", id); - fragment.setArguments(args); - return fragment; - } - - public static MainFragment newInstance(String name, int id) { - MainFragment fragment = new MainFragment(); - Bundle args = new Bundle(); - args.putString("nameStarterKey", name); - args.putInt("idStarterKey", id); - fragment.setArguments(args); - return fragment; - } - - public static MainFragment newInstance() { - MainFragment fragment = new MainFragment(); - return fragment; - } - - public static MainFragment newInstance(String name) { - MainFragment fragment = new MainFragment(); - Bundle args = new Bundle(); - args.putString("nameStarterKey", name); - fragment.setArguments(args); - return fragment; - } -} - """.trimMargin() + fun multipleOptionalArgGenerationTest() { + filePrecessingComparator("fragment/MultipleOptional") + } - processingComparator(beforeProcess, afterProcess) + @Test + fun allGenerationTest() { + dirPrecessingComparator("fragment") } } \ No newline at end of file diff --git a/activitystarter/src/test/java/activitystarter/GenerationTest.kt b/activitystarter/src/test/java/activitystarter/GenerationTest.kt index 5e585c6..72ac156 100644 --- a/activitystarter/src/test/java/activitystarter/GenerationTest.kt +++ b/activitystarter/src/test/java/activitystarter/GenerationTest.kt @@ -5,9 +5,27 @@ import com.google.common.truth.Truth import com.google.testing.compile.JavaFileObjects import com.google.testing.compile.JavaSourceSubjectFactory import com.google.testing.compile.JavaSourcesSubject +import java.io.File import javax.tools.JavaFileObject abstract class GenerationTest() { + + fun filePrecessingComparator(fileName: String) { + val gen = File("../generationExamples/$fileName").readText().split("********") + // gen[0] is empty + val beforeProcess = gen[1] to gen[2] + val afterProcess = gen[3] to gen[4] + + processingComparator(beforeProcess, afterProcess) + } + + fun dirPrecessingComparator(dirName: String) { + File("../generationExamples/$dirName/").walkTopDown().forEach { + if(it.isDirectory) return@forEach + filePrecessingComparator("$dirName/${it.name}") + } + } + fun processingComparator(beforeProcess: Pair, afterProcess: Pair) { val source = JavaFileObjects.forSourceString(beforeProcess.first, beforeProcess.second) val bindingSource = JavaFileObjects.forSourceString(afterProcess.first, afterProcess.second) diff --git a/activitystarter/src/test/java/activitystarter/ServiceGenerationTest.kt b/activitystarter/src/test/java/activitystarter/ServiceGenerationTest.kt index 9c6966f..1c0e90b 100644 --- a/activitystarter/src/test/java/activitystarter/ServiceGenerationTest.kt +++ b/activitystarter/src/test/java/activitystarter/ServiceGenerationTest.kt @@ -6,106 +6,16 @@ class ServiceGenerationTest: GenerationTest() { @Test fun simpleGenerationTest() { - val beforeProcess = "com.example.activitystarter.SomeService" to """ -package com.example.activitystarter; - -import android.app.Service; -import android.content.Intent; -import android.os.IBinder; -import android.support.annotation.Nullable; - -import activitystarter.Arg; -import activitystarter.MakeActivityStarter; - -@MakeActivityStarter -public class SomeService extends Service { - - @Nullable - @Override - public IBinder onBind(Intent intent) { - return null; - } -} - """ - - val afterProcess = "com.example.activitystarter.SomeService" to """ -// Generated code from ActivityStarter. Do not modify! -package com.example.activitystarter; - -import android.content.Context; -import android.content.Intent; - -public final class SomeServiceStarter { - public static void fill(SomeService service, Intent intent) { - } - - public static Intent getIntent(Context context) { - Intent intent = new Intent(context, SomeService.class); - return intent; - } - - public static void start(Context context) { - Intent intent = getIntent(context); - context.startService(intent); - } -} - """ - - processingComparator(beforeProcess, afterProcess) + filePrecessingComparator("service/EmptyAnnotated") } @Test fun singleArgGenerationTest() { - val beforeProcess = "com.example.activitystarter.SomeService" to """ -package com.example.activitystarter; - -import android.app.Service; -import android.content.Intent; -import android.os.IBinder; -import android.support.annotation.Nullable; - -import activitystarter.Arg; -import activitystarter.MakeActivityStarter; - -@MakeActivityStarter -public class SomeService extends Service { - - @Arg String name = ""; - - @Nullable - @Override - public IBinder onBind(Intent intent) { - return null; + filePrecessingComparator("service/SimpleGeneration") } -} - """ - - val afterProcess = "com.example.activitystarter.SomeService" to """ -// Generated code from ActivityStarter. Do not modify! -package com.example.activitystarter; -import android.content.Context; -import android.content.Intent; -import java.lang.String; - -public final class SomeServiceStarter { - public static void fill(SomeService service, Intent intent) { - if(intent.hasExtra("nameStarterKey")) service.name = intent.getStringExtra("nameStarterKey"); - } - - public static Intent getIntent(Context context, String name) { - Intent intent = new Intent(context, SomeService.class); - intent.putExtra("nameStarterKey", name); - return intent; - } - - public static void start(Context context, String name) { - Intent intent = getIntent(context, name); - context.startService(intent); - } -} - """.trimMargin() - - processingComparator(beforeProcess, afterProcess) + @Test + fun allGenerationTest() { + dirPrecessingComparator("service") } } \ No newline at end of file diff --git a/generationExamples/activity/ConflictedOptional b/generationExamples/activity/ConflictedOptional new file mode 100644 index 0000000..d2fd2ee --- /dev/null +++ b/generationExamples/activity/ConflictedOptional @@ -0,0 +1,76 @@ +********com.example.activitystarter.MainActivity******** + package com.example.activitystarter; + import android.app.Activity; + import activitystarter.Arg; + import activitystarter.Optional; + + public class MainActivity extends Activity { + @Arg @Optional String name; + @Arg @Optional String surname; + } +********com.example.activitystarter.MainActivityStarter******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; +import java.lang.String; + +public final class MainActivityStarter { + public static void fill(MainActivity activity) { + Intent intent = activity.getIntent(); + if(intent.hasExtra("nameStarterKey")) activity.name = intent.getStringExtra("nameStarterKey"); + if(intent.hasExtra("surnameStarterKey")) activity.surname = intent.getStringExtra("surnameStarterKey"); + } + + public static Intent getIntent(Context context, String name, String surname) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra("nameStarterKey", name); + intent.putExtra("surnameStarterKey", surname); + return intent; + } + + public static void start(Context context, String name, String surname) { + Intent intent = getIntent(context, name, surname); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, String name, String surname, int flags) { + Intent intent = getIntent(context, name, surname); + intent.addFlags(flags); + context.startActivity(intent); + } + + public static Intent getIntent(Context context, String name) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra("nameStarterKey", name); + return intent; + } + + public static void start(Context context, String name) { + Intent intent = getIntent(context, name); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, String name, int flags) { + Intent intent = getIntent(context, name); + intent.addFlags(flags); + context.startActivity(intent); + } + + public static Intent getIntent(Context context) { + Intent intent = new Intent(context, MainActivity.class); + return intent; + } + + public static void start(Context context) { + Intent intent = getIntent(context); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, int flags) { + Intent intent = getIntent(context); + intent.addFlags(flags); + context.startActivity(intent); + } +} \ No newline at end of file diff --git a/generationExamples/activity/EmptyAnnotated b/generationExamples/activity/EmptyAnnotated new file mode 100644 index 0000000..4cb32b7 --- /dev/null +++ b/generationExamples/activity/EmptyAnnotated @@ -0,0 +1,36 @@ +********com.example.activitystarter.MainActivity******** +package com.example.activitystarter; + +import android.app.Activity; +import activitystarter.MakeActivityStarter; + +@MakeActivityStarter +public class MainActivity extends Activity {} +********com.example.activitystarter.MainActivityStarter******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; + +public final class MainActivityStarter { + + public static void fill(MainActivity activity) { + } + + public static Intent getIntent(Context context) { + Intent intent = new Intent(context, MainActivity.class); + return intent; + } + + public static void start(Context context) { + Intent intent = getIntent(context); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, int flags) { + Intent intent = getIntent(context); + intent.addFlags(flags); + context.startActivity(intent); + } +} \ No newline at end of file diff --git a/generationExamples/activity/MultipleOptional b/generationExamples/activity/MultipleOptional new file mode 100644 index 0000000..d01b851 --- /dev/null +++ b/generationExamples/activity/MultipleOptional @@ -0,0 +1,93 @@ +********com.example.activitystarter.MainActivity******** +package com.example.activitystarter; +import android.app.Activity; +import activitystarter.Arg; +import activitystarter.Optional; + +public class MainActivity extends Activity { + @Arg @Optional String name; + @Arg @Optional int id; +} +********com.example.activitystarter.MainActivityStarter******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; +import java.lang.String; + +public final class MainActivityStarter { + public static void fill(MainActivity activity) { + Intent intent = activity.getIntent(); + if(intent.hasExtra("nameStarterKey")) activity.name = intent.getStringExtra("nameStarterKey"); + if(intent.hasExtra("idStarterKey")) activity.id = intent.getIntExtra("idStarterKey", -1); + } + + public static Intent getIntent(Context context, String name, int id) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra("nameStarterKey", name); + intent.putExtra("idStarterKey", id); + return intent; + } + + public static void start(Context context, String name, int id) { + Intent intent = getIntent(context, name, id); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, String name, int id, int flags) { + Intent intent = getIntent(context, name, id); + intent.addFlags(flags); + context.startActivity(intent); + } + + public static Intent getIntent(Context context, String name) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra("nameStarterKey", name); + return intent; + } + + public static void start(Context context, String name) { + Intent intent = getIntent(context, name); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, String name, int flags) { + Intent intent = getIntent(context, name); + intent.addFlags(flags); + context.startActivity(intent); + } + + public static Intent getIntent(Context context, int id) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra("idStarterKey", id); + return intent; + } + + public static void start(Context context, int id) { + Intent intent = getIntent(context, id); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, int id, int flags) { + Intent intent = getIntent(context, id); + intent.addFlags(flags); + context.startActivity(intent); + } + + public static Intent getIntent(Context context) { + Intent intent = new Intent(context, MainActivity.class); + return intent; + } + + public static void start(Context context) { + Intent intent = getIntent(context); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, int flags) { + Intent intent = getIntent(context); + intent.addFlags(flags); + context.startActivity(intent); + } +} \ No newline at end of file diff --git a/generationExamples/activity/Optional b/generationExamples/activity/Optional new file mode 100644 index 0000000..0b81d37 --- /dev/null +++ b/generationExamples/activity/Optional @@ -0,0 +1,56 @@ +********com.example.activitystarter.MainActivity******** + package com.example.activitystarter; + import android.app.Activity; + import activitystarter.Arg; + import activitystarter.Optional; + + public class MainActivity extends Activity { + @Arg @Optional String name; + } +********com.example.activitystarter.MainActivityStarter******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; +import java.lang.String; + +public final class MainActivityStarter { + public static void fill(MainActivity activity) { + Intent intent = activity.getIntent(); + if(intent.hasExtra("nameStarterKey")) activity.name = intent.getStringExtra("nameStarterKey"); + } + + public static Intent getIntent(Context context, String name) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra("nameStarterKey", name); + return intent; + } + + public static void start(Context context, String name) { + Intent intent = getIntent(context, name); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, String name, int flags) { + Intent intent = getIntent(context, name); + intent.addFlags(flags); + context.startActivity(intent); + } + + public static Intent getIntent(Context context) { + Intent intent = new Intent(context, MainActivity.class); + return intent; + } + + public static void start(Context context) { + Intent intent = getIntent(context); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, int flags) { + Intent intent = getIntent(context); + intent.addFlags(flags); + context.startActivity(intent); + } +} \ No newline at end of file diff --git a/generationExamples/activity/SimpleGeneration b/generationExamples/activity/SimpleGeneration new file mode 100644 index 0000000..89e4295 --- /dev/null +++ b/generationExamples/activity/SimpleGeneration @@ -0,0 +1,40 @@ +********com.example.activitystarter.MainActivity******** +package com.example.activitystarter; +import android.app.Activity; +import activitystarter.Arg; + +public class MainActivity extends Activity { + @Arg String name; +} +********com.example.activitystarter.MainActivityStarter******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; +import java.lang.String; + +public final class MainActivityStarter { + + public static void fill(MainActivity activity) { + Intent intent = activity.getIntent(); + if(intent.hasExtra("nameStarterKey")) activity.name = intent.getStringExtra("nameStarterKey"); + } + + public static Intent getIntent(Context context, String name) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra("nameStarterKey", name); + return intent; + } + + public static void start(Context context, String name) { + Intent intent = getIntent(context, name); + context.startActivity(intent); + } + + public static void startWithFlags(Context context, String name, int flags) { + Intent intent = getIntent(context, name); + intent.addFlags(flags); + context.startActivity(intent); + } +} \ No newline at end of file diff --git a/generationExamples/fragment/EmptyAnnotated b/generationExamples/fragment/EmptyAnnotated new file mode 100644 index 0000000..bc3b7a5 --- /dev/null +++ b/generationExamples/fragment/EmptyAnnotated @@ -0,0 +1,21 @@ +********com.example.activitystarter.MainFragment******** +package com.example.activitystarter; + +import android.app.Fragment; + +import activitystarter.MakeActivityStarter; + +@MakeActivityStarter +public class MainFragment extends Fragment {} +********com.example.activitystarter.MainFragmentStarter******** +package com.example.activitystarter; + +public final class MainFragmentStarter { + public static void fill(MainFragment fragment) { + } + + public static MainFragment newInstance() { + MainFragment fragment = new MainFragment(); + return fragment; + } +} \ No newline at end of file diff --git a/generationExamples/fragment/MultipleOptional b/generationExamples/fragment/MultipleOptional new file mode 100644 index 0000000..970e907 --- /dev/null +++ b/generationExamples/fragment/MultipleOptional @@ -0,0 +1,56 @@ +********com.example.activitystarter.MainFragment******** +package com.example.activitystarter; + +import android.app.Fragment; + +import activitystarter.Arg; +import activitystarter.Optional; + +public class MainFragment extends Fragment { + @Arg @Optional String name; + @Arg @Optional int id; +} +********com.example.activitystarter.MainFragmentStarter******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.os.Bundle; +import java.lang.String; + +public final class MainFragmentStarter { + public static void fill(MainFragment fragment) { + Bundle arguments = fragment.getArguments(); + if(arguments.containsKey("nameStarterKey")) fragment.name = arguments.getString("nameStarterKey"); + if(arguments.containsKey("idStarterKey")) fragment.id = arguments.getInt("idStarterKey", -1); + } + + public static MainFragment newInstance(String name, int id) { + MainFragment fragment = new MainFragment(); + Bundle args = new Bundle(); + args.putString("nameStarterKey", name); + args.putInt("idStarterKey", id); + fragment.setArguments(args); + return fragment; + } + + public static MainFragment newInstance(String name) { + MainFragment fragment = new MainFragment(); + Bundle args = new Bundle(); + args.putString("nameStarterKey", name); + fragment.setArguments(args); + return fragment; + } + + public static MainFragment newInstance(int id) { + MainFragment fragment = new MainFragment(); + Bundle args = new Bundle(); + args.putInt("idStarterKey", id); + fragment.setArguments(args); + return fragment; + } + + public static MainFragment newInstance() { + MainFragment fragment = new MainFragment(); + return fragment; + } +} \ No newline at end of file diff --git a/generationExamples/fragment/SimpleGeneration b/generationExamples/fragment/SimpleGeneration new file mode 100644 index 0000000..a69727a --- /dev/null +++ b/generationExamples/fragment/SimpleGeneration @@ -0,0 +1,30 @@ +********com.example.activitystarter.MainFragment******** +package com.example.activitystarter; + +import android.app.Fragment; + +import activitystarter.Arg; + +public class MainFragment extends Fragment { + @Arg String name; +} +********com.example.activitystarter.MainFragmentStarter******** +package com.example.activitystarter; + +import android.os.Bundle; +import java.lang.String; + +public final class MainFragmentStarter { + public static void fill(MainFragment fragment) { + Bundle arguments = fragment.getArguments(); + if(arguments.containsKey("nameStarterKey")) fragment.name = arguments.getString("nameStarterKey"); + } + + public static MainFragment newInstance(String name) { + MainFragment fragment = new MainFragment(); + Bundle args = new Bundle(); + args.putString("nameStarterKey", name); + fragment.setArguments(args); + return fragment; + } +} \ No newline at end of file diff --git a/generationExamples/service/EmptyAnnotated b/generationExamples/service/EmptyAnnotated new file mode 100644 index 0000000..ce311cc --- /dev/null +++ b/generationExamples/service/EmptyAnnotated @@ -0,0 +1,41 @@ +********com.example.activitystarter.SomeService******** +package com.example.activitystarter; + +import android.app.Service; +import android.content.Intent; +import android.os.IBinder; +import android.support.annotation.Nullable; + +import activitystarter.Arg; +import activitystarter.MakeActivityStarter; + +@MakeActivityStarter +public class SomeService extends Service { + + @Nullable + @Override + public IBinder onBind(Intent intent) { + return null; + } +} +********com.example.activitystarter.SomeService******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; + +public final class SomeServiceStarter { + public static void fill(SomeService service, Intent intent) { + } + + public static Intent getIntent(Context context) { + Intent intent = new Intent(context, SomeService.class); + return intent; + } + + public static void start(Context context) { + Intent intent = getIntent(context); + context.startService(intent); + } +} \ No newline at end of file diff --git a/generationExamples/service/SimpleGeneration b/generationExamples/service/SimpleGeneration new file mode 100644 index 0000000..e9bcfe7 --- /dev/null +++ b/generationExamples/service/SimpleGeneration @@ -0,0 +1,46 @@ +********com.example.activitystarter.SomeService******** +package com.example.activitystarter; + +import android.app.Service; +import android.content.Intent; +import android.os.IBinder; +import android.support.annotation.Nullable; + +import activitystarter.Arg; +import activitystarter.MakeActivityStarter; + +@MakeActivityStarter +public class SomeService extends Service { + + @Arg String name = ""; + + @Nullable + @Override + public IBinder onBind(Intent intent) { + return null; + } +} +********com.example.activitystarter.SomeService******** +// Generated code from ActivityStarter. Do not modify! +package com.example.activitystarter; + +import android.content.Context; +import android.content.Intent; +import java.lang.String; + +public final class SomeServiceStarter { + public static void fill(SomeService service, Intent intent) { + if(intent.hasExtra("nameStarterKey")) service.name = intent.getStringExtra("nameStarterKey"); + } + + public static Intent getIntent(Context context, String name) { + Intent intent = new Intent(context, SomeService.class); + intent.putExtra("nameStarterKey", name); + return intent; + } + + public static void start(Context context, String name) { + Intent intent = getIntent(context, name); + context.startService(intent); + } +} \ No newline at end of file