diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Background.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Background.java index f8244ccb5e..aed53fd885 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Background.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Background.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on method that must be run in a background thread. @@ -171,6 +174,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) +@KotlinOpen public @interface Background { /** * Identifier for task cancellation. diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EActivity.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EActivity.java index 4805836d8c..bf8ba37094 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EActivity.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EActivity.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.app.Activity} classes to enable usage of @@ -86,6 +89,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EActivity { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EApplication.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EApplication.java index 3ac3ee43a0..3ca9850a1e 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EApplication.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EApplication.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.app.Application} classes to enable usage of @@ -74,5 +77,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EApplication { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EBean.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EBean.java index 895ed8424d..0853d75520 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EBean.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EBean.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on custom classes to enable usage of AndroidAnnotations. @@ -94,6 +97,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EBean { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EFragment.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EFragment.java index cc4363ea92..e759a6266c 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EFragment.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EFragment.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on android.app.Fragment or android.support.v4.app.Fragment @@ -106,6 +109,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EFragment { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EIntentService.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EIntentService.java index 1ddb1c0929..5f694e0e9f 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EIntentService.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EIntentService.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.app.IntentService} classes to enable usage @@ -80,5 +83,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EIntentService { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EProvider.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EProvider.java index 8f6097fe2c..5f60b0fd3a 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EProvider.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EProvider.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.content.ContentProvider} classes to enable @@ -50,5 +53,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EProvider { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EReceiver.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EReceiver.java index 1b5b2fe514..e2d9d67ec6 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EReceiver.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EReceiver.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.content.BroadcastReceiver} classes to enable @@ -50,5 +53,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EReceiver { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EService.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EService.java index a41f0d6371..22516062ef 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EService.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EService.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.app.Service} classes to enable usage of @@ -72,5 +75,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EService { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EView.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EView.java index 384d76f56a..970e63295e 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EView.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EView.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.view.View View} classes to enable usage of @@ -67,5 +70,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EView { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EViewGroup.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EViewGroup.java index 86b2bbb958..2f1a6e8fea 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EViewGroup.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/EViewGroup.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on {@link android.view.View} classes to enable usage of @@ -74,6 +77,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) +@KotlinOpen public @interface EViewGroup { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/IgnoreWhen.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/IgnoreWhen.java index 61eb48c703..6b7f2a0e3d 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/IgnoreWhen.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/IgnoreWhen.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* When used standalone in an {@link EFragment} or in conjunction with the @@ -71,6 +74,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) +@KotlinOpen public @interface IgnoreWhen { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeBackground.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeBackground.java index c7e514d2cc..6b77b80ac5 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeBackground.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeBackground.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Ensures that the method is called from the background thread with @@ -57,6 +60,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) +@KotlinOpen public @interface SupposeBackground { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeUiThread.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeUiThread.java index d47b178017..11e5fcf024 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeUiThread.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/SupposeUiThread.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** * Ensures that method is called from the UI thread. If it is not, then * {@link IllegalStateException} will be thrown (by default). @@ -46,5 +49,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) +@KotlinOpen public @interface SupposeUiThread { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Trace.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Trace.java index 65f922ecf3..9df09a8840 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Trace.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Trace.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + import android.util.Log; /** @@ -70,6 +73,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) +@KotlinOpen public @interface Trace { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Transactional.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Transactional.java index 34505f6fa5..8d650dab81 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Transactional.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/Transactional.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* This annotation is intended to be used on methods to run it into a database @@ -57,5 +60,6 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) +@KotlinOpen public @interface Transactional { } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/UiThread.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/UiThread.java index df4b55cde7..7555a2f09e 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/UiThread.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/UiThread.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Should be used on method that must be run in the Ui thread @@ -123,6 +126,7 @@ */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) +@KotlinOpen public @interface UiThread { /** diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/WakeLock.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/WakeLock.java index 0b4fff8b43..4eb363e809 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/WakeLock.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/annotations/WakeLock.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2017 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -20,6 +21,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.androidannotations.api.KotlinOpen; + /** *
* Acquires a {@link android.os.PowerManager.WakeLock} for this method call.
@@ -50,6 +53,7 @@
*/
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.METHOD)
+@KotlinOpen
public @interface WakeLock {
/**
diff --git a/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/api/KotlinOpen.java b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/api/KotlinOpen.java
new file mode 100644
index 0000000000..f4af16a8be
--- /dev/null
+++ b/AndroidAnnotations/androidannotations-core/androidannotations-api/src/main/java/org/androidannotations/api/KotlinOpen.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (C) 2016-2017 the AndroidAnnotations project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed To in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.androidannotations.api;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Utility annotation to easily support kotlin-allopen plugin
+ *
+ * @see "https://github.com/androidannotations/androidannotations/wiki/Kotlin"
+ */
+@Retention(RetentionPolicy.CLASS)
+@Target(ElementType.TYPE)
+public @interface KotlinOpen {
+}
diff --git a/examples/kotlin/build.gradle b/examples/kotlin/build.gradle
index 3a26b9971f..2ef1efaf8d 100644
--- a/examples/kotlin/build.gradle
+++ b/examples/kotlin/build.gradle
@@ -1,5 +1,5 @@
buildscript {
- ext.kotlin_version = "1.1.3-2"
+ ext.kotlin_version = "1.1.51"
repositories {
jcenter()
@@ -8,6 +8,7 @@ buildscript {
// replace with the current version of the Android plugin
classpath "com.android.tools.build:gradle:2.3.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+ classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
}
}
@@ -18,6 +19,7 @@ repositories {
apply plugin: "com.android.application"
apply plugin: "kotlin-android"
+apply plugin: "kotlin-allopen"
apply plugin: "kotlin-kapt"
android {
@@ -33,6 +35,10 @@ android {
}
}
+allOpen {
+ annotation("org.androidannotations.api.KotlinOpen")
+}
+
// If you have different applicationIds for buildTypes or productFlavors uncomment this block.
//kapt {
// arguments {
@@ -45,5 +51,5 @@ def AAVersion = "4.4.0-SNAPSHOT" // change this to your desired version, for exa
dependencies {
kapt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
- compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+ compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}
diff --git a/examples/kotlin/src/main/kotlin/org/androidannotations/gradle/activity/HelloAndroidActivity.kt b/examples/kotlin/src/main/kotlin/org/androidannotations/gradle/activity/HelloAndroidActivity.kt
index a2efdbaceb..3ba9fa9965 100644
--- a/examples/kotlin/src/main/kotlin/org/androidannotations/gradle/activity/HelloAndroidActivity.kt
+++ b/examples/kotlin/src/main/kotlin/org/androidannotations/gradle/activity/HelloAndroidActivity.kt
@@ -4,6 +4,7 @@ import android.app.Activity
import android.widget.TextView
import org.androidannotations.annotations.AfterViews
import org.androidannotations.annotations.EActivity
+import org.androidannotations.annotations.EBean
import org.androidannotations.annotations.Extra
import org.androidannotations.annotations.UiThread
import org.androidannotations.annotations.Background
@@ -43,3 +44,19 @@ open class HelloAndroidActivity : Activity() {
helloTextView.text = helloMessage
}
}
+
+/**
+ * As of Kotlin 1.0.6+ and AndroidAnnotations 4.4.0, you can use the kotlin-allopen plugin
+ * to remove the need to explicitly declare enhanced classes or methods as open.
+ *
+ * See the build.gradle file or [our wiki](https://github.com/androidannotations/androidannotations/wiki/Kotlin)
+ * for details on how to use the plugin.
+ */
+@EBean
+public class EnhancedBean {
+
+ @Background
+ protected fun computeDateBackground() {
+ // do stuff ;)
+ }
+}
\ No newline at end of file