diff --git a/build.gradle b/build.gradle index 48423ce0..057f8bcb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,8 @@ import com.android.build.gradle.BaseExtension -import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext { - kotlin_version = '2.2.0' - } repositories { mavenCentral() google() @@ -18,7 +13,6 @@ buildscript { // For displaying method/field counts when building with Gradle: // https://github.com/KeepSafe/dexcount-gradle-plugin classpath("com.getkeepsafe.dexcount:dexcount-gradle-plugin:4.0.0") - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -76,11 +70,6 @@ subprojects { subproject -> plugins.withId("com.android.library") { configureAndroidModule(subproject) } - tasks.withType(KotlinCompile).configureEach { - compilerOptions { - jvmTarget = JvmTarget.JVM_1_8 - } - } tasks.withType(JavaCompile).configureEach { // enable deprecation checks options.compilerArgs += "-Xlint:deprecation" diff --git a/contract-tests/build.gradle b/contract-tests/build.gradle index c716ab21..dde0df0c 100644 --- a/contract-tests/build.gradle +++ b/contract-tests/build.gradle @@ -2,7 +2,6 @@ plugins { id("com.android.application") // make sure this line comes *after* you apply the Android plugin id("com.getkeepsafe.dexcount") - id 'org.jetbrains.kotlin.android' } android { diff --git a/example/build.gradle b/example/build.gradle index 401e5acc..797ab8d8 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -2,7 +2,6 @@ plugins { id("com.android.application") // make sure this line comes *after* you apply the Android plugin id("com.getkeepsafe.dexcount") - id 'org.jetbrains.kotlin.android' } android { diff --git a/launchdarkly-android-client-sdk/build.gradle b/launchdarkly-android-client-sdk/build.gradle index 75363f8d..3b7566cb 100644 --- a/launchdarkly-android-client-sdk/build.gradle +++ b/launchdarkly-android-client-sdk/build.gradle @@ -3,7 +3,6 @@ plugins { id("signing") id("maven-publish") id("com.getkeepsafe.dexcount") - id 'org.jetbrains.kotlin.android' } group = "com.launchdarkly" diff --git a/launchdarkly-android-client-sdk/src/main/java/com/launchdarkly/sdk/android/integrations/RegistrationCompleteResult.java b/launchdarkly-android-client-sdk/src/main/java/com/launchdarkly/sdk/android/integrations/RegistrationCompleteResult.java new file mode 100644 index 00000000..629ee1bd --- /dev/null +++ b/launchdarkly-android-client-sdk/src/main/java/com/launchdarkly/sdk/android/integrations/RegistrationCompleteResult.java @@ -0,0 +1,137 @@ +package com.launchdarkly.sdk.android.integrations; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +/** + * Result of attempting to register all configured {@link Plugin}s during SDK initialization. + * + *
This is a closed type hierarchy with exactly two subtypes: {@link Success} and {@link Failure}.
+ */
+public abstract class RegistrationCompleteResult {
+
+ private RegistrationCompleteResult() {
+ // sealed: only the nested subtypes may extend this class.
+ }
+
+ /**
+ * @return a {@link Success} result indicating that every plugin registered without error.
+ */
+ @NonNull
+ public static RegistrationCompleteResult success() {
+ return Success.INSTANCE;
+ }
+
+ /**
+ * @param failures the per-plugin failures collected during registration; must be non-null.
+ * @return a {@link Failure} result wrapping the supplied failures.
+ */
+ @NonNull
+ public static RegistrationCompleteResult failure(@NonNull List