diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml index 99507f2b2..b8ac8bfeb 100644 --- a/.github/workflows/android.yaml +++ b/.github/workflows/android.yaml @@ -9,18 +9,40 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - name: set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 17 - name: run Android unit tests - run: ./gradlew testDebugUnitTest - + run: ./gradlew testDebugUnitTest koverHtmlReport koverXmlReport + - name: add coverage report to PR + id: kover + uses: mi-kas/kover-report@v1 + # this action fails if there is no report, unlike the above actions, so check if there are files + if: ${{ always() && hashFiles(format('{0}/build/reports/kover/report.xml', github.workspace)) != '' }} + with: + path: ${{ github.workspace }}/build/reports/kover/report.xml + token: ${{ secrets.CI_SPLENDO_PAT }} + title: Code coverage + update-comment: true + coverage-counter-type: LINE + - name: Upload Android test artifact + uses: actions/upload-artifact@v4 + if: failure() + with: + name: "Android Test Report HTML" + path: "**/build/reports/tests/testDebugUnitTest" + - name: Upload Coverage report + uses: actions/upload-artifact@v4 + if: ${{ always() && hashFiles(format('{0}/build/reports/kover/html/index.html', github.workspace)) != '' }} + with: + name: "Android Test Report HTML" + path: "**/build/reports/kover/html" - name: run apiCheck run: ./gradlew apiCheck diff --git a/.github/workflows/emulator.yaml b/.github/workflows/emulator.yaml index 42d834678..d48d7331e 100644 --- a/.github/workflows/emulator.yaml +++ b/.github/workflows/emulator.yaml @@ -35,7 +35,7 @@ jobs: strategy: fail-fast: false matrix: - api-level: [23, 34] + api-level: [24, 34] project: ${{ fromJSON(needs.build.outputs.projects) }} steps: - name: checkout @@ -50,7 +50,7 @@ jobs: arch: ${{ runner.arch == 'X86' && 'x86' || runner.arch == 'X64' && 'x86_64' || runner.arch == 'ARM' && 'arm32' || 'arm64' }} - name: AVD cache - uses: actions/cache@v3 + uses: actions/cache@v4 id: avd-cache with: path: | diff --git a/.github/workflows/ios.yaml b/.github/workflows/ios.yaml index 3ea02a8d8..450a93ab7 100644 --- a/.github/workflows/ios.yaml +++ b/.github/workflows/ios.yaml @@ -44,7 +44,7 @@ jobs: module: ${{ fromJSON(needs.build.outputs.projects) }} steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup tools and cache for workspace uses: ./.github/workflows/setup_tools_macos/ @@ -55,3 +55,9 @@ jobs: - name: run iOS tests run: ./gradlew :${{ matrix.module }}:ios${{ runner.arch == 'X86' && 'X86' || runner.arch == 'X64' && 'x86_64' || runner.arch == 'ARM' && 'SimulatorArm32' || 'SimulatorArm64' }}Test + - name: Upload iOS test artifact + uses: actions/upload-artifact@v4 + if: failure() + with: + name: ${{ matrix.module}} iOS Test Report HTML + path: ${{ format('**{0}/build/reports/tests/ios{1}Test', matrix.module, runner.arch == 'X86' && 'X86' || runner.arch == 'X64' && 'x86_64' || runner.arch == 'ARM' && 'SimulatorArm32' || 'SimulatorArm64') }} diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index ac961c46c..5a6253359 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -4,7 +4,7 @@ on: push env: GRADLE_OPTS: "-Dorg.gradle.jvmargs=\"-Xmx8G -XX:MaxMetaspaceSize=512m -Dorg.gradle.daemon=false -Dkotlin.incremental=false\" -Dorg.gradle.daemon=false -Dkotlin.incremental=false -Dkotlin.daemon.jvm.options=-Xmx8G,-XX:MaxMetaspaceSize=512m,-Dorg.gradle.daemon=false,-Dkotlin.incremental=false" JAVA_OPTS: "-Xmx8G -XX:MaxMetaspaceSize=512m -Dorg.gradle.daemon=false -Dkotlin.incremental=false" - SIGNING_SECRET_KEY_RING_FILE: ${{ github.workspace }}/convention-plugins/keys/secret-keys.gpg + SIGNING_SECRET_KEY_RING_FILE: ${{ github.workspace }}/kaluga-library-components/keys/secret-keys.gpg concurrency: publish-${{ github.ref_name }} @@ -18,7 +18,7 @@ jobs: runs-on: ${{ github.ref_name == 'master' && 'tartelet' || 'macos-14' }} steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive @@ -29,13 +29,13 @@ jobs: # TODO: use setup_tools_macos - name : set up JDK 17 - uses : actions/setup-java@v3 + uses : actions/setup-java@v4 with : distribution : 'temurin' java-version : 17 - name: Konan cache - uses: actions/cache@v3 + uses: actions/cache@v4 id: konan-cache with: path: ~/.konan/* diff --git a/.github/workflows/rerun_emulator.yaml b/.github/workflows/rerun_emulator.yaml index 89c640d44..094afb5f7 100644 --- a/.github/workflows/rerun_emulator.yaml +++ b/.github/workflows/rerun_emulator.yaml @@ -16,7 +16,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - run: gh run rerun ${{ github.event.workflow_run.id }} --failed diff --git a/.github/workflows/setup_macos.yaml b/.github/workflows/setup_macos.yaml index 0f9a40914..b83cfbbda 100644 --- a/.github/workflows/setup_macos.yaml +++ b/.github/workflows/setup_macos.yaml @@ -35,7 +35,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive @@ -82,7 +82,7 @@ jobs: run: ./gradlew :${{ inputs.project }}:${{ inputs.gradleTask }} - name: Make cache of workspace - uses: actions/cache/save@v3 + uses: actions/cache/save@v4 id: store-build with: path: | diff --git a/.github/workflows/setup_tools_macos/action.yaml b/.github/workflows/setup_tools_macos/action.yaml index be006077f..1a41da63d 100644 --- a/.github/workflows/setup_tools_macos/action.yaml +++ b/.github/workflows/setup_tools_macos/action.yaml @@ -21,7 +21,7 @@ runs: using: "composite" steps: - name: set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 17 @@ -32,7 +32,7 @@ runs: xcode-version: '15' - name: Gradle cache - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 with: cache-read-only: ${{ inputs.gradle-cache-read-only }} gradle-home-cache-includes: | @@ -40,7 +40,7 @@ runs: notifications - name: Konan cache - uses: actions/cache@v3 + uses: actions/cache@v4 id: konan-cache with: path: | @@ -50,7 +50,7 @@ runs: key: konan-${{ inputs.kotlinVersion }} - name: Make cache of workspace - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 if: ${{ inputs.restore-workspace-cache != 'false' }} id: restore-build with: diff --git a/.gitignore b/.gitignore index 467582b46..fd455ed9d 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,5 @@ google-services.json # generated for CI /non_dependent_projects.properties + +.kotlin/ diff --git a/.idea/inspectionProfiles/ktlint.xml b/.idea/inspectionProfiles/ktlint.xml index 7d04a74be..519da9b59 100644 --- a/.idea/inspectionProfiles/ktlint.xml +++ b/.idea/inspectionProfiles/ktlint.xml @@ -1,7 +1,8 @@ - + \ No newline at end of file diff --git a/adding-a-new-module/README.md b/adding-a-new-module/README.md index 2125f12f9..68cb6df39 100644 --- a/adding-a-new-module/README.md +++ b/adding-a-new-module/README.md @@ -2,7 +2,7 @@ This **project** includes all common dependencies and settings for kaluga module. # Steps for adding a new module -1. Run gradle task: `./gradlew createNewModule -P module_name= -P package_name= -P create-test-utils -P create-compose -P create-databinding` from the root directory. +1. Run gradle task: `./gradlew createNewModule -P module_name= -P package_name= -P create-test-utils -P create-compose -P create-databinding -P include-jvm -P include-js` from the root directory. * `package_name` can be omitted if the module and package names are the same. Package name will be prefixed with `com.splendo.kaluga`. * Only pass `create-test-utils` if you want to also create a `test-utils-` with package `com.splendo.kaluga.test.`. * Use `./gradlew createNewTestModule -P module_name= -P package_name=` to create a `test-utils-` for an existing module. @@ -10,6 +10,8 @@ This **project** includes all common dependencies and settings for kaluga module * Use `./gradlew createNewComposeModule -P module_name= -P package_name=` to create a `-compose` for an existing module. * Only pass `create-databinding` if you want to also create a `-databinding` with package `com.splendo.kaluga..databinding`. * Use `./gradlew createNewDataBindingModule -P module_name= -P package_name=` to create a `-databinding` for an existing module. + * Only pass `include-jvm` if your module should target (non-Android) JVM + * Only pass `include-js` if your module should target Javascript 1. Include your module to kaluga project edit `kaluga/settings.gradle.kts` by adding: `include(":")`. 1. Add Unit tests * [Common Unit Tests](#commonTests) diff --git a/adding-a-new-module/template/common/build.gradle.kts b/adding-a-new-module/template/common/build.gradle.kts index b980edd48..c1635b1db 100644 --- a/adding-a-new-module/template/common/build.gradle.kts +++ b/adding-a-new-module/template/common/build.gradle.kts @@ -1,25 +1,16 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("%PACKAGE%") - -dependencies { } - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "%PACKAGE%" +%TARGET_CONFIG% + dependencies { + common { + main { implementation(project(":base")) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-base")) } } diff --git a/adding-a-new-module/template/compose/build.gradle.kts b/adding-a-new-module/template/compose/build.gradle.kts index 9406f4162..3b7834b62 100644 --- a/adding-a-new-module/template/compose/build.gradle.kts +++ b/adding-a-new-module/template/compose/build.gradle.kts @@ -1,15 +1,18 @@ plugins { - id("com.android.library") - kotlin("android") - id("jacoco") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin.android.compose") } -composeAndroidComponent("%PACKAGE%") - -dependencies { - implementation(project(":base")) - implementation(project("%BASEMODULE%")) +kaluga { + moduleName = "%BASEMODULE%" + dependencies { + common { + main { + implementation(project(":base")) + implementation(project("%BASEMODULE%")) + } + test { + implementation(project(":test-utils-base")) + } + } + } } diff --git a/adding-a-new-module/template/databinding/build.gradle.kts b/adding-a-new-module/template/databinding/build.gradle.kts index 45a2a215c..7e15a3cea 100644 --- a/adding-a-new-module/template/databinding/build.gradle.kts +++ b/adding-a-new-module/template/databinding/build.gradle.kts @@ -1,16 +1,18 @@ plugins { - id("com.android.library") - kotlin("android") - kotlin("kapt") - id("jacoco") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin.android.databinding") } -databindingAndroidComponent("%PACKAGE%") - -dependencies { - implementation(project(":base")) - implementation(project("%BASEMODULE%")) +kaluga { + moduleName = "%BASEMODULE%" + dependencies { + common { + main { + implementation(project(":base")) + implementation(project("%BASEMODULE%")) + } + test { + implementation(project(":test-utils-base")) + } + } + } } diff --git a/adding-a-new-module/template/test/build.gradle.kts b/adding-a-new-module/template/test/build.gradle.kts index 7f8d73c81..4f869cef6 100644 --- a/adding-a-new-module/template/test/build.gradle.kts +++ b/adding-a-new-module/template/test/build.gradle.kts @@ -1,26 +1,18 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("%PACKAGE%") - -dependencies { } - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test-utils-%PACKAGE%" +%TARGET_CONFIG% + dependencies { + common { + main { + implementation(project(":base")) + } + test { implementation(project(":test-utils-base")) - implementation(project("%BASEMODULE%")) } } - commonTest { - dependencies {} - } } } diff --git a/alerts/api/androidLib/alerts.api b/alerts/api/alerts.api similarity index 99% rename from alerts/api/androidLib/alerts.api rename to alerts/api/alerts.api index e123ab11c..526aa0897 100644 --- a/alerts/api/androidLib/alerts.api +++ b/alerts/api/alerts.api @@ -92,13 +92,10 @@ public final class com/splendo/kaluga/alerts/Alert$TextInputAction { public abstract interface class com/splendo/kaluga/alerts/AlertActions { public abstract fun dismiss (Z)V - public abstract fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun showAsync (ZLkotlin/jvm/functions/Function0;)V -} - -public final class com/splendo/kaluga/alerts/AlertActions$DefaultImpls { public static synthetic fun dismiss$default (Lcom/splendo/kaluga/alerts/AlertActions;ZILjava/lang/Object;)V + public abstract fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun show$default (Lcom/splendo/kaluga/alerts/AlertActions;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun showAsync (ZLkotlin/jvm/functions/Function0;)V public static synthetic fun showAsync$default (Lcom/splendo/kaluga/alerts/AlertActions;ZLkotlin/jvm/functions/Function0;ILjava/lang/Object;)V } @@ -137,6 +134,7 @@ public abstract class com/splendo/kaluga/alerts/BaseAlertPresenter : com/splendo public static synthetic fun dismissAlert$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter;ZILjava/lang/Object;)V protected final fun dismissAlertWithLog (Z)V public static synthetic fun dismissAlertWithLog$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter;ZILjava/lang/Object;)V + public final fun getAlert ()Lcom/splendo/kaluga/alerts/Alert; public fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; protected abstract fun showAlert (ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)V public static synthetic fun showAlert$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V diff --git a/alerts/api/jvm/alerts.api b/alerts/api/jvm/alerts.api deleted file mode 100644 index 67c42bd5e..000000000 --- a/alerts/api/jvm/alerts.api +++ /dev/null @@ -1,150 +0,0 @@ -public final class com/splendo/kaluga/alerts/Alert { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/splendo/kaluga/alerts/Alert$TextInputAction;Lcom/splendo/kaluga/alerts/Alert$Style;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/splendo/kaluga/alerts/Alert$TextInputAction;Lcom/splendo/kaluga/alerts/Alert$Style;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Ljava/lang/String; - public final fun component3 ()Ljava/util/List; - public final fun component4 ()Lcom/splendo/kaluga/alerts/Alert$TextInputAction; - public final fun component5 ()Lcom/splendo/kaluga/alerts/Alert$Style; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/splendo/kaluga/alerts/Alert$TextInputAction;Lcom/splendo/kaluga/alerts/Alert$Style;)Lcom/splendo/kaluga/alerts/Alert; - public static synthetic fun copy$default (Lcom/splendo/kaluga/alerts/Alert;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/splendo/kaluga/alerts/Alert$TextInputAction;Lcom/splendo/kaluga/alerts/Alert$Style;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/Alert; - public fun equals (Ljava/lang/Object;)Z - public final fun getActions ()Ljava/util/List; - public final fun getMessage ()Ljava/lang/String; - public final fun getStyle ()Lcom/splendo/kaluga/alerts/Alert$Style; - public final fun getTextInputAction ()Lcom/splendo/kaluga/alerts/Alert$TextInputAction; - public final fun getTitle ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/alerts/Alert$Action { - public fun (Ljava/lang/String;Lcom/splendo/kaluga/alerts/Alert$Action$Style;Lkotlin/jvm/functions/Function0;)V - public synthetic fun (Ljava/lang/String;Lcom/splendo/kaluga/alerts/Alert$Action$Style;Lkotlin/jvm/functions/Function0;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public final fun component3 ()Lkotlin/jvm/functions/Function0; - public final fun copy (Ljava/lang/String;Lcom/splendo/kaluga/alerts/Alert$Action$Style;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/alerts/Alert$Action; - public static synthetic fun copy$default (Lcom/splendo/kaluga/alerts/Alert$Action;Ljava/lang/String;Lcom/splendo/kaluga/alerts/Alert$Action$Style;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/Alert$Action; - public fun equals (Ljava/lang/Object;)Z - public final fun getHandler ()Lkotlin/jvm/functions/Function0; - public final fun getStyle ()Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public final fun getTitle ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/alerts/Alert$Action$Style : java/lang/Enum { - public static final field CANCEL Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public static final field DEFAULT Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public static final field DESTRUCTIVE Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public static final field NEGATIVE Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public static final field NEUTRAL Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public static final field POSITIVE Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public final fun getValue ()I - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/alerts/Alert$Action$Style; - public static fun values ()[Lcom/splendo/kaluga/alerts/Alert$Action$Style; -} - -public final class com/splendo/kaluga/alerts/Alert$Builder { - public fun ()V - public fun (Lcom/splendo/kaluga/alerts/Alert$Style;)V - public synthetic fun (Lcom/splendo/kaluga/alerts/Alert$Style;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun addActions (Ljava/util/List;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public final fun addActions ([Lcom/splendo/kaluga/alerts/Alert$Action;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public final fun build ()Lcom/splendo/kaluga/alerts/Alert; - public final fun setMessage (Ljava/lang/String;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public final fun setNegativeButton (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public static synthetic fun setNegativeButton$default (Lcom/splendo/kaluga/alerts/Alert$Builder;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public final fun setNeutralButton (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public static synthetic fun setNeutralButton$default (Lcom/splendo/kaluga/alerts/Alert$Builder;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public final fun setPositiveButton (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public static synthetic fun setPositiveButton$default (Lcom/splendo/kaluga/alerts/Alert$Builder;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public final fun setTextInput (Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public static synthetic fun setTextInput$default (Lcom/splendo/kaluga/alerts/Alert$Builder;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/Alert$Builder; - public final fun setTitle (Ljava/lang/String;)Lcom/splendo/kaluga/alerts/Alert$Builder; -} - -public final class com/splendo/kaluga/alerts/Alert$Style : java/lang/Enum { - public static final field ACTION_LIST Lcom/splendo/kaluga/alerts/Alert$Style; - public static final field ALERT Lcom/splendo/kaluga/alerts/Alert$Style; - public static final field TEXT_INPUT Lcom/splendo/kaluga/alerts/Alert$Style; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/alerts/Alert$Style; - public static fun values ()[Lcom/splendo/kaluga/alerts/Alert$Style; -} - -public final class com/splendo/kaluga/alerts/Alert$TextInputAction { - public fun (Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Ljava/lang/String; - public final fun component3 ()Lkotlin/jvm/functions/Function1; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/alerts/Alert$TextInputAction; - public static synthetic fun copy$default (Lcom/splendo/kaluga/alerts/Alert$TextInputAction;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/Alert$TextInputAction; - public fun equals (Ljava/lang/Object;)Z - public final fun getPlaceholder ()Ljava/lang/String; - public final fun getText ()Ljava/lang/String; - public final fun getTextObserver ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/alerts/AlertActions { - public abstract fun dismiss (Z)V - public abstract fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun showAsync (ZLkotlin/jvm/functions/Function0;)V -} - -public final class com/splendo/kaluga/alerts/AlertActions$DefaultImpls { - public static synthetic fun dismiss$default (Lcom/splendo/kaluga/alerts/AlertActions;ZILjava/lang/Object;)V - public static synthetic fun show$default (Lcom/splendo/kaluga/alerts/AlertActions;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun showAsync$default (Lcom/splendo/kaluga/alerts/AlertActions;ZLkotlin/jvm/functions/Function0;ILjava/lang/Object;)V -} - -public final class com/splendo/kaluga/alerts/AlertPresenter : com/splendo/kaluga/alerts/BaseAlertPresenter { - public fun (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;)V - public fun dismiss (Z)V - public fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun showAsync (ZLkotlin/jvm/functions/Function0;)V -} - -public final class com/splendo/kaluga/alerts/AlertPresenter$Builder : com/splendo/kaluga/alerts/BaseAlertPresenter$Builder { - public fun ()V - public fun create (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/alerts/AlertPresenter; - public synthetic fun create (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; -} - -public final class com/splendo/kaluga/alerts/AlertsKt { - public static final fun buildActionSheet (Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/logging/Logger;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; - public static synthetic fun buildActionSheet$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/logging/Logger;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; - public static final fun buildAlert (Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/logging/Logger;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; - public static synthetic fun buildAlert$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/logging/Logger;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; - public static final fun buildAlertWithInput (Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/logging/Logger;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; - public static synthetic fun buildAlertWithInput$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/logging/Logger;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; -} - -public abstract class com/splendo/kaluga/alerts/BaseAlertPresenter : com/splendo/kaluga/alerts/AlertActions { - public static final field Companion Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Companion; - public static final field TAG Ljava/lang/String; - public fun (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;)V - public fun dismiss (Z)V - protected abstract fun dismissAlert (Z)V - public static synthetic fun dismissAlert$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter;ZILjava/lang/Object;)V - protected final fun dismissAlertWithLog (Z)V - public static synthetic fun dismissAlertWithLog$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter;ZILjava/lang/Object;)V - public fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected abstract fun showAlert (ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)V - public static synthetic fun showAlert$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V - public fun showAsync (ZLkotlin/jvm/functions/Function0;)V -} - -public abstract class com/splendo/kaluga/alerts/BaseAlertPresenter$Builder : com/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable { - public fun ()V - public abstract fun create (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; - public static synthetic fun create$default (Lcom/splendo/kaluga/alerts/BaseAlertPresenter$Builder;Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; -} - -public final class com/splendo/kaluga/alerts/BaseAlertPresenter$Companion { -} - diff --git a/alerts/build.gradle.kts b/alerts/build.gradle.kts index 52a613145..99e37325e 100644 --- a/alerts/build.gradle.kts +++ b/alerts/build.gradle.kts @@ -1,32 +1,29 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -dependencies { - implementationDependency(Dependencies.AndroidX.Fragment) - testImplementationDependency(Dependencies.AndroidX.FragmentKtx) - androidTestImplementationDependency(Dependencies.AndroidX.Activity.Ktx) -} - -publishableComponent("alerts") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "alerts" + dependencies { + android { + main { + implementation(libs.androidx.fragment) + } + test { + implementation(libs.androidx.fragment.ktx) + } + instrumented { + implementation(libs.androidx.activity.ktx) + } + } + common { + main { implementation(project(":architecture", "")) implementation(project(":base", "")) implementation(project(":logging", "")) implementation(project(":resources", "")) } - } - getByName("commonTest") { - dependencies { + test { implementation(project(":test-utils-alerts", "")) } } diff --git a/alerts/src/androidLibMain/kotlin/AlertPresenter.kt b/alerts/src/androidLibMain/kotlin/AlertPresenter.kt index b88408e93..52e94141a 100644 --- a/alerts/src/androidLibMain/kotlin/AlertPresenter.kt +++ b/alerts/src/androidLibMain/kotlin/AlertPresenter.kt @@ -42,7 +42,7 @@ import kotlinx.coroutines.launch * @param coroutineScope The [CoroutineScope] managing changes to the alert presentation. */ actual class AlertPresenter( - private val alert: Alert, + alert: Alert, private val lifecycleManagerObserver: LifecycleManagerObserver = LifecycleManagerObserver(), coroutineScope: CoroutineScope, logger: Logger, @@ -109,11 +109,11 @@ actual class AlertPresenter( } } - override fun dismissAlert(animated: Boolean) { + actual override fun dismissAlert(animated: Boolean) { presentation.value = DialogPresentation.Hidden } - override fun showAlert(animated: Boolean, afterHandler: (Alert.Action?) -> Unit, completion: () -> Unit) { + actual override fun showAlert(animated: Boolean, afterHandler: (Alert.Action?) -> Unit, completion: () -> Unit) { presentation.value = DialogPresentation.Showing(animated, afterHandler, completion) } diff --git a/alerts/src/commonMain/kotlin/Alerts.kt b/alerts/src/commonMain/kotlin/Alerts.kt index eb371e439..5e3391a59 100644 --- a/alerts/src/commonMain/kotlin/Alerts.kt +++ b/alerts/src/commonMain/kotlin/Alerts.kt @@ -294,7 +294,7 @@ interface AlertActions { * @param alert The [Alert] to present (and dismiss if needed) * @param logger The [Logger] to log alert actions to */ -abstract class BaseAlertPresenter(private val alert: Alert, private val logger: Logger) : AlertActions { +abstract class BaseAlertPresenter(val alert: Alert, private val logger: Logger) : AlertActions { companion object { const val TAG = "AlertDialog" @@ -378,6 +378,9 @@ expect class AlertPresenter : BaseAlertPresenter { */ override fun create(alert: Alert, logger: Logger, coroutineScope: CoroutineScope): AlertPresenter } + + override fun showAlert(animated: Boolean, afterHandler: (Alert.Action?) -> Unit, completion: () -> Unit) + override fun dismissAlert(animated: Boolean) } /** diff --git a/alerts/src/iosMain/kotlin/AlertPresenter.kt b/alerts/src/iosMain/kotlin/AlertPresenter.kt index 48c3a9ea7..146f84974 100644 --- a/alerts/src/iosMain/kotlin/AlertPresenter.kt +++ b/alerts/src/iosMain/kotlin/AlertPresenter.kt @@ -50,7 +50,7 @@ import platform.objc.sel_registerName * This allows for presentation of [Alert.Style.ACTION_LIST] on iPad. */ actual class AlertPresenter( - private val alert: Alert, + alert: Alert, private val parent: UIViewController, logger: Logger, private val delegateBuilder: (Alert) -> UIPopoverPresentationControllerDelegateProtocol, @@ -133,11 +133,11 @@ actual class AlertPresenter( } } - override fun dismissAlert(animated: Boolean) { + actual override fun dismissAlert(animated: Boolean) { parent.dismissModalViewControllerAnimated(animated) } - override fun showAlert(animated: Boolean, afterHandler: (Alert.Action?) -> Unit, completion: () -> Unit) { + actual override fun showAlert(animated: Boolean, afterHandler: (Alert.Action?) -> Unit, completion: () -> Unit) { UIAlertController.alertControllerWithTitle( alert.title, alert.message, diff --git a/alerts/src/jsMain/kotlin/AlertPresenter.kt b/alerts/src/jsMain/kotlin/AlertPresenter.kt deleted file mode 100644 index 42aa905ed..000000000 --- a/alerts/src/jsMain/kotlin/AlertPresenter.kt +++ /dev/null @@ -1,73 +0,0 @@ -/* - -Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.alerts - -import com.splendo.kaluga.logging.Logger -import kotlinx.coroutines.CoroutineScope - -/** - * A [BaseAlertPresenter] for presenting an [Alert]. - * - * This is not yet fully implemented on JavaScript - * - * @param alert The [Alert] being presented. - */ -actual class AlertPresenter( - alert: Alert, - logger: Logger, -) : BaseAlertPresenter(alert, logger) { - - /** - * A [BaseAlertPresenter.Builder] for creating an [AlertPresenter] - */ - actual class Builder : BaseAlertPresenter.Builder() { - - /** - * Creates an [AlertPresenter] - * - * @param alert The [Alert] to be presented with the built presenter. - * @param logger The [Logger] that logs the logs of the presenter. - * @param coroutineScope The [CoroutineScope] managing the alert lifecycle. - * @return The created [AlertPresenter] - */ - actual override fun create(alert: Alert, logger: Logger, coroutineScope: CoroutineScope): AlertPresenter { - return AlertPresenter(alert, logger) - } - } - - override fun showAsync(animated: Boolean, completion: (() -> Unit)) { - TODO("not implemented") - } - - override suspend fun show(animated: Boolean): Alert.Action? { - TODO("not implemented") - } - - override fun dismiss(animated: Boolean) { - TODO("not implemented") - } - - override fun dismissAlert(animated: Boolean) { - TODO("not implemented") - } - - override fun showAlert(animated: Boolean, afterHandler: (Alert.Action?) -> Unit, completion: () -> Unit) { - TODO("not implemented") - } -} diff --git a/alerts/src/jvmMain/kotlin/AlertPresenter.kt b/alerts/src/jvmMain/kotlin/AlertPresenter.kt deleted file mode 100644 index 8b8e5aa34..000000000 --- a/alerts/src/jvmMain/kotlin/AlertPresenter.kt +++ /dev/null @@ -1,73 +0,0 @@ -/* - -Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.alerts - -import com.splendo.kaluga.logging.Logger -import kotlinx.coroutines.CoroutineScope - -/** - * A [BaseAlertPresenter] for presenting an [Alert]. - * - * This is not yet fully implemented on JVM - * - * @param alert The [Alert] being presented. - */ -actual class AlertPresenter( - alert: Alert, - logger: Logger, -) : BaseAlertPresenter(alert, logger) { - - /** - * A [BaseAlertPresenter.Builder] for creating an [AlertPresenter] - */ - actual class Builder : BaseAlertPresenter.Builder() { - - /** - * Creates an [AlertPresenter] - * - * @param alert The [Alert] to be presented with the built presenter. - * @param logger The [Logger] that logs the logs of the presenter. - * @param coroutineScope The [CoroutineScope] managing the alert lifecycle. - * @return The created [AlertPresenter] - */ - actual override fun create(alert: Alert, logger: Logger, coroutineScope: CoroutineScope): AlertPresenter { - return AlertPresenter(alert, logger) - } - } - - override fun showAsync(animated: Boolean, completion: (() -> Unit)) { - TODO("not implemented") - } - - override suspend fun show(animated: Boolean): Alert.Action? { - TODO("not implemented") - } - - override fun dismiss(animated: Boolean) { - TODO("not implemented") - } - - override fun dismissAlert(animated: Boolean) { - TODO("not implemented") - } - - override fun showAlert(animated: Boolean, afterHandler: (Alert.Action?) -> Unit, completion: () -> Unit) { - TODO("not implemented") - } -} diff --git a/architecture-compose/api/architecture-compose.api b/architecture-compose/api/architecture-compose.api index 80fcbb9d7..90fa8f094 100644 --- a/architecture-compose/api/architecture-compose.api +++ b/architecture-compose/api/architecture-compose.api @@ -53,16 +53,16 @@ public abstract class com/splendo/kaluga/architecture/compose/navigation/BottomS public final class com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState { public static final field $stable I - public fun (Landroidx/navigation/NavHostController;Landroidx/navigation/NavHostController;Landroidx/compose/material/ModalBottomSheetState;)V + public fun (Landroidx/navigation/NavHostController;Landroidx/navigation/NavHostController;Landroidx/compose/material3/BottomSheetScaffoldState;)V public final fun component1 ()Landroidx/navigation/NavHostController; public final fun component2 ()Landroidx/navigation/NavHostController; - public final fun component3 ()Landroidx/compose/material/ModalBottomSheetState; - public final fun copy (Landroidx/navigation/NavHostController;Landroidx/navigation/NavHostController;Landroidx/compose/material/ModalBottomSheetState;)Lcom/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState; - public static synthetic fun copy$default (Lcom/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState;Landroidx/navigation/NavHostController;Landroidx/navigation/NavHostController;Landroidx/compose/material/ModalBottomSheetState;ILjava/lang/Object;)Lcom/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState; + public final fun component3 ()Landroidx/compose/material3/BottomSheetScaffoldState; + public final fun copy (Landroidx/navigation/NavHostController;Landroidx/navigation/NavHostController;Landroidx/compose/material3/BottomSheetScaffoldState;)Lcom/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState; + public static synthetic fun copy$default (Lcom/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState;Landroidx/navigation/NavHostController;Landroidx/navigation/NavHostController;Landroidx/compose/material3/BottomSheetScaffoldState;ILjava/lang/Object;)Lcom/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState; public fun equals (Ljava/lang/Object;)Z public final fun getContentNavHostController ()Landroidx/navigation/NavHostController; + public final fun getScaffoldState ()Landroidx/compose/material3/BottomSheetScaffoldState; public final fun getSheetContentNavHostController ()Landroidx/navigation/NavHostController; - public final fun getSheetState ()Landroidx/compose/material/ModalBottomSheetState; public fun hashCode ()I public fun toString ()Ljava/lang/String; } @@ -295,8 +295,8 @@ public abstract class com/splendo/kaluga/architecture/compose/navigation/Providi public final class com/splendo/kaluga/architecture/compose/navigation/RootModalBottomSheetNavigator : com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigator { public static final field $stable I - public fun (Lkotlin/jvm/functions/Function3;Landroidx/compose/material/ModalBottomSheetValue;Lcom/splendo/kaluga/architecture/compose/navigation/RouteController;Ljava/util/List;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)V - public synthetic fun (Lkotlin/jvm/functions/Function3;Landroidx/compose/material/ModalBottomSheetValue;Lcom/splendo/kaluga/architecture/compose/navigation/RouteController;Ljava/util/List;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lkotlin/jvm/functions/Function3;Landroidx/compose/material3/SheetValue;Lcom/splendo/kaluga/architecture/compose/navigation/RouteController;Ljava/util/List;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)V + public synthetic fun (Lkotlin/jvm/functions/Function3;Landroidx/compose/material3/SheetValue;Lcom/splendo/kaluga/architecture/compose/navigation/RouteController;Ljava/util/List;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V } public final class com/splendo/kaluga/architecture/compose/navigation/RootNavHostComposableNavigator : com/splendo/kaluga/architecture/compose/navigation/ComposableNavigator { @@ -542,8 +542,5 @@ public final class com/splendo/kaluga/architecture/compose/viewModel/KalugaViewM public final class com/splendo/kaluga/architecture/compose/viewModel/ViewModelComposableKt { public static final fun FragmentViewModelComposable (Lcom/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel;Landroidx/fragment/app/FragmentManager;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V public static final fun ViewModelComposable (Lcom/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V - public static final fun store (Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)Lcom/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel; - public static final fun storeAndRemember (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)Lcom/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel; - public static final fun storeAndRemember (Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)Lcom/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel; } diff --git a/architecture-compose/build.gradle.kts b/architecture-compose/build.gradle.kts index fd253606a..c475aa518 100644 --- a/architecture-compose/build.gradle.kts +++ b/architecture-compose/build.gradle.kts @@ -16,22 +16,20 @@ */ plugins { - id("com.android.library") - kotlin("android") - kotlin("plugin.serialization") - id("jacoco") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin.android.compose") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) + alias(libs.plugins.kotlin.serialization) } -composeAndroidComponent("architecture.compose") +kaluga { + moduleName = "architecture" +} dependencies { api(project(":base")) api(project(":architecture")) - implementationDependency(Dependencies.AndroidX.Compose.Material) - implementationDependency(Dependencies.AndroidX.Navigation.Compose) - implementationDependency(Dependencies.KotlinX.Coroutines.Core) - implementationDependency(Dependencies.AndroidX.Browser) + implementation(libs.androidx.compose.material3) + implementation(libs.androidx.navigation.compose) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.androidx.browser) } diff --git a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigator.kt b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigator.kt index 0c7fbd9fc..bd11a6e61 100644 --- a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigator.kt +++ b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigator.kt @@ -2,9 +2,11 @@ package com.splendo.kaluga.architecture.compose.navigation import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.defaultMinSize -import androidx.compose.material.ModalBottomSheetLayout -import androidx.compose.material.ModalBottomSheetValue -import androidx.compose.material.rememberModalBottomSheetState +import androidx.compose.material3.BottomSheetScaffold +import androidx.compose.material3.SheetValue +import androidx.compose.material3.SheetValue.Hidden +import androidx.compose.material3.rememberBottomSheetScaffoldState +import androidx.compose.material3.rememberStandardBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState @@ -77,18 +79,18 @@ sealed class BottomSheetNavigator>( } /** - * A [BottomSheetNavigator] that creates and manages a [ModalBottomSheetLayout]. This should be on top of any [ModalBottomSheetNavigator] in the View-hierarchy + * A [BottomSheetNavigator] that creates and manages a [BottomSheetScaffold]. This should be on top of any [ModalBottomSheetNavigator] in the View-hierarchy * @param Action the type of [NavigationAction] this navigator should respond to. * @param navigationMapper Maps [Action] to a [BottomSheetComposableNavSpec] to be navigated to. - * @param initialSheetValue The [ModalBottomSheetValue] the [ModalBottomSheetLayout] should default to. - * @param parentRouteController A [RouteController] managing the parent view of the [ModalBottomSheetLayout] + * @param initialSheetValue The [SheetValue] the [BottomSheetScaffold] should default to. + * @param parentRouteController A [RouteController] managing the parent view of the [BottomSheetScaffold] * @param contentRootResultHandlers A list of [NavHostResultHandler] to be added to the root view of the content. * @param contentBuilder The [BottomSheetContentBuilder] describing the navigation graph of the content. * @param sheetContentBuilder The [BottomSheetContentBuilder] describing the navigation graph of the sheet content. */ class RootModalBottomSheetNavigator>( navigationMapper: @Composable (Action) -> BottomSheetComposableNavSpec, - private val initialSheetValue: ModalBottomSheetValue = ModalBottomSheetValue.Hidden, + private val initialSheetValue: SheetValue = Hidden, parentRouteController: RouteController? = null, contentRootResultHandlers: List> = emptyList(), contentBuilder: BottomSheetContentBuilder, @@ -114,7 +116,12 @@ class RootModalBottomSheetNavigator>( BottomSheetNavigatorState( contentNavController, rememberNavController(), - rememberModalBottomSheetState(initialValue = initialSheetValue), + rememberBottomSheetScaffoldState( + rememberStandardBottomSheetState( + initialSheetValue, + skipHiddenState = false, + ), + ), ), ) sheetStateCoroutineScope.tryEmit(rememberCoroutineScope()) @@ -137,7 +144,7 @@ class RootModalBottomSheetNavigator>( } /** - * A [BottomSheetNavigator] that is managed by a [ModalBottomSheetLayout]. + * A [BottomSheetNavigator] that is managed by a [BottomSheetScaffold]. * Must have a ModalBottomSheetLayout set up higher in the View-hierarchy. * @param Action the type of [NavigationAction] this navigator should respond to. * @param bottomSheetNavigatorState The [BottomSheetNavigatorState] controlling the routes. @@ -183,10 +190,10 @@ private fun SetupNavigatingModalBottomSheetLayout( ) { val currentBottomSheetNavigationState by bottomSheetNavigationState.collectAsState() currentBottomSheetNavigationState?.let { navigationState -> - ModalBottomSheetLayout( + BottomSheetScaffold( sheetContent = { // Add a default BackButton behaviour that closes the sheet content - if (navigationState.sheetState.isVisible) { + if (navigationState.scaffoldState.bottomSheetState.isVisible) { HardwareBackButtonNavigation(onBackButtonClickHandler = sheetContentRouteController::close) } @@ -203,7 +210,7 @@ private fun SetupNavigatingModalBottomSheetLayout( } } }, - sheetState = navigationState.sheetState, + scaffoldState = navigationState.scaffoldState, ) { // Add NavHost to manage the Content navigation SetupNavHost( diff --git a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState.kt b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState.kt index c94c243a9..bd46206ca 100644 --- a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState.kt +++ b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetNavigatorState.kt @@ -17,7 +17,7 @@ package com.splendo.kaluga.architecture.compose.navigation -import androidx.compose.material.ModalBottomSheetState +import androidx.compose.material3.BottomSheetScaffoldState import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import kotlinx.coroutines.flow.StateFlow @@ -26,12 +26,12 @@ import kotlinx.coroutines.flow.StateFlow * The State of a [BottomSheetNavigator] * @property contentNavHostController The [NavHostController] managing the content of the bottom sheet. * @property sheetContentNavHostController The [NavHostController] managing the sheet content of the bottom sheet. - * @property sheetState The [ModalBottomSheetState] of the bottom sheet. + * @property scaffoldState The [BottomSheetScaffoldState] of the bottom sheet. */ data class BottomSheetNavigatorState( val contentNavHostController: NavHostController, val sheetContentNavHostController: NavHostController, - val sheetState: ModalBottomSheetState, + val scaffoldState: BottomSheetScaffoldState, ) typealias BottomSheetContentBuilder = NavGraphBuilder.(bottomSheetNavigationState: StateFlow) -> Unit diff --git a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRoute.kt b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRoute.kt index 996061b2f..94800d692 100644 --- a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRoute.kt +++ b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRoute.kt @@ -17,10 +17,10 @@ package com.splendo.kaluga.architecture.compose.navigation -import androidx.compose.material.ModalBottomSheetLayout +import androidx.compose.material3.BottomSheetScaffold /** - * The specification for navigating from a [ModalBottomSheetLayout] + * The specification for navigating from a [BottomSheetScaffold] */ sealed class BottomSheetComposableNavSpec @@ -30,13 +30,13 @@ sealed class BottomSheetComposableNavSpec sealed class BottomSheetRoute : BottomSheetComposableNavSpec() { /** - * Navigates within the sheet content of the [ModalBottomSheetLayout] + * Navigates within the sheet content of the [BottomSheetScaffold] * @param route The [Route] to navigate */ data class SheetContent(val route: Route) : BottomSheetRoute() /** - * Navigates within the content of the [ModalBottomSheetLayout] + * Navigates within the content of the [BottomSheetScaffold] * @param route The [Route] to navigate */ data class Content(val route: Route) : BottomSheetRoute() diff --git a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRouteController.kt b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRouteController.kt index aa27dd750..4cd11ce2c 100644 --- a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRouteController.kt +++ b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/BottomSheetRouteController.kt @@ -17,10 +17,10 @@ package com.splendo.kaluga.architecture.compose.navigation -import androidx.compose.material.ModalBottomSheetLayout +import androidx.compose.material3.BottomSheetScaffold /** - * A controller that handles the [BottomSheetRoute] for a [ModalBottomSheetLayout] + * A controller that handles the [BottomSheetRoute] for a [BottomSheetScaffold] * @param contentRouteController The [RouteController] managing the content. * @param sheetContentRouteController The [RouteController] managing the sheet content. */ diff --git a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/RouteController.kt b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/RouteController.kt index bd79fe552..dbe54f573 100644 --- a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/RouteController.kt +++ b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/navigation/RouteController.kt @@ -17,7 +17,7 @@ package com.splendo.kaluga.architecture.compose.navigation -import androidx.compose.material.ModalBottomSheetState +import androidx.compose.material3.BottomSheetScaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue @@ -158,7 +158,7 @@ class BottomSheetContentRouteController( /** * [RouteController] for the sheet content of a [BottomSheetNavigatorState] * @param bottomSheetNavigatorState The flow of [BottomSheetNavigatorState] where the [BottomSheetNavigatorState.sheetContentNavHostController] is to be managed by this Route Controller - * @param coroutineScope A flow of [CoroutineScope] for managing the [ModalBottomSheetState]. + * @param coroutineScope A flow of [CoroutineScope] for managing the [BottomSheetScaffold]. */ class BottomSheetSheetContentRouteController( private val bottomSheetNavigatorState: StateFlow, @@ -172,10 +172,10 @@ class BottomSheetSheetContentRouteController( internal val sheetContentRouteController = NavHostRouteController() override fun navigate(newRoute: Route) { - bottomSheetNavigatorState.value?.let { (_, _, sheetState) -> - if (!sheetState.isVisible) { + bottomSheetNavigatorState.value?.let { (_, _, scaffoldState) -> + if (!scaffoldState.bottomSheetState.hasExpandedState) { coroutineScope.value?.launch { - sheetState.show() + scaffoldState.bottomSheetState.expand() } } } @@ -204,11 +204,11 @@ class BottomSheetSheetContentRouteController( } override fun close() { - bottomSheetNavigatorState.value?.let { (_, sheetContentNavHostController, sheetState) -> + bottomSheetNavigatorState.value?.let { (_, sheetContentNavHostController, scaffoldState) -> // Make sure we're back at the ROOT_VIEW before hiding the sheet sheetContentNavHostController.popBackStack(ROOT_VIEW, false) coroutineScope.value?.launch { - sheetState.hide() + scaffoldState.bottomSheetState.hide() } } } diff --git a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/viewModel/ViewModelComposable.kt b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/viewModel/ViewModelComposable.kt index 23b7149b0..768c4c45c 100644 --- a/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/viewModel/ViewModelComposable.kt +++ b/architecture-compose/src/main/kotlin/com/splendo/kaluga/architecture/compose/viewModel/ViewModelComposable.kt @@ -2,7 +2,6 @@ package com.splendo.kaluga.architecture.compose.viewModel import androidx.appcompat.app.AppCompatActivity import androidx.compose.runtime.Composable -import androidx.compose.runtime.DisallowComposableCalls import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext @@ -76,47 +75,6 @@ private fun ViewModelComposable( } } -/** - * Stores a view model in the local [ViewModelStore]. Use if the view model - * was created manually and is not located in Activity/Fragment [ViewModelStore]. - */ -@Composable -@Deprecated( - "Does not work for configuration changes (e.g. rotation).", - replaceWith = ReplaceWith("viewModel()", "androidx.lifecycle.viewmodel.compose.viewModel"), -) -fun store(provider: @Composable () -> ViewModel): ViewModel = provider().also { handleLocalViewModelStore(it) } - -/** - * Stores and remembers a view model in the local [ViewModelStore]. - * Use if the view model was created manually and is not located in Activity/Fragment [ViewModelStore]. - * provider will only be evaluated during the composition. Recomposition will always return the value produced by provider. - */ -@Composable -@Deprecated( - "Does not work for configuration changes (e.g. rotation).", - replaceWith = ReplaceWith("viewModel()", "androidx.lifecycle.viewmodel.compose.viewModel"), -) -@Suppress("Deprecation") -fun storeAndRemember(provider: @DisallowComposableCalls () -> ViewModel): ViewModel = store { - remember(provider) -} - -/** - * Stores and remembers a view model in the local [ViewModelStore]. - * Use if the view model was created manually and is not located in Activity/Fragment [ViewModelStore]. - * provider will only be evaluated during the composition. Recomposition will always return the value produced by provider. - */ -@Composable -@Deprecated( - "Does not work for configuration changes (e.g. rotation).", - replaceWith = ReplaceWith("viewModel()", "androidx.lifecycle.viewmodel.compose.viewModel"), -) -@Suppress("Deprecation") -fun storeAndRemember(key: Any?, provider: @DisallowComposableCalls () -> ViewModel): ViewModel = store { - remember(key, provider) -} - @Composable private fun handleLocalViewModelStore(viewModel: ViewModel): ViewModel { // we delegate VM cleanup to the ViewModelStore, which lives in scope of the current @Composable diff --git a/architecture/api/androidLib/architecture.api b/architecture/api/androidLib/architecture.api index 7422592f8..13b5afb5f 100644 --- a/architecture/api/androidLib/architecture.api +++ b/architecture/api/androidLib/architecture.api @@ -1136,8 +1136,6 @@ public abstract class com/splendo/kaluga/architecture/navigation/NavigationSpec public final class com/splendo/kaluga/architecture/navigation/NavigationSpec$Activity : com/splendo/kaluga/architecture/navigation/NavigationSpec { public fun (Ljava/lang/Class;Ljava/util/Set;Lcom/splendo/kaluga/architecture/navigation/NavigationSpec$Activity$LaunchType;)V public synthetic fun (Ljava/lang/Class;Ljava/util/Set;Lcom/splendo/kaluga/architecture/navigation/NavigationSpec$Activity$LaunchType;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun (Ljava/lang/Class;Ljava/util/Set;Ljava/lang/Integer;)V - public synthetic fun (Ljava/lang/Class;Ljava/util/Set;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/Class; public final fun component2 ()Ljava/util/Set; public final fun component3 ()Lcom/splendo/kaluga/architecture/navigation/NavigationSpec$Activity$LaunchType; @@ -1821,7 +1819,6 @@ public abstract class com/splendo/kaluga/architecture/observable/AbstractBaseDef public fun getDefaultValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public synthetic fun getObservation ()Lcom/splendo/kaluga/architecture/observable/Observation; protected fun getObservation ()Lcom/splendo/kaluga/architecture/observable/ObservationDefault; public fun getStateFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; @@ -1841,7 +1838,6 @@ public abstract class com/splendo/kaluga/architecture/observable/AbstractBaseIni public fun getCurrentOrNull ()Ljava/lang/Object; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public synthetic fun getObservation ()Lcom/splendo/kaluga/architecture/observable/Observation; protected fun getObservation ()Lcom/splendo/kaluga/architecture/observable/ObservationInitialized; public fun getStateFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; @@ -1864,7 +1860,6 @@ public abstract class com/splendo/kaluga/architecture/observable/AbstractBaseUni public fun getCurrentOrNull ()Ljava/lang/Object; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Nothing; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public synthetic fun getObservation ()Lcom/splendo/kaluga/architecture/observable/Observation; protected fun getObservation ()Lcom/splendo/kaluga/architecture/observable/ObservationUninitialized; public fun getStateFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; @@ -1889,7 +1884,6 @@ public abstract class com/splendo/kaluga/architecture/observable/BaseDefaultObse public fun getDefaultValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public synthetic fun getObservation ()Lcom/splendo/kaluga/architecture/observable/Observation; protected fun getObservation ()Lcom/splendo/kaluga/architecture/observable/ObservationDefault; public fun getStateFlow ()Lkotlinx/coroutines/flow/StateFlow; @@ -1913,7 +1907,6 @@ public abstract class com/splendo/kaluga/architecture/observable/BaseInitialized public fun getCurrentOrNull ()Ljava/lang/Object; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public fun getStateFlow ()Lkotlinx/coroutines/flow/StateFlow; public fun getValue (Ljava/lang/Object;Lkotlin/reflect/KProperty;)Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public synthetic fun getValue (Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object; @@ -1957,7 +1950,6 @@ public abstract class com/splendo/kaluga/architecture/observable/BaseUninitializ public fun getCurrentOrNull ()Ljava/lang/Object; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Nothing; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public synthetic fun getObservation ()Lcom/splendo/kaluga/architecture/observable/Observation; protected fun getObservation ()Lcom/splendo/kaluga/architecture/observable/ObservationUninitialized; public fun getStateFlow ()Lkotlinx/coroutines/flow/StateFlow; @@ -1988,24 +1980,12 @@ public abstract interface class com/splendo/kaluga/architecture/observable/Defau public abstract fun getDefaultValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; } -public final class com/splendo/kaluga/architecture/observable/DefaultInitialized$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/DefaultInitialized;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/DefaultObservable : com/splendo/kaluga/architecture/observable/BasicObservable, com/splendo/kaluga/architecture/observable/DefaultInitialized { } -public final class com/splendo/kaluga/architecture/observable/DefaultObservable$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/DefaultObservable;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/DefaultSubject : com/splendo/kaluga/architecture/observable/BasicSubject, com/splendo/kaluga/architecture/observable/DefaultObservable, com/splendo/kaluga/architecture/observable/MutableDefaultInitialized { } -public final class com/splendo/kaluga/architecture/observable/DefaultSubject$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/DefaultSubject;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/Disposable { public abstract fun addTo (Lcom/splendo/kaluga/architecture/observable/DisposeBag;)V public abstract fun dispose ()V @@ -2069,45 +2049,21 @@ public abstract interface class com/splendo/kaluga/architecture/observable/Initi public abstract fun observeInitialized (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/architecture/observable/Disposable; } -public final class com/splendo/kaluga/architecture/observable/Initialized$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/Initialized;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/InitializedObservable : com/splendo/kaluga/architecture/observable/BasicObservable, com/splendo/kaluga/architecture/observable/Initialized { } -public final class com/splendo/kaluga/architecture/observable/InitializedObservable$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/InitializedObservable;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/InitializedSubject : com/splendo/kaluga/architecture/observable/BasicSubject, com/splendo/kaluga/architecture/observable/InitializedObservable, com/splendo/kaluga/architecture/observable/MutableInitialized { } -public final class com/splendo/kaluga/architecture/observable/InitializedSubject$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/InitializedSubject;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/MutableDefaultInitialized : com/splendo/kaluga/architecture/observable/DefaultInitialized, com/splendo/kaluga/architecture/observable/WithMutableState { } -public final class com/splendo/kaluga/architecture/observable/MutableDefaultInitialized$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/MutableDefaultInitialized;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/MutableInitialized : com/splendo/kaluga/architecture/observable/Initialized, com/splendo/kaluga/architecture/observable/WithMutableState { } -public final class com/splendo/kaluga/architecture/observable/MutableInitialized$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/MutableInitialized;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/MutableUninitialized : com/splendo/kaluga/architecture/observable/Uninitialized, com/splendo/kaluga/architecture/observable/WithMutableState { } -public final class com/splendo/kaluga/architecture/observable/MutableUninitialized$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/MutableUninitialized;)Landroidx/lifecycle/LiveData; -} - public final class com/splendo/kaluga/architecture/observable/ObservableKt { public static final fun observableOf (Ljava/lang/Object;)Lcom/splendo/kaluga/architecture/observable/SimpleInitializedObservable; } @@ -2165,7 +2121,6 @@ public class com/splendo/kaluga/architecture/observable/ObservationDefault : com public fun getDefaultValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public fun getStateFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; public synthetic fun getStateFlow ()Lkotlinx/coroutines/flow/StateFlow; public fun getValue (Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object; @@ -2181,7 +2136,6 @@ public class com/splendo/kaluga/architecture/observable/ObservationInitialized : public fun getCurrent ()Ljava/lang/Object; public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Value; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public fun getStateFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; public synthetic fun getStateFlow ()Lkotlinx/coroutines/flow/StateFlow; public fun getValue (Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object; @@ -2200,7 +2154,6 @@ public final class com/splendo/kaluga/architecture/observable/ObservationUniniti public fun ()V public fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Nothing; public synthetic fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional; - public fun getLiveData ()Landroidx/lifecycle/LiveData; public fun getStateFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; public synthetic fun getStateFlow ()Lkotlinx/coroutines/flow/StateFlow; public fun getValue (Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object; @@ -2330,43 +2283,23 @@ public abstract interface class com/splendo/kaluga/architecture/observable/Unini public abstract fun getInitialValue ()Lcom/splendo/kaluga/architecture/observable/ObservableOptional$Nothing; } -public final class com/splendo/kaluga/architecture/observable/Uninitialized$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/Uninitialized;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/UninitializedObservable : com/splendo/kaluga/architecture/observable/BasicObservable, com/splendo/kaluga/architecture/observable/Uninitialized { } -public final class com/splendo/kaluga/architecture/observable/UninitializedObservable$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/UninitializedObservable;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/UninitializedSubject : com/splendo/kaluga/architecture/observable/BasicSubject, com/splendo/kaluga/architecture/observable/MutableUninitialized, com/splendo/kaluga/architecture/observable/UninitializedObservable { } -public final class com/splendo/kaluga/architecture/observable/UninitializedSubject$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/UninitializedSubject;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/WithMutableState : com/splendo/kaluga/architecture/observable/WithState { public abstract fun getStateFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; public abstract fun getValueDelegate ()Lkotlin/properties/ReadWriteProperty; } -public final class com/splendo/kaluga/architecture/observable/WithMutableState$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/WithMutableState;)Landroidx/lifecycle/LiveData; -} - public abstract interface class com/splendo/kaluga/architecture/observable/WithState { - public abstract fun getLiveData ()Landroidx/lifecycle/LiveData; + public fun getLiveData ()Landroidx/lifecycle/LiveData; public abstract fun getStateFlow ()Lkotlinx/coroutines/flow/StateFlow; public abstract fun getValueDelegate ()Lkotlin/properties/ReadOnlyProperty; } -public final class com/splendo/kaluga/architecture/observable/WithState$DefaultImpls { - public static fun getLiveData (Lcom/splendo/kaluga/architecture/observable/WithState;)Landroidx/lifecycle/LiveData; -} - public final class com/splendo/kaluga/architecture/observable/WithStateKt { public static final fun observeNotNullOnLifecycle (Lcom/splendo/kaluga/architecture/observable/WithState;Landroidx/lifecycle/LifecycleOwner;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/Job; public static synthetic fun observeNotNullOnLifecycle$default (Lcom/splendo/kaluga/architecture/observable/WithState;Landroidx/lifecycle/LifecycleOwner;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/coroutines/Job; @@ -2387,10 +2320,6 @@ public class com/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel : protected final fun removeLifecycleSubscribables ([Lcom/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable;)V } -public class com/splendo/kaluga/architecture/viewmodel/BaseViewModel : com/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel { - public fun ()V -} - public abstract class com/splendo/kaluga/architecture/viewmodel/KalugaViewModelActivity : androidx/appcompat/app/AppCompatActivity { public fun ()V public fun (I)V @@ -2448,7 +2377,3 @@ public class com/splendo/kaluga/architecture/viewmodel/NavigatingViewModel : com protected final fun getNavigator ()Lcom/splendo/kaluga/architecture/navigation/Navigator; } -public class com/splendo/kaluga/architecture/viewmodel/ViewModel : com/splendo/kaluga/architecture/viewmodel/LifecycleViewModel { - public fun ()V -} - diff --git a/architecture/api/jvm/architecture.api b/architecture/api/jvm/architecture.api index 63ed0ae63..6d8e6102c 100644 --- a/architecture/api/jvm/architecture.api +++ b/architecture/api/jvm/architecture.api @@ -1108,10 +1108,6 @@ public class com/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel : protected final fun removeLifecycleSubscribables ([Lcom/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable;)V } -public class com/splendo/kaluga/architecture/viewmodel/BaseViewModel : com/splendo/kaluga/architecture/viewmodel/BaseLifecycleViewModel { - public fun ()V -} - public class com/splendo/kaluga/architecture/viewmodel/LifecycleViewModel { public final fun clear ()V public final fun getCoroutineScope ()Lkotlinx/coroutines/CoroutineScope; @@ -1123,7 +1119,3 @@ public class com/splendo/kaluga/architecture/viewmodel/NavigatingViewModel : com protected final fun getNavigator ()Lcom/splendo/kaluga/architecture/navigation/Navigator; } -public class com/splendo/kaluga/architecture/viewmodel/ViewModel : com/splendo/kaluga/architecture/viewmodel/LifecycleViewModel { - public fun ()V -} - diff --git a/architecture/build.gradle.kts b/architecture/build.gradle.kts index ecc6ce7b5..02c48835d 100644 --- a/architecture/build.gradle.kts +++ b/architecture/build.gradle.kts @@ -1,37 +1,33 @@ plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("jacoco") - id("com.android.library") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) + alias(libs.plugins.kotlin.serialization) } -publishableComponent("architecture") +kaluga { + moduleName = "architecture" -dependencies { - apiDependency(Dependencies.AndroidX.Lifecycle.Runtime) - apiDependency(Dependencies.AndroidX.Lifecycle.ViewModel) - apiDependency(Dependencies.AndroidX.Lifecycle.LiveData) - apiDependency(Dependencies.Android.Material) - implementationDependency(Dependencies.AndroidX.Browser) - implementationDependency(Dependencies.KotlinX.AtomicFu) -} + supportJVM = true + supportJS = true -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { - implementation(project(":base", "")) - apiDependency(Dependencies.KotlinX.Serialization.Core) - apiDependency(Dependencies.KotlinX.Serialization.Json) + dependencies { + android { + main { + api(libs.androidx.lifecycle.runtime) + api(libs.androidx.lifecycle.viewmodel) + api(libs.androidx.lifecycle.livedata) + api(libs.android.material) + implementation(libs.androidx.browser) + implementation(libs.kotlinx.atomicfu) } } - - getByName("commonTest") { - dependencies { + common { + main { + implementation(project(":base", "")) + api(libs.kotlinx.serialization.core) + api(libs.kotlinx.serialization.json) + } + test { api(project(":test-utils-architecture", "")) } } diff --git a/architecture/src/androidLibMain/kotlin/navigation/NavigationSpec.kt b/architecture/src/androidLibMain/kotlin/navigation/NavigationSpec.kt index 083ed103f..56b16a123 100644 --- a/architecture/src/androidLibMain/kotlin/navigation/NavigationSpec.kt +++ b/architecture/src/androidLibMain/kotlin/navigation/NavigationSpec.kt @@ -124,13 +124,6 @@ sealed class NavigationSpec { fun tryAndGetContract(activity: android.app.Activity): ActivityResultLauncher? = activityClass.safeCast(activity)?.provideResultLauncher() } } - - @Deprecated("Legacy constructor", ReplaceWith("NavigationSpec.Activity(activityClass, flags, launchType)")) - constructor( - activityClass: Class, - flags: Set = emptySet(), - requestCode: Int?, - ) : this(activityClass, flags, requestCode?.let { LaunchType.ActivityResult(it) } ?: LaunchType.NoResult) } /** diff --git a/architecture/src/commonMain/kotlin/viewmodel/LifecycleViewModel.kt b/architecture/src/commonMain/kotlin/viewmodel/LifecycleViewModel.kt index b2f117c56..8fd52818f 100644 --- a/architecture/src/commonMain/kotlin/viewmodel/LifecycleViewModel.kt +++ b/architecture/src/commonMain/kotlin/viewmodel/LifecycleViewModel.kt @@ -28,18 +28,6 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update -@Deprecated( - message = "ViewModel was renamed as the name didn't match it's function.", - replaceWith = ReplaceWith("LifecycleViewModel"), -) -open class ViewModel : LifecycleViewModel() - -@Deprecated( - message = "BaseViewModel was renamed as the name didn't match it's function.", - replaceWith = ReplaceWith("BaseLifecycleViewModel"), -) -open class BaseViewModel : BaseLifecycleViewModel() - /** * Simple ViewModel class that is to be bound to a View lifecycle */ diff --git a/architecture/src/commonTest/kotlin/observable/MutableSharedFlowTest.kt b/architecture/src/commonTest/kotlin/observable/MutableSharedFlowTest.kt index d0761e88c..bec9c1fd2 100644 --- a/architecture/src/commonTest/kotlin/observable/MutableSharedFlowTest.kt +++ b/architecture/src/commonTest/kotlin/observable/MutableSharedFlowTest.kt @@ -45,35 +45,35 @@ class MutableSharedFlowTest : BaseTest() { assertEquals(0, value) subject.post(1) - delay(10) + delay(100) assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) assertEquals(1, stateFlow.value) assertEquals(1, value) subject.set(2) - delay(10) + delay(100) assertEquals(2, subject.current) assertEquals(2, subject.stateFlow.value) assertEquals(2, stateFlow.value) assertEquals(2, value) subject.stateFlow.value = 3 - delay(10) + delay(100) assertEquals(3, subject.current) assertEquals(3, subject.stateFlow.value) assertEquals(3, stateFlow.value) assertEquals(3, value) value = 4 - delay(10) + delay(100) assertEquals(4, subject.current) assertEquals(4, subject.stateFlow.value) assertEquals(4, stateFlow.value) assertEquals(4, value) sharedFlow.emit(5) - delay(10) + delay(100) assertEquals(5, subject.current) assertEquals(5, subject.stateFlow.value) assertEquals(5, stateFlow.value) @@ -90,7 +90,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toInitializedSubject(0, scope) subject.post(1) - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -108,7 +108,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toInitializedSubject(0, scope) subject.set(1) - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -127,7 +127,7 @@ class MutableSharedFlowTest : BaseTest() { val subjectStateFlow = subject.stateFlow subjectStateFlow.value = 1 - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -146,7 +146,7 @@ class MutableSharedFlowTest : BaseTest() { var value: Int by subject.valueDelegate value = 1 - delay(10) + delay(100) assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) assertEquals(1, stateFlow.value) @@ -162,9 +162,9 @@ class MutableSharedFlowTest : BaseTest() { val stateFlow = sharedFlow.stateIn(scope, SharingStarted.Eagerly, initialValue = -1) val subject = sharedFlow.toInitializedSubject(0, scope) - delay(10) + delay(100) sharedFlow.emit(1) - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -188,35 +188,35 @@ class MutableSharedFlowTest : BaseTest() { assertEquals(0, value) subject.post(1) - delay(10) + delay(100) assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) assertEquals(1, stateFlow.value) assertEquals(1, value) subject.set(2) - delay(10) + delay(100) assertEquals(2, subject.current) assertEquals(2, subject.stateFlow.value) assertEquals(2, stateFlow.value) assertEquals(2, value) subject.stateFlow.value = 3 - delay(10) + delay(100) assertEquals(3, subject.current) assertEquals(3, subject.stateFlow.value) assertEquals(3, stateFlow.value) assertEquals(3, value) value = 4 - delay(10) + delay(100) assertEquals(4, subject.current) assertEquals(4, subject.stateFlow.value) assertEquals(4, stateFlow.value) assertEquals(4, value) sharedFlow.emit(5) - delay(10) + delay(100) assertEquals(5, subject.current) assertEquals(5, subject.stateFlow.value) assertEquals(5, stateFlow.value) @@ -233,7 +233,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toDefaultSubject(0, null, scope) subject.post(1) - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -251,7 +251,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toDefaultSubject(0, null, scope) subject.set(1) - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -269,7 +269,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toDefaultSubject(0, null, scope) subject.stateFlow.value = 1 - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -288,7 +288,7 @@ class MutableSharedFlowTest : BaseTest() { var value: Int by subject.valueDelegate value = 1 - delay(10) + delay(100) assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) assertEquals(1, stateFlow.value) @@ -304,9 +304,9 @@ class MutableSharedFlowTest : BaseTest() { val stateFlow = sharedFlow.stateIn(scope, SharingStarted.Eagerly, initialValue = null) val subject = sharedFlow.toDefaultSubject(0, null, scope) - delay(10) + delay(100) sharedFlow.emit(1) - delay(10) + delay(100) val value: Int by subject.valueDelegate assertEquals(1, subject.current) assertEquals(1, subject.stateFlow.value) @@ -330,35 +330,35 @@ class MutableSharedFlowTest : BaseTest() { assertEquals(null, value) subject.post(1) - delay(10) + delay(100) assertEquals(1, subject.currentOrNull) assertEquals(1, subject.stateFlow.value) assertEquals(1, stateFlow.value) assertEquals(1, value) subject.set(2) - delay(10) + delay(100) assertEquals(2, subject.currentOrNull) assertEquals(2, subject.stateFlow.value) assertEquals(2, stateFlow.value) assertEquals(2, value) subject.stateFlow.value = 3 - delay(10) + delay(100) assertEquals(3, subject.currentOrNull) assertEquals(3, subject.stateFlow.value) assertEquals(3, stateFlow.value) assertEquals(3, value) value = 4 - delay(10) + delay(100) assertEquals(4, subject.currentOrNull) assertEquals(4, subject.stateFlow.value) assertEquals(4, stateFlow.value) assertEquals(4, value) sharedFlow.emit(5) - delay(10) + delay(100) assertEquals(5, subject.currentOrNull) assertEquals(5, subject.stateFlow.value) assertEquals(5, stateFlow.value) @@ -375,7 +375,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toUninitializedSubject(scope) subject.post(1) - delay(10) + delay(100) val value: Int? by subject.valueDelegate assertEquals(1, subject.currentOrNull) assertEquals(1, subject.stateFlow.value) @@ -393,7 +393,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toUninitializedSubject(scope) subject.set(1) - delay(10) + delay(100) val value: Int? by subject.valueDelegate assertEquals(1, subject.currentOrNull) assertEquals(1, subject.stateFlow.value) @@ -411,7 +411,7 @@ class MutableSharedFlowTest : BaseTest() { val subject = sharedFlow.toUninitializedSubject(scope) subject.stateFlow.value = 1 - delay(10) + delay(100) val value: Int? by subject.valueDelegate assertEquals(1, subject.currentOrNull) assertEquals(1, subject.stateFlow.value) @@ -430,7 +430,7 @@ class MutableSharedFlowTest : BaseTest() { var value: Int? by subject.valueDelegate value = 1 - delay(10) + delay(100) assertEquals(1, subject.currentOrNull) assertEquals(1, subject.stateFlow.value) assertEquals(1, stateFlow.value) @@ -446,9 +446,9 @@ class MutableSharedFlowTest : BaseTest() { val stateFlow = sharedFlow.stateIn(scope, SharingStarted.Eagerly, initialValue = 0) val subject = sharedFlow.toUninitializedSubject(scope) - delay(10) + delay(100) sharedFlow.emit(1) - delay(10) + delay(100) val value: Int? by subject.valueDelegate assertEquals(1, subject.currentOrNull) assertEquals(1, subject.stateFlow.value) diff --git a/architecture/src/iosMain/kotlin/navigation/NavigationSpec.kt b/architecture/src/iosMain/kotlin/navigation/NavigationSpec.kt index 3410fb9fe..0868dc9c7 100644 --- a/architecture/src/iosMain/kotlin/navigation/NavigationSpec.kt +++ b/architecture/src/iosMain/kotlin/navigation/NavigationSpec.kt @@ -23,6 +23,7 @@ import com.splendo.kaluga.architecture.navigation.NavigationSpec.Email.EmailSett import com.splendo.kaluga.architecture.navigation.NavigationSpec.ImagePicker.MediaType import com.splendo.kaluga.architecture.navigation.NavigationSpec.Message.MessageSettings import com.splendo.kaluga.architecture.navigation.NavigationSpec.ThirdParty.OpenMode +import kotlinx.cinterop.ObjCSignatureOverride import platform.CoreFoundation.CFStringRef import platform.CoreServices.kUTTypeImage import platform.CoreServices.kUTTypeMovie @@ -182,13 +183,14 @@ sealed class NavigationSpec { val completion: (() -> Unit)? = null, ) : NavigationSpec() { - @Suppress("CONFLICTING_OVERLOADS") internal val delegate: UINavigationControllerDelegateProtocol = object : NSObject(), UIImagePickerControllerDelegateProtocol, UINavigationControllerDelegateProtocol { + @ObjCSignatureOverride override fun navigationController(navigationController: UINavigationController, willShowViewController: UIViewController, animated: Boolean) { navigationDelegate.navigationController(navigationController, willShowViewController = willShowViewController, animated = animated) } + @ObjCSignatureOverride override fun navigationController(navigationController: UINavigationController, didShowViewController: UIViewController, animated: Boolean) { navigationDelegate.navigationController(navigationController, didShowViewController = didShowViewController, animated = animated) } diff --git a/base-permissions/api/androidLib/base-permissions.api b/base-permissions/api/base-permissions.api similarity index 85% rename from base-permissions/api/androidLib/base-permissions.api rename to base-permissions/api/base-permissions.api index 50a8b49c5..8e0004edd 100644 --- a/base-permissions/api/androidLib/base-permissions.api +++ b/base-permissions/api/base-permissions.api @@ -126,84 +126,40 @@ public abstract interface class com/splendo/kaluga/permissions/base/PermissionSt public abstract fun getDeinitialize ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/permissions/base/PermissionState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Active;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Allowed : com/splendo/kaluga/permissions/base/PermissionState$Initialized { public abstract fun deny (Z)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/permissions/base/PermissionState$Allowed$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Allowed;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Deinitialized : com/splendo/kaluga/permissions/base/PermissionState$Inactive { public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/permissions/base/PermissionState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Denied : com/splendo/kaluga/permissions/base/PermissionState$Initialized { public abstract fun getAllow ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/permissions/base/PermissionState$Denied$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Denied;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Denied$Locked : com/splendo/kaluga/permissions/base/PermissionState$Denied { public abstract fun getUnlock ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/permissions/base/PermissionState$Denied$Locked$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Denied$Locked;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable : com/splendo/kaluga/permissions/base/PermissionState$Denied { public abstract fun getLock ()Lkotlin/jvm/functions/Function1; public abstract fun request ()V } -public final class com/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/permissions/base/PermissionState { } -public final class com/splendo/kaluga/permissions/base/PermissionState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Inactive;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Initialized : com/splendo/kaluga/permissions/base/PermissionState$Active { } -public final class com/splendo/kaluga/permissions/base/PermissionState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Initialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/permissions/base/PermissionState$Active { public abstract fun initialize (ZZ)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/permissions/base/PermissionState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Initializing;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Uninitialized : com/splendo/kaluga/permissions/base/PermissionState$Inactive { } -public final class com/splendo/kaluga/permissions/base/PermissionState$Uninitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Uninitialized;)Lkotlin/jvm/functions/Function1; -} - public final class com/splendo/kaluga/permissions/base/PermissionStateKt { public static final fun request (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } diff --git a/base-permissions/api/jvm/base-permissions.api b/base-permissions/api/jvm/base-permissions.api deleted file mode 100644 index 0836906c4..000000000 --- a/base-permissions/api/jvm/base-permissions.api +++ /dev/null @@ -1,211 +0,0 @@ -public abstract class com/splendo/kaluga/permissions/base/BasePermissionManager : com/splendo/kaluga/permissions/base/PermissionManager, kotlinx/coroutines/CoroutineScope { - public fun (Lcom/splendo/kaluga/permissions/base/Permission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V - protected final fun emitEvent (Lcom/splendo/kaluga/permissions/base/PermissionManager$Event;)V - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - protected final fun getEventChannel ()Lkotlinx/coroutines/channels/Channel; - public fun getEvents ()Lkotlinx/coroutines/flow/Flow; - protected final fun getLogTag ()Ljava/lang/String; - protected final fun getLogger ()Lcom/splendo/kaluga/logging/Logger; - public final fun getPermission ()Lcom/splendo/kaluga/permissions/base/Permission; - protected abstract fun monitoringDidStart-LRDsOJo (J)V - protected abstract fun monitoringDidStop ()V - public final fun requestPermission ()V - protected abstract fun requestPermissionDidStart ()V - public final fun startMonitoring-LRDsOJo (J)V - public final fun stopMonitoring ()V -} - -public final class com/splendo/kaluga/permissions/base/BasePermissionManager$Settings { - public fun ()V - public fun (Lcom/splendo/kaluga/logging/Logger;)V - public synthetic fun (Lcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/logging/Logger; - public final fun copy (Lcom/splendo/kaluga/logging/Logger;)Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings; - public static synthetic fun copy$default (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lcom/splendo/kaluga/logging/Logger;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings; - public fun equals (Ljava/lang/Object;)Z - public final fun getLogger ()Lcom/splendo/kaluga/logging/Logger; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/permissions/base/BasePermissionStateRepo : com/splendo/kaluga/base/state/ColdStateFlowRepo { - public fun (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/CoroutineContext;)V - public synthetic fun (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public abstract interface class com/splendo/kaluga/permissions/base/BasePermissionsBuilder { -} - -public abstract class com/splendo/kaluga/permissions/base/Permission { - public fun ()V - public abstract fun getName ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/base/PermissionContext { - public fun ()V -} - -public final class com/splendo/kaluga/permissions/base/PermissionContextKt { - public static final fun getDefaultPermissionContext ()Lcom/splendo/kaluga/permissions/base/PermissionContext; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionManager { - public abstract fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getPermission ()Lcom/splendo/kaluga/permissions/base/Permission; - public abstract fun requestPermission ()V - public abstract fun startMonitoring-LRDsOJo (J)V - public abstract fun stopMonitoring ()V -} - -public abstract class com/splendo/kaluga/permissions/base/PermissionManager$Event { -} - -public final class com/splendo/kaluga/permissions/base/PermissionManager$Event$PermissionDenied : com/splendo/kaluga/permissions/base/PermissionManager$Event { - public fun (Z)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/permissions/base/PermissionManager$Event$PermissionDenied; - public static synthetic fun copy$default (Lcom/splendo/kaluga/permissions/base/PermissionManager$Event$PermissionDenied;ZILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager$Event$PermissionDenied; - public fun equals (Ljava/lang/Object;)Z - public final fun getLocked ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/base/PermissionManager$Event$PermissionGranted : com/splendo/kaluga/permissions/base/PermissionManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/permissions/base/PermissionManager$Event$PermissionGranted; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState : com/splendo/kaluga/base/state/KalugaState { -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Active : com/splendo/kaluga/permissions/base/PermissionState { - public abstract fun getDeinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Active;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Allowed : com/splendo/kaluga/permissions/base/PermissionState$Initialized { - public abstract fun deny (Z)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Allowed$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Allowed;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Deinitialized : com/splendo/kaluga/permissions/base/PermissionState$Inactive { - public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Denied : com/splendo/kaluga/permissions/base/PermissionState$Initialized { - public abstract fun getAllow ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Denied$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Denied;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Denied$Locked : com/splendo/kaluga/permissions/base/PermissionState$Denied { - public abstract fun getUnlock ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Denied$Locked$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Denied$Locked;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable : com/splendo/kaluga/permissions/base/PermissionState$Denied { - public abstract fun getLock ()Lkotlin/jvm/functions/Function1; - public abstract fun request ()V -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/permissions/base/PermissionState { -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Inactive;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Initialized : com/splendo/kaluga/permissions/base/PermissionState$Active { -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Initialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/permissions/base/PermissionState$Active { - public abstract fun initialize (ZZ)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Initializing;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionState$Uninitialized : com/splendo/kaluga/permissions/base/PermissionState$Inactive { -} - -public final class com/splendo/kaluga/permissions/base/PermissionState$Uninitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/permissions/base/PermissionState$Uninitialized;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/permissions/base/PermissionStateKt { - public static final fun request (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public class com/splendo/kaluga/permissions/base/PermissionStateRepo : com/splendo/kaluga/permissions/base/BasePermissionStateRepo { - public static final field Companion Lcom/splendo/kaluga/permissions/base/PermissionStateRepo$Companion; - public synthetic fun (JLkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (JLkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - protected final fun getMonitoringInterval-UwyO8pc ()J -} - -public final class com/splendo/kaluga/permissions/base/PermissionStateRepo$Companion { - public final fun getDefaultMonitoringInterval-UwyO8pc ()J -} - -public abstract interface class com/splendo/kaluga/permissions/base/PermissionStateRepoBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/base/Permission;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/permissions/base/BasePermissionStateRepo; -} - -public final class com/splendo/kaluga/permissions/base/Permissions { - public fun (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/coroutines/CoroutineContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun clean ()V - public final fun get (Lcom/splendo/kaluga/permissions/base/Permission;)Lcom/splendo/kaluga/base/state/StateRepo; - public final fun request (Lcom/splendo/kaluga/permissions/base/Permission;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public class com/splendo/kaluga/permissions/base/PermissionsBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun createPermissionStateRepo (Lcom/splendo/kaluga/permissions/base/Permission;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/permissions/base/BasePermissionStateRepo; - public final fun get (Lcom/splendo/kaluga/permissions/base/Permission;)Lcom/splendo/kaluga/permissions/base/BasePermissionsBuilder; - public final fun getContext ()Lcom/splendo/kaluga/permissions/base/PermissionContext; - public final fun register (Lkotlin/reflect/KClass;Lcom/splendo/kaluga/permissions/base/BasePermissionsBuilder;)Lcom/splendo/kaluga/permissions/base/BasePermissionsBuilder; - public final fun registerOrGet (Lkotlin/reflect/KClass;Lcom/splendo/kaluga/permissions/base/BasePermissionsBuilder;)Lcom/splendo/kaluga/permissions/base/BasePermissionsBuilder; - public final fun registerOrGetPermissionStateRepoBuilder (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/permissions/base/PermissionStateRepoBuilder; - public final fun registerPermissionStateRepoBuilder (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function2;)V - public final fun unregister (Lcom/splendo/kaluga/permissions/base/Permission;)V - public final fun unregisterPermissionStateRepoBuilder (Lcom/splendo/kaluga/permissions/base/Permission;)V -} - -public final class com/splendo/kaluga/permissions/base/PermissionsBuilderError : java/lang/Error { - public fun (Ljava/lang/String;)V -} - diff --git a/base-permissions/build.gradle.kts b/base-permissions/build.gradle.kts index 262e7fbb2..9ed4a92a3 100644 --- a/base-permissions/build.gradle.kts +++ b/base-permissions/build.gradle.kts @@ -1,29 +1,22 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) } -publishableComponent("permissions.base") - -dependencies { - implementationDependency(Dependencies.KotlinX.AtomicFu) -} - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "permissions.base" + dependencies { + android { + main { + implementation(libs.kotlinx.atomicfu) + } + } + common { + main { api(project(":logging", "")) api(project(":base", "")) } - } - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-permissions", "")) } } diff --git a/base-permissions/src/jsMain/kotlin/PermissionContext.kt b/base-permissions/src/jsMain/kotlin/PermissionContext.kt deleted file mode 100644 index 80d17e2d6..000000000 --- a/base-permissions/src/jsMain/kotlin/PermissionContext.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.base - -/** - * JavaScript context for creating a [BasePermissionsBuilder] - */ -actual class PermissionContext - -/** - * Default [PermissionContext] of the system - */ -actual val defaultPermissionContext = PermissionContext() diff --git a/base-permissions/src/jvmMain/kotlin/PermissionContext.kt b/base-permissions/src/jvmMain/kotlin/PermissionContext.kt deleted file mode 100644 index 06beacfbb..000000000 --- a/base-permissions/src/jvmMain/kotlin/PermissionContext.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.base - -/** - * Java context for creating a [BasePermissionsBuilder] - */ -actual class PermissionContext - -/** - * Default [PermissionContext] of the system - */ -actual val defaultPermissionContext = PermissionContext() diff --git a/base/api/androidLib/base.api b/base/api/androidLib/base.api index 2666d6af6..65fcb7fd4 100644 --- a/base/api/androidLib/base.api +++ b/base/api/androidLib/base.api @@ -32,10 +32,6 @@ public final class com/splendo/kaluga/base/KalugaThreadKt { public static final fun isOnMainThread ()Z } -public final class com/splendo/kaluga/base/MultiplatformMainScopeKt { - public static final fun MultiplatformMainScope ()Lkotlinx/coroutines/CoroutineScope; -} - public final class com/splendo/kaluga/base/RunBlockingKt { public static final fun runBlocking (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; public static synthetic fun runBlocking$default (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Ljava/lang/Object; @@ -286,11 +282,7 @@ public abstract class com/splendo/kaluga/base/state/HotStateRepo : com/splendo/k } public abstract interface class com/splendo/kaluga/base/state/KalugaState { - public abstract fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/base/state/KalugaState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/base/state/KalugaState;)Lkotlin/jvm/functions/Function1; + public fun remain ()Lkotlin/jvm/functions/Function1; } public abstract interface class com/splendo/kaluga/base/state/StateFlowRepo { @@ -1214,6 +1206,7 @@ public final class com/splendo/kaluga/base/utils/KalugaTimeZone : com/splendo/ka public fun getDaylightSavingsOffset-UwyO8pc ()J public fun getIdentifier ()Ljava/lang/String; public fun getOffsetFromGMT-UwyO8pc ()J + public fun hashCode ()I public fun offsetFromGMTAtDate-5sfh64U (Lcom/splendo/kaluga/base/utils/KalugaDate;)J public fun usesDaylightSavingsTime (Lcom/splendo/kaluga/base/utils/KalugaDate;)Z } diff --git a/base/api/jvm/base.api b/base/api/jvm/base.api index 520235ef6..ca9d2b3cd 100644 --- a/base/api/jvm/base.api +++ b/base/api/jvm/base.api @@ -21,10 +21,6 @@ public final class com/splendo/kaluga/base/KalugaThreadKt { public static final fun isOnMainThread ()Z } -public final class com/splendo/kaluga/base/MultiplatformMainScopeKt { - public static final fun MultiplatformMainScope ()Lkotlinx/coroutines/CoroutineScope; -} - public final class com/splendo/kaluga/base/RunBlockingKt { public static final fun runBlocking (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; public static synthetic fun runBlocking$default (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Ljava/lang/Object; @@ -273,11 +269,7 @@ public abstract class com/splendo/kaluga/base/state/HotStateRepo : com/splendo/k } public abstract interface class com/splendo/kaluga/base/state/KalugaState { - public abstract fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/base/state/KalugaState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/base/state/KalugaState;)Lkotlin/jvm/functions/Function1; + public fun remain ()Lkotlin/jvm/functions/Function1; } public abstract interface class com/splendo/kaluga/base/state/StateFlowRepo { @@ -1201,6 +1193,7 @@ public final class com/splendo/kaluga/base/utils/KalugaTimeZone : com/splendo/ka public fun getDaylightSavingsOffset-UwyO8pc ()J public fun getIdentifier ()Ljava/lang/String; public fun getOffsetFromGMT-UwyO8pc ()J + public fun hashCode ()I public fun offsetFromGMTAtDate-5sfh64U (Lcom/splendo/kaluga/base/utils/KalugaDate;)J public fun usesDaylightSavingsTime (Lcom/splendo/kaluga/base/utils/KalugaDate;)Z } diff --git a/base/build.gradle.kts b/base/build.gradle.kts index 179a066d1..7de90ce3a 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -1,54 +1,44 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) } -publishableComponent( - "base", - iosMainInterop = { - create("objectObserver").apply { - defFile = project.file("src/nativeInterop/cinterop/objectObserver.def") - packageName("com.splendo.kaluga.base.kvo") - compilerOpts("-I/src/nativeInterop/cinterop") - includeDirs { - allHeaders("src/nativeInterop/cinterop") - } - } - } -) +kaluga { + moduleName = "base" -dependencies { - implementationDependency(Dependencies.KotlinX.AtomicFu) -} + supportJVM = true + supportJS = true -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { - implementation(project(":logging", "")) + appleInterop { + main { + create("objectObserver").apply { + definitionFile.set(project.file("src/nativeInterop/cinterop/objectObserver.def")) + packageName("com.splendo.kaluga.base.kvo") + compilerOpts("-I/src/nativeInterop/cinterop") + includeDirs { + allHeaders("src/nativeInterop/cinterop") + } } } - getByName("jsMain") { - dependencies { - implementation(kotlin("stdlib-common", Library.kotlinVersion)) - // JavaScript BigDecimal lib based on native BigInt - implementation(npm("@splendo/bigdecimal", "1.0.26")) + } + dependencies { + android { + main { + implementation(libs.kotlinx.atomicfu) } } - getByName("jsTest") { - dependencies { - api(kotlin("test-js")) + common { + main { + implementation(project(":logging", "")) } - } - getByName("commonTest") { - dependencies { + test { implementation(project(":test-utils-base", "")) } } + js { + main { + implementation(npm("@splendo/bigdecimal", "1.0.26")) + } + } } } diff --git a/base/src/androidLibMain/kotlin/text/KalugaDateFormatter.kt b/base/src/androidLibMain/kotlin/text/KalugaDateFormatter.kt index f5c1d490e..ba9e06289 100644 --- a/base/src/androidLibMain/kotlin/text/KalugaDateFormatter.kt +++ b/base/src/androidLibMain/kotlin/text/KalugaDateFormatter.kt @@ -85,34 +85,34 @@ actual class KalugaDateFormatter private constructor(private val format: SimpleD private val symbols: DateFormatSymbols get() = format.dateFormatSymbols - override var pattern: String + actual override var pattern: String get() = format.toPattern() set(value) = format.applyPattern(value) - override var timeZone: KalugaTimeZone + actual override var timeZone: KalugaTimeZone get() = KalugaTimeZone(format.timeZone) set(value) { format.timeZone = value.timeZone } - override var eras: List + actual override var eras: List get() = symbols.eras.toList() set(value) { updateSymbols { it.eras = value.toTypedArray() } } - override var months: List + actual override var months: List get() = symbols.months.toList() set(value) { updateSymbols { it.months = value.toTypedArray() } } - override var shortMonths: List + actual override var shortMonths: List get() = symbols.shortMonths.toList() set(value) { updateSymbols { it.shortMonths = value.toTypedArray() } } - override var weekdays: List + actual override var weekdays: List get() { val weekdaysWithEmptyFirst = symbols.weekdays.toList() return if (weekdaysWithEmptyFirst.size > 1) { @@ -129,7 +129,7 @@ actual class KalugaDateFormatter private constructor(private val format: SimpleD it.weekdays = weekdaysWithEmptyFirst.toTypedArray() } } - override var shortWeekdays: List + actual override var shortWeekdays: List get() { val weekdaysWithEmptyFirst = symbols.shortWeekdays.toList() return if (weekdaysWithEmptyFirst.size > 1) { @@ -147,19 +147,19 @@ actual class KalugaDateFormatter private constructor(private val format: SimpleD } } - override var amString: String + actual override var amString: String get() = symbols.amPmStrings.toList()[0] set(value) { updateSymbols { it.amPmStrings = it.amPmStrings.toMutableList().apply { this[0] = value }.toTypedArray() } } - override var pmString: String + actual override var pmString: String get() = symbols.amPmStrings.toList()[1] set(value) { updateSymbols { it.amPmStrings = it.amPmStrings.toMutableList().apply { this[1] = value }.toTypedArray() } } - override fun format(date: KalugaDate): String = format.format(date.date) - override fun parse(string: String): KalugaDate? { + actual override fun format(date: KalugaDate): String = format.format(date.date) + actual override fun parse(string: String): KalugaDate? { val currentTimeZone = timeZone return try { format.parse(string)?.let { date -> diff --git a/base/src/androidLibMain/kotlin/text/NumberFormatter.kt b/base/src/androidLibMain/kotlin/text/NumberFormatter.kt index 899c6344a..68aa1bdcd 100644 --- a/base/src/androidLibMain/kotlin/text/NumberFormatter.kt +++ b/base/src/androidLibMain/kotlin/text/NumberFormatter.kt @@ -28,7 +28,7 @@ import java.util.Currency * @param locale The [KalugaLocale] used for parsing. Defaults to [KalugaLocale.defaultLocale]. * @param style The [NumberFormatStyle] to configure the format to use. Defaults to [NumberFormatStyle.Decimal]. */ -actual class NumberFormatter actual constructor(override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { +actual class NumberFormatter actual constructor(actual override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { private val format: DecimalFormat = when (style) { is NumberFormatStyle.Integer -> DecimalFormat.getInstance(locale.locale).apply { @@ -83,112 +83,112 @@ actual class NumberFormatter actual constructor(override val locale: KalugaLocal } } - override var percentSymbol: Char + actual override var percentSymbol: Char get() = symbols.percent set(value) { applySymbols { it.percent = value } } - override var perMillSymbol: Char + actual override var perMillSymbol: Char get() = symbols.perMill set(value) { applySymbols { it.perMill = value } } - override var minusSign: Char + actual override var minusSign: Char get() = symbols.minusSign set(value) { applySymbols { it.minusSign = value } } - override var exponentSymbol: String + actual override var exponentSymbol: String get() = symbols.exponentSeparator set(value) { applySymbols { it.exponentSeparator = value } } - override var zeroSymbol: Char + actual override var zeroSymbol: Char get() = symbols.zeroDigit set(value) { applySymbols { it.zeroDigit = value } } - override var notANumberSymbol: String + actual override var notANumberSymbol: String get() = symbols.naN set(value) { applySymbols { it.naN = value } } - override var infinitySymbol: String + actual override var infinitySymbol: String get() = symbols.infinity set(value) { applySymbols { it.infinity = value } } - override var currencySymbol: String + actual override var currencySymbol: String get() = symbols.currencySymbol set(value) { applySymbols { it.currencySymbol = value } } - override var currencyCode: String + actual override var currencyCode: String get() = symbols.currency.currencyCode set(value) { applySymbols { it.currency = Currency.getInstance(value) } } - override var positivePrefix: String + actual override var positivePrefix: String get() = format.positivePrefix set(value) { format.positivePrefix = value } - override var positiveSuffix: String + actual override var positiveSuffix: String get() = format.positiveSuffix set(value) { format.positiveSuffix = value } - override var negativePrefix: String + actual override var negativePrefix: String get() = format.negativePrefix set(value) { format.negativePrefix = value } - override var negativeSuffix: String + actual override var negativeSuffix: String get() = format.negativeSuffix set(value) { format.negativeSuffix = value } - override var groupingSeparator: Char + actual override var groupingSeparator: Char get() = symbols.groupingSeparator set(value) { applySymbols { it.groupingSeparator = value } } - override var usesGroupingSeparator: Boolean + actual override var usesGroupingSeparator: Boolean get() = format.isGroupingUsed set(value) { format.isGroupingUsed = value } - override var decimalSeparator: Char + actual override var decimalSeparator: Char get() = symbols.decimalSeparator set(value) { applySymbols { it.decimalSeparator = value } } - override var alwaysShowsDecimalSeparator: Boolean + actual override var alwaysShowsDecimalSeparator: Boolean get() = format.isDecimalSeparatorAlwaysShown set(value) { format.isDecimalSeparatorAlwaysShown = value } - override var currencyDecimalSeparator: Char + actual override var currencyDecimalSeparator: Char get() = symbols.monetaryDecimalSeparator set(value) { applySymbols { it.monetaryDecimalSeparator = value } } - override var groupingSize: Int + actual override var groupingSize: Int get() = format.groupingSize set(value) { format.groupingSize = value } - override var multiplier: Int + actual override var multiplier: Int get() = format.multiplier set(value) { format.multiplier = value } - override fun format(number: Number): String = format.format(number.toDouble()) - override fun parse(string: String): Number? = try { + actual override fun format(number: Number): String = format.format(number.toDouble()) + actual override fun parse(string: String): Number? = try { format.parse(string) } catch (e: ParseException) { null diff --git a/base/src/androidLibMain/kotlin/utils/KalugaDate.kt b/base/src/androidLibMain/kotlin/utils/KalugaDate.kt index 974c12351..2fd7555bb 100644 --- a/base/src/androidLibMain/kotlin/utils/KalugaDate.kt +++ b/base/src/androidLibMain/kotlin/utils/KalugaDate.kt @@ -60,100 +60,100 @@ actual class DefaultKalugaDate internal constructor(internal val calendar: Calen ) } - override var timeZone: KalugaTimeZone + actual override var timeZone: KalugaTimeZone get() = KalugaTimeZone(calendar.timeZone) set(value) { calendar.timeZone = value.timeZone } - override var era: Int + actual override var era: Int get() = calendar.get(Calendar.ERA) set(value) { calendar.set(Calendar.ERA, value) } - override var year: Int + actual override var year: Int get() = calendar.get(Calendar.YEAR) set(value) { calendar.set(Calendar.YEAR, value) } - override var month: Int + actual override var month: Int get() = calendar.get(Calendar.MONTH) + 1 set(value) { calendar.set(Calendar.MONTH, value - 1) } - override val daysInMonth: Int get() = calendar.getActualMaximum(Calendar.DAY_OF_MONTH) - override var weekOfYear: Int + actual override val daysInMonth: Int get() = calendar.getActualMaximum(Calendar.DAY_OF_MONTH) + actual override var weekOfYear: Int get() = calendar.get(Calendar.WEEK_OF_YEAR) set(value) { calendar.set(Calendar.WEEK_OF_YEAR, value) } - override var weekOfMonth: Int + actual override var weekOfMonth: Int get() = calendar.get(Calendar.WEEK_OF_MONTH) set(value) { calendar.set(Calendar.WEEK_OF_MONTH, value) } - override var day: Int + actual override var day: Int get() = calendar.get(Calendar.DAY_OF_MONTH) set(value) { calendar.set(Calendar.DAY_OF_MONTH, value) } - override var dayOfYear: Int + actual override var dayOfYear: Int get() = calendar.get(Calendar.DAY_OF_YEAR) set(value) { calendar.set(Calendar.DAY_OF_YEAR, value) } - override var weekDay: Int + actual override var weekDay: Int get() = calendar.get(Calendar.DAY_OF_WEEK) set(value) { calendar.set(Calendar.DAY_OF_WEEK, value) } - override var firstWeekDay: Int + actual override var firstWeekDay: Int get() = calendar.firstDayOfWeek set(value) { calendar.firstDayOfWeek = value } - override var hour: Int + actual override var hour: Int get() = calendar.get(Calendar.HOUR_OF_DAY) set(value) { calendar.set(Calendar.HOUR_OF_DAY, value) } - override var minute: Int + actual override var minute: Int get() = calendar.get(Calendar.MINUTE) set(value) { calendar.set(Calendar.MINUTE, value) } - override var second: Int + actual override var second: Int get() = calendar.get(Calendar.SECOND) set(value) { calendar.set(Calendar.SECOND, value) } - override var millisecond: Int + actual override var millisecond: Int get() = calendar.get(Calendar.MILLISECOND) set(value) { calendar.set(Calendar.MILLISECOND, value) } - override var durationSinceEpoch: Duration + actual override var durationSinceEpoch: Duration get() = calendar.timeInMillis.milliseconds set(value) { calendar.timeInMillis = value.inWholeMilliseconds } - override fun copy(): KalugaDate = DefaultKalugaDate(calendar.clone() as Calendar) + actual override fun copy(): KalugaDate = DefaultKalugaDate(calendar.clone() as Calendar) - override fun equals(other: Any?): Boolean { + actual override fun equals(other: Any?): Boolean { return (other as? KalugaDate)?.let { timeZone == other.timeZone && durationSinceEpoch == other.durationSinceEpoch } ?: false } - override fun compareTo(other: KalugaDate): Int { + actual override fun compareTo(other: KalugaDate): Int { return this.date.compareTo(other.date) } - override fun hashCode(): Int { + actual override fun hashCode(): Int { return calendar.hashCode() } - override val date: KalugaDateHolder get() = calendar.time + actual override val date: KalugaDateHolder get() = calendar.time } diff --git a/base/src/androidLibMain/kotlin/utils/KalugaLocale.kt b/base/src/androidLibMain/kotlin/utils/KalugaLocale.kt index 40e45b344..4b79b3d82 100644 --- a/base/src/androidLibMain/kotlin/utils/KalugaLocale.kt +++ b/base/src/androidLibMain/kotlin/utils/KalugaLocale.kt @@ -78,15 +78,15 @@ actual data class KalugaLocale internal constructor(internal val locale: java.ut actual val availableLocales: List = java.util.Locale.getAvailableLocales().asList().map { KalugaLocale(it) } } - override val countryCode: String + actual override val countryCode: String get() = locale.country - override val languageCode: String + actual override val languageCode: String get() = locale.language - override val scriptCode: String + actual override val scriptCode: String get() = locale.script - override val variantCode: String + actual override val variantCode: String get() = locale.variant - override val unitSystem: UnitSystem + actual override val unitSystem: UnitSystem get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { when (LocaleData.getMeasurementSystem(ULocale.forLocale(locale))) { LocaleData.MeasurementSystem.US -> UnitSystem.IMPERIAL @@ -97,31 +97,31 @@ actual data class KalugaLocale internal constructor(internal val locale: java.ut UnitSystem.withCountryCode(countryCode.upperCased(this)) } - override fun name(forLocale: KalugaLocale): String = locale.getDisplayName(forLocale.locale) - override fun countryName(forLocale: KalugaLocale): String = locale.getDisplayCountry(forLocale.locale) - override fun languageName(forLocale: KalugaLocale): String = locale.getDisplayLanguage(forLocale.locale) - override fun variantName(forLocale: KalugaLocale): String = locale.getDisplayVariant(forLocale.locale) - override fun scriptName(forLocale: KalugaLocale): String = locale.getDisplayScript(forLocale.locale) + actual override fun name(forLocale: KalugaLocale): String = locale.getDisplayName(forLocale.locale) + actual override fun countryName(forLocale: KalugaLocale): String = locale.getDisplayCountry(forLocale.locale) + actual override fun languageName(forLocale: KalugaLocale): String = locale.getDisplayLanguage(forLocale.locale) + actual override fun variantName(forLocale: KalugaLocale): String = locale.getDisplayVariant(forLocale.locale) + actual override fun scriptName(forLocale: KalugaLocale): String = locale.getDisplayScript(forLocale.locale) - override val quotationStart: String + actual override val quotationStart: String get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { LocaleData.getInstance(ULocale.forLocale(locale)).getDelimiter(LocaleData.QUOTATION_START) } else { "\"" } - override val quotationEnd: String + actual override val quotationEnd: String get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { LocaleData.getInstance(ULocale.forLocale(locale)).getDelimiter(LocaleData.QUOTATION_END) } else { "\"" } - override val alternateQuotationStart: String + actual override val alternateQuotationStart: String get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { LocaleData.getInstance(ULocale.forLocale(locale)).getDelimiter(LocaleData.ALT_QUOTATION_START) } else { "\"" } - override val alternateQuotationEnd: String + actual override val alternateQuotationEnd: String get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { LocaleData.getInstance(ULocale.forLocale(locale)).getDelimiter(LocaleData.ALT_QUOTATION_END) } else { diff --git a/base/src/androidLibMain/kotlin/utils/KalugaTimeZone.kt b/base/src/androidLibMain/kotlin/utils/KalugaTimeZone.kt index e268559d8..b5c45fc35 100644 --- a/base/src/androidLibMain/kotlin/utils/KalugaTimeZone.kt +++ b/base/src/androidLibMain/kotlin/utils/KalugaTimeZone.kt @@ -52,20 +52,22 @@ actual class KalugaTimeZone internal constructor(internal val timeZone: java.uti actual val availableIdentifiers get() = java.util.TimeZone.getAvailableIDs().asList() } - override val identifier: String = timeZone.id - override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String { + actual override val identifier: String = timeZone.id + actual override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String { val styleJava = when (style) { TimeZoneNameStyle.Short -> java.util.TimeZone.SHORT TimeZoneNameStyle.Long -> java.util.TimeZone.LONG } return timeZone.getDisplayName(withDaylightSavings, styleJava, locale.locale) } - override val offsetFromGMT = timeZone.rawOffset.milliseconds - override val daylightSavingsOffset = timeZone.dstSavings.milliseconds - override fun offsetFromGMTAtDate(date: KalugaDate): Duration = timeZone.getOffset(date.durationSinceEpoch.inWholeMilliseconds).milliseconds - override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = timeZone.inDaylightTime(date.date) - override fun copy(): KalugaTimeZone = KalugaTimeZone(timeZone.clone() as java.util.TimeZone) + actual override val offsetFromGMT = timeZone.rawOffset.milliseconds + actual override val daylightSavingsOffset = timeZone.dstSavings.milliseconds + actual override fun offsetFromGMTAtDate(date: KalugaDate): Duration = timeZone.getOffset(date.durationSinceEpoch.inWholeMilliseconds).milliseconds + actual override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = timeZone.inDaylightTime(date.date) + actual override fun copy(): KalugaTimeZone = KalugaTimeZone(timeZone.clone() as java.util.TimeZone) override fun equals(other: Any?): Boolean { return (other as? KalugaTimeZone)?.let { timeZone == other.timeZone } ?: false } + + override fun hashCode(): Int = timeZone.hashCode() } diff --git a/base/src/commonMain/kotlin/MultiplatformMainScope.kt b/base/src/commonMain/kotlin/MultiplatformMainScope.kt deleted file mode 100644 index c752caa5f..000000000 --- a/base/src/commonMain/kotlin/MultiplatformMainScope.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.base - -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.MainScope - -@Deprecated("Use MainScope", ReplaceWith("MainScope()", "kotlinx.coroutines.MainScope")) -fun MultiplatformMainScope(): CoroutineScope { - return MainScope() -} diff --git a/base/src/commonMain/kotlin/text/KalugaDateFormatter.kt b/base/src/commonMain/kotlin/text/KalugaDateFormatter.kt index c63722750..8d5251094 100644 --- a/base/src/commonMain/kotlin/text/KalugaDateFormatter.kt +++ b/base/src/commonMain/kotlin/text/KalugaDateFormatter.kt @@ -165,13 +165,20 @@ expect class KalugaDateFormatter : BaseDateFormatter { */ fun patternFormat(pattern: String, timeZone: KalugaTimeZone = KalugaTimeZone.current(), locale: KalugaLocale = defaultLocale): KalugaDateFormatter } -} -@Deprecated( - "Due to name clashes with platform classes and API changes this class has been renamed and changed to an interface. It will be removed in a future release.", - ReplaceWith("KalugaState"), -) -typealias DateFormatter = KalugaDateFormatter + override var pattern: String + override var timeZone: KalugaTimeZone + override var eras: List + override var months: List + override var shortMonths: List + override var weekdays: List + override var shortWeekdays: List + override var amString: String + override var pmString: String + + override fun format(date: KalugaDate): String + override fun parse(string: String): KalugaDate? +} /** * Creates a fixed [KalugaDateFormatter] using a custom Date format pattern, localized by the [KalugaLocale.enUsPosix] [KalugaLocale]. diff --git a/base/src/commonMain/kotlin/text/NumberFormatter.kt b/base/src/commonMain/kotlin/text/NumberFormatter.kt index 8dcb1540a..0aec25da8 100644 --- a/base/src/commonMain/kotlin/text/NumberFormatter.kt +++ b/base/src/commonMain/kotlin/text/NumberFormatter.kt @@ -321,4 +321,29 @@ interface BaseNumberFormatter { * @param locale The [KalugaLocale] used for parsing. Defaults to [KalugaLocale.defaultLocale]. * @param style The [NumberFormatStyle] to configure the format to use. Defaults to [NumberFormatStyle.Decimal]. */ -expect class NumberFormatter constructor(locale: KalugaLocale = defaultLocale, style: NumberFormatStyle = NumberFormatStyle.Decimal()) : BaseNumberFormatter +expect class NumberFormatter constructor(locale: KalugaLocale = defaultLocale, style: NumberFormatStyle = NumberFormatStyle.Decimal()) : BaseNumberFormatter { + override val locale: KalugaLocale + override var percentSymbol: Char + override var perMillSymbol: Char + override var minusSign: Char + override var exponentSymbol: String + override var zeroSymbol: Char + override var notANumberSymbol: String + override var infinitySymbol: String + override var currencySymbol: String + override var currencyCode: String + override var positivePrefix: String + override var positiveSuffix: String + override var negativePrefix: String + override var negativeSuffix: String + override var groupingSeparator: Char + override var usesGroupingSeparator: Boolean + override var decimalSeparator: Char + override var alwaysShowsDecimalSeparator: Boolean + override var currencyDecimalSeparator: Char + override var groupingSize: Int + override var multiplier: Int + + override fun format(number: Number): String + override fun parse(string: String): Number? +} diff --git a/base/src/commonMain/kotlin/utils/BufferedAsListChannel.kt b/base/src/commonMain/kotlin/utils/BufferedAsListChannel.kt index 8f94aaee2..cc07223d2 100644 --- a/base/src/commonMain/kotlin/utils/BufferedAsListChannel.kt +++ b/base/src/commonMain/kotlin/utils/BufferedAsListChannel.kt @@ -122,16 +122,6 @@ internal class BufferedAsListChannelInt private constructor( false } - @Deprecated( - "Since 1.2.0, binary compatibility with versions <= 1.1.x", - level = DeprecationLevel.HIDDEN, - ) - override fun cancel(cause: Throwable?): Boolean { - sendChannel.cancel(cause as? CancellationException) - receiveChannel.cancel(cause as? CancellationException) - return true - } - override fun cancel(cause: CancellationException?) { sendChannel.cancel(cause) receiveChannel.cancel(cause) diff --git a/base/src/commonMain/kotlin/utils/Decimal.kt b/base/src/commonMain/kotlin/utils/Decimal.kt index b5741fad4..ebbab2230 100644 --- a/base/src/commonMain/kotlin/utils/Decimal.kt +++ b/base/src/commonMain/kotlin/utils/Decimal.kt @@ -65,7 +65,9 @@ sealed class Decimal : Comparable { /** * Platform specific representation of a finite immutable, arbitrary-precision signed decimal number */ -expect class FiniteDecimal : Comparable +expect class FiniteDecimal : Comparable { + override fun compareTo(other: FiniteDecimal): Int +} /** * Adds two [Decimal] together. diff --git a/base/src/commonMain/kotlin/utils/KalugaDate.kt b/base/src/commonMain/kotlin/utils/KalugaDate.kt index 0975d8239..a07eac11c 100644 --- a/base/src/commonMain/kotlin/utils/KalugaDate.kt +++ b/base/src/commonMain/kotlin/utils/KalugaDate.kt @@ -171,6 +171,30 @@ expect class DefaultKalugaDate : KalugaDate { */ fun epoch(offset: Duration = 0.milliseconds, timeZone: KalugaTimeZone = KalugaTimeZone.current(), locale: KalugaLocale = defaultLocale): KalugaDate } + + override var timeZone: KalugaTimeZone + override var era: Int + override var year: Int + override var month: Int + override val daysInMonth: Int + override var weekOfYear: Int + override var weekOfMonth: Int + override var day: Int + override var dayOfYear: Int + override var weekDay: Int + override var firstWeekDay: Int + override var hour: Int + override var minute: Int + override var second: Int + override var millisecond: Int + override var durationSinceEpoch: Duration + override val date: KalugaDateHolder + override fun copy(): KalugaDate + override fun equals(other: Any?): Boolean + + override fun hashCode(): Int + + override fun compareTo(other: KalugaDate): Int } /** @@ -193,12 +217,6 @@ fun DefaultKalugaDate.Companion.now(offsetInMilliseconds: Long, timeZone: Kaluga fun DefaultKalugaDate.Companion.epoch(offsetInMilliseconds: Long, timeZone: KalugaTimeZone = KalugaTimeZone.current(), locale: KalugaLocale = defaultLocale): KalugaDate = epoch(offsetInMilliseconds.milliseconds, timeZone, locale) -@Deprecated( - "Due to name clashes with platform classes and API changes this class has been renamed and changed to an interface. It will be removed in a future release.", - ReplaceWith("KalugaDate"), -) -typealias Date = KalugaDate - /** * Gets the [Duration] between two [KalugaDate] * @param other the [KalugaDate] to subtract diff --git a/base/src/commonMain/kotlin/utils/KalugaLocale.kt b/base/src/commonMain/kotlin/utils/KalugaLocale.kt index d984b4a54..19582360e 100644 --- a/base/src/commonMain/kotlin/utils/KalugaLocale.kt +++ b/base/src/commonMain/kotlin/utils/KalugaLocale.kt @@ -158,6 +158,22 @@ expect class KalugaLocale : BaseLocale { */ val availableLocales: List } + + override val countryCode: String + override val languageCode: String + override val scriptCode: String + override val variantCode: String + override val unitSystem: UnitSystem + override val quotationStart: String + override val quotationEnd: String + override val alternateQuotationStart: String + override val alternateQuotationEnd: String + + override fun name(forLocale: KalugaLocale): String + override fun countryName(forLocale: KalugaLocale): String + override fun languageName(forLocale: KalugaLocale): String + override fun variantName(forLocale: KalugaLocale): String + override fun scriptName(forLocale: KalugaLocale): String } /** @@ -173,9 +189,3 @@ val KalugaLocale.uses24HourClock: Boolean get() { val formattedDate = formatter.format(DefaultKalugaDate.now()) return !formattedDate.contains(formatter.amString) && !formattedDate.contains(formatter.pmString) } - -@Deprecated( - "Due to name clashes with platform classes and API changes this class has been renamed and changed to an interface. It will be removed in a future release.", - ReplaceWith("KalugaLocale"), -) -typealias Locale = KalugaLocale diff --git a/base/src/commonMain/kotlin/utils/KalugaTimeZone.kt b/base/src/commonMain/kotlin/utils/KalugaTimeZone.kt index c10af1cba..066f8eb78 100644 --- a/base/src/commonMain/kotlin/utils/KalugaTimeZone.kt +++ b/base/src/commonMain/kotlin/utils/KalugaTimeZone.kt @@ -97,7 +97,7 @@ abstract class BaseTimeZone { /** * Returns `true` if this [KalugaTimeZone] is observing daylight savings at a given [KalugaDate] - * @param date The [KalugaDate] for which to check whether daylight savings is observed. Defaults to [KalugaDate.now] + * @param date The [KalugaDate] for which to check whether daylight savings is observed. Defaults to [DefaultKalugaDate.now] * @return `true` if this [KalugaTimeZone] if observing daylight savings at [date] */ abstract fun usesDaylightSavingsTime(date: KalugaDate = now()): Boolean @@ -134,10 +134,13 @@ expect class KalugaTimeZone : BaseTimeZone { */ val availableIdentifiers: List } -} -@Deprecated( - "Due to name clashes with platform classes and API changes this class has been renamed and changed to an interface. It will be removed in a future release.", - ReplaceWith("KalugaTimeZone"), -) -typealias TimeZone = KalugaTimeZone + override val identifier: String + override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String + override val offsetFromGMT: Duration + override val daylightSavingsOffset: Duration + + override fun offsetFromGMTAtDate(date: KalugaDate): Duration + override fun usesDaylightSavingsTime(date: KalugaDate): Boolean + override fun copy(): KalugaTimeZone +} diff --git a/base/src/commonTest/kotlin/utils/BufferedAsListChannelTest.kt b/base/src/commonTest/kotlin/utils/BufferedAsListChannelTest.kt index 0d52c509d..ba572203d 100644 --- a/base/src/commonTest/kotlin/utils/BufferedAsListChannelTest.kt +++ b/base/src/commonTest/kotlin/utils/BufferedAsListChannelTest.kt @@ -53,7 +53,7 @@ class BufferedAsListChannelTest { try { for (i in 1..100) { groupingChannel.trySend(i) - delay(1.milliseconds) + delay(10.milliseconds) } groupingChannel.close() didCompletedProductionExceptionally.complete(false) @@ -70,7 +70,7 @@ class BufferedAsListChannelTest { try { groupingChannel.receiveAsFlow().collect { consumedResult.add(it) - delay(10.milliseconds) + delay(100.milliseconds) } didCompletedConsumptionExceptionally.complete(false) } catch (e: CancellationException) { diff --git a/base/src/iosMain/kotlin/text/KalugaDateFormatter.kt b/base/src/iosMain/kotlin/text/KalugaDateFormatter.kt index a07c2aa16..2c058a46d 100644 --- a/base/src/iosMain/kotlin/text/KalugaDateFormatter.kt +++ b/base/src/iosMain/kotlin/text/KalugaDateFormatter.kt @@ -119,59 +119,59 @@ actual class KalugaDateFormatter private constructor(private val format: NSDateF }.date } - override var pattern: String + actual override var pattern: String get() = format.dateFormat set(value) { format.dateFormat = value } - override var timeZone: KalugaTimeZone + actual override var timeZone: KalugaTimeZone get() = KalugaTimeZone(format.timeZone) set(value) { format.timeZone = value.timeZone } - override var eras: List + actual override var eras: List get() = format.eraSymbols.typedList() set(value) { format.eraSymbols = value } - override var months: List + actual override var months: List get() = format.monthSymbols.typedList() set(value) { format.monthSymbols = value } - override var shortMonths: List + actual override var shortMonths: List get() = format.shortMonthSymbols.typedList() set(value) { format.shortMonthSymbols = value } - override var weekdays: List + actual override var weekdays: List get() = format.weekdaySymbols.typedList() set(value) { format.weekdaySymbols = value } - override var shortWeekdays: List + actual override var shortWeekdays: List get() = format.shortWeekdaySymbols.typedList() set(value) { format.shortWeekdaySymbols = value } - override var amString: String + actual override var amString: String get() = format.AMSymbol set(value) { format.AMSymbol = value } - override var pmString: String + actual override var pmString: String get() = format.PMSymbol set(value) { format.PMSymbol = value } - override fun format(date: KalugaDate): String = format.stringFromDate(date.date) - override fun parse(string: String): KalugaDate? { + actual override fun format(date: KalugaDate): String = format.stringFromDate(date.date) + actual override fun parse(string: String): KalugaDate? { return format.dateFromString(string)?.let { date -> val calendar = format.calendar.copy() as NSCalendar calendar.timeZone = timeZone.timeZone diff --git a/base/src/iosMain/kotlin/text/NumberFormatter.kt b/base/src/iosMain/kotlin/text/NumberFormatter.kt index 6cf3f2667..6570c11de 100644 --- a/base/src/iosMain/kotlin/text/NumberFormatter.kt +++ b/base/src/iosMain/kotlin/text/NumberFormatter.kt @@ -37,7 +37,7 @@ import platform.Foundation.numberWithInt * @param locale The [KalugaLocale] used for parsing. Defaults to [KalugaLocale.defaultLocale]. * @param style The [NumberFormatStyle] to configure the format to use. Defaults to [NumberFormatStyle.Decimal]. */ -actual class NumberFormatter actual constructor(override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { +actual class NumberFormatter actual constructor(actual override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { @ExperimentalUnsignedTypes private val formatter = NSNumberFormatter().apply { @@ -110,118 +110,118 @@ actual class NumberFormatter actual constructor(override val locale: KalugaLocal } } - override var percentSymbol: Char + actual override var percentSymbol: Char get() = formatter.percentSymbol.getOrNull(0) ?: Char.MIN_VALUE set(value) { formatter.percentSymbol = charArrayOf(value).concatToString() } - override var perMillSymbol: Char + actual override var perMillSymbol: Char get() = formatter.perMillSymbol.getOrNull(0) ?: Char.MIN_VALUE set(value) { formatter.perMillSymbol = charArrayOf(value).concatToString() } - override var minusSign: Char + actual override var minusSign: Char get() = formatter.minusSign.getOrNull(0) ?: Char.MIN_VALUE set(value) { formatter.minusSign = charArrayOf(value).concatToString() } - override var exponentSymbol: String + actual override var exponentSymbol: String get() = formatter.exponentSymbol set(value) { formatter.exponentSymbol = value } - override var zeroSymbol: Char + actual override var zeroSymbol: Char get() = formatter.zeroSymbol?.getOrNull(0) ?: '0' set(value) { formatter.zeroSymbol = charArrayOf(value).concatToString() } - override var notANumberSymbol: String + actual override var notANumberSymbol: String get() = formatter.notANumberSymbol set(value) { formatter.notANumberSymbol = value } - override var infinitySymbol: String + actual override var infinitySymbol: String get() = formatter.positiveInfinitySymbol set(value) { formatter.positiveInfinitySymbol = value formatter.negativeInfinitySymbol = value } - override var currencySymbol: String + actual override var currencySymbol: String get() = formatter.currencySymbol set(value) { formatter.currencySymbol = value } - override var currencyCode: String + actual override var currencyCode: String get() = formatter.currencyCode set(value) { formatter.currencyCode = value } - override var positivePrefix: String + actual override var positivePrefix: String get() = formatter.positivePrefix set(value) { formatter.positivePrefix = value } - override var positiveSuffix: String + actual override var positiveSuffix: String get() = formatter.positiveSuffix set(value) { formatter.positiveSuffix = value } - override var negativePrefix: String + actual override var negativePrefix: String get() = formatter.negativePrefix set(value) { formatter.negativePrefix = value } - override var negativeSuffix: String + actual override var negativeSuffix: String get() = formatter.negativeSuffix set(value) { formatter.negativeSuffix = value } - override var groupingSeparator: Char + actual override var groupingSeparator: Char get() = formatter.groupingSeparator.getOrNull(0) ?: Char.MIN_VALUE set(value) { val charValue = charArrayOf(value).concatToString() formatter.groupingSeparator = charValue formatter.currencyGroupingSeparator = charValue } - override var usesGroupingSeparator: Boolean + actual override var usesGroupingSeparator: Boolean get() = formatter.usesGroupingSeparator set(value) { formatter.usesGroupingSeparator = value } - override var decimalSeparator: Char + actual override var decimalSeparator: Char get() = formatter.decimalSeparator.getOrNull(0) ?: Char.MIN_VALUE set(value) { formatter.decimalSeparator = charArrayOf(value).concatToString() } - override var alwaysShowsDecimalSeparator: Boolean + actual override var alwaysShowsDecimalSeparator: Boolean get() = formatter.alwaysShowsDecimalSeparator set(value) { formatter.alwaysShowsDecimalSeparator = value } - override var currencyDecimalSeparator: Char + actual override var currencyDecimalSeparator: Char get() = formatter.currencyDecimalSeparator.getOrNull(0) ?: Char.MIN_VALUE set(value) { formatter.currencyDecimalSeparator = charArrayOf(value).concatToString() } - override var groupingSize: Int + actual override var groupingSize: Int get() = formatter.groupingSize.toInt() set(value) { formatter.groupingSize = value.toULong() formatter.secondaryGroupingSize = value.toULong() } - override var multiplier: Int + actual override var multiplier: Int get() = formatter.multiplier?.intValue ?: 1 set(value) { formatter.multiplier = NSNumber.numberWithInt(value) } @Suppress("CAST_NEVER_SUCCEEDS") // Should succeed just fine - override fun format(number: Number): String { + actual override fun format(number: Number): String { return (formatter.stringFromNumber(number as NSNumber) ?: "") } @Suppress("CAST_NEVER_SUCCEEDS") // Should succeed just fine - override fun parse(string: String): Number? { + actual override fun parse(string: String): Number? { return formatter.numberFromString(string) as? Number } } diff --git a/base/src/iosMain/kotlin/utils/Decimal.kt b/base/src/iosMain/kotlin/utils/Decimal.kt index 69a9a4a80..1956930c5 100644 --- a/base/src/iosMain/kotlin/utils/Decimal.kt +++ b/base/src/iosMain/kotlin/utils/Decimal.kt @@ -27,7 +27,7 @@ import kotlin.math.absoluteValue * @property nsDecimal the [NSDecimalNumber] representing the finite decimal number */ actual data class FiniteDecimal(val nsDecimal: NSDecimalNumber) : Comparable { - override fun compareTo(other: FiniteDecimal): Int = nsDecimal.compare(other.nsDecimal).toInt() + actual override fun compareTo(other: FiniteDecimal): Int = nsDecimal.compare(other.nsDecimal).toInt() override fun equals(other: Any?): Boolean = (other as? FiniteDecimal)?.let { nsDecimal.isEqualToNumber(it.nsDecimal) } ?: false override fun hashCode(): Int { return nsDecimal.hashCode() diff --git a/base/src/iosMain/kotlin/utils/KalugaDate.kt b/base/src/iosMain/kotlin/utils/KalugaDate.kt index 3ae85b67f..98b42cb85 100644 --- a/base/src/iosMain/kotlin/utils/KalugaDate.kt +++ b/base/src/iosMain/kotlin/utils/KalugaDate.kt @@ -87,89 +87,90 @@ actual class DefaultKalugaDate internal constructor(private val calendar: NSCale } } - override var date: NSDate = initialDate + private var _date: NSDate = initialDate + actual override val date: NSDate get() = _date - override var timeZone: KalugaTimeZone + actual override var timeZone: KalugaTimeZone get() = KalugaTimeZone(calendar.timeZone) set(value) { calendar.timeZone = value.timeZone } - override var era: Int + actual override var era: Int get() = calendar.component(NSCalendarUnitEra, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitEra, value) } - override var year: Int + actual override var year: Int get() = calendar.component(NSCalendarUnitYear, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitYear, value) } - override var month: Int + actual override var month: Int get() = calendar.component(NSCalendarUnitMonth, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitMonth, value) } - override val daysInMonth: Int get() = calendar.rangeOfUnit(NSCalendarUnitDay, NSCalendarUnitMonth, forDate = date).useContents { this.length.toInt() } - override var weekOfYear: Int + actual override val daysInMonth: Int get() = calendar.rangeOfUnit(NSCalendarUnitDay, NSCalendarUnitMonth, forDate = date).useContents { this.length.toInt() } + actual override var weekOfYear: Int get() = calendar.component(NSCalendarUnitWeekOfYear, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitWeekOfYear, value) } - override var weekOfMonth: Int + actual override var weekOfMonth: Int get() = calendar.component(NSCalendarUnitWeekOfMonth, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitWeekOfMonth, value) } - override var day: Int + actual override var day: Int get() = calendar.component(NSCalendarUnitDay, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitDay, value) } - override var dayOfYear: Int + actual override var dayOfYear: Int get() = calendar.ordinalityOfUnit(NSCalendarUnitDay, NSCalendarUnitYear, date).toInt() set(value) { updateDateForComponent(NSCalendarUnitDay, value - dayOfYear + day) } - override var weekDay: Int + actual override var weekDay: Int get() = calendar.component(NSCalendarUnitWeekday, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitWeekday, value) } - override var firstWeekDay: Int + actual override var firstWeekDay: Int get() = (calendar.firstWeekday.toInt()) set(value) { calendar.firstWeekday = value.toULong() } - override var hour: Int + actual override var hour: Int get() = calendar.component(NSCalendarUnitHour, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitHour, value) } - override var minute: Int + actual override var minute: Int get() = calendar.component(NSCalendarUnitMinute, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitMinute, value) } - override var second: Int + actual override var second: Int get() = calendar.component(NSCalendarUnitSecond, fromDate = date).toInt() set(value) { updateDateForComponent(NSCalendarUnitSecond, value) } - override var millisecond: Int + actual override var millisecond: Int get() = calendar.component(NSCalendarUnitNanosecond, fromDate = date).toInt() / nanoSecondPerMilliSecond set(value) { updateDateForComponent(NSCalendarUnitNanosecond, value * nanoSecondPerMilliSecond) } - override var durationSinceEpoch: Duration + actual override var durationSinceEpoch: Duration get() = date.timeIntervalSince1970.seconds set(value) { - date = NSDate.dateWithTimeIntervalSince1970(value.toDouble(DurationUnit.SECONDS)) + _date = NSDate.dateWithTimeIntervalSince1970(value.toDouble(DurationUnit.SECONDS)) } - override fun copy(): KalugaDate = DefaultKalugaDate(calendar.copy() as NSCalendar, date.copy() as NSDate) + actual override fun copy(): KalugaDate = DefaultKalugaDate(calendar.copy() as NSCalendar, date.copy() as NSDate) - override fun equals(other: Any?): Boolean { + actual override fun equals(other: Any?): Boolean { return if (other is DefaultKalugaDate) { calendar.calendarIdentifier == other.calendar.calendarIdentifier && durationSinceEpoch == other.durationSinceEpoch && this.calendar.timeZone == other.calendar.timeZone } else { @@ -177,13 +178,13 @@ actual class DefaultKalugaDate internal constructor(private val calendar: NSCale } } - override fun hashCode(): Int { + actual override fun hashCode(): Int { var result = calendar.calendarIdentifier.hashCode() result = 31 * result + date.hashCode() return result } - override fun compareTo(other: KalugaDate): Int = this.date.compare(other.date).toInt() + actual override fun compareTo(other: KalugaDate): Int = this.date.compare(other.date).toInt() private fun updateDateForComponent(component: NSCalendarUnit, value: Int) { // Check whether this component update can use dateBySettingUnit. @@ -223,7 +224,7 @@ actual class DefaultKalugaDate internal constructor(private val calendar: NSCale 0UL, ) }?.let { - date = it + _date = it } } diff --git a/base/src/iosMain/kotlin/utils/KalugaLocale.kt b/base/src/iosMain/kotlin/utils/KalugaLocale.kt index 5e66646a0..07ac13657 100644 --- a/base/src/iosMain/kotlin/utils/KalugaLocale.kt +++ b/base/src/iosMain/kotlin/utils/KalugaLocale.kt @@ -79,27 +79,27 @@ actual data class KalugaLocale internal constructor(val nsLocale: NSLocale) : Ba actual val availableLocales: List = NSLocale.availableLocaleIdentifiers.typedList().map { KalugaLocale(NSLocale(it)) } } - override val countryCode: String + actual override val countryCode: String get() = nsLocale.countryCode ?: "" - override val languageCode: String + actual override val languageCode: String get() = nsLocale.languageCode - override val scriptCode: String + actual override val scriptCode: String get() = nsLocale.scriptCode ?: "" - override val variantCode: String + actual override val variantCode: String get() = nsLocale.variantCode ?: "" - override val unitSystem: UnitSystem + actual override val unitSystem: UnitSystem get() = (nsLocale.objectForKey("kCFLocaleMeasurementSystemKey") as? String)?.let { UnitSystem.withRawValue(it) } ?: UnitSystem.METRIC - override fun name(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForLocaleIdentifier(nsLocale.localeIdentifier) - override fun countryName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForCountryCode(countryCode) ?: "" - override fun languageName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForLanguageCode(languageCode) ?: "" - override fun variantName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForVariantCode(variantCode) ?: "" - override fun scriptName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForScriptCode(scriptCode) ?: "" + actual override fun name(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForLocaleIdentifier(nsLocale.localeIdentifier) + actual override fun countryName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForCountryCode(countryCode) ?: "" + actual override fun languageName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForLanguageCode(languageCode) ?: "" + actual override fun variantName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForVariantCode(variantCode) ?: "" + actual override fun scriptName(forLocale: KalugaLocale): String = forLocale.nsLocale.localizedStringForScriptCode(scriptCode) ?: "" - override val quotationStart: String = nsLocale.quotationBeginDelimiter - override val quotationEnd: String = nsLocale.quotationEndDelimiter - override val alternateQuotationStart: String = nsLocale.alternateQuotationBeginDelimiter - override val alternateQuotationEnd: String = nsLocale.alternateQuotationEndDelimiter + actual override val quotationStart: String = nsLocale.quotationBeginDelimiter + actual override val quotationEnd: String = nsLocale.quotationEndDelimiter + actual override val alternateQuotationStart: String = nsLocale.alternateQuotationBeginDelimiter + actual override val alternateQuotationEnd: String = nsLocale.alternateQuotationEndDelimiter } diff --git a/base/src/iosMain/kotlin/utils/KalugaTimeZone.kt b/base/src/iosMain/kotlin/utils/KalugaTimeZone.kt index aef540465..aabfd0546 100644 --- a/base/src/iosMain/kotlin/utils/KalugaTimeZone.kt +++ b/base/src/iosMain/kotlin/utils/KalugaTimeZone.kt @@ -67,15 +67,15 @@ actual class KalugaTimeZone internal constructor(val timeZone: NSTimeZone) : Bas actual val availableIdentifiers: List = NSTimeZone.knownTimeZoneNames.typedList() } - override val identifier: String = timeZone.name - override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String { + actual override val identifier: String = timeZone.name + actual override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String { val nameStyle = when (style) { TimeZoneNameStyle.Short -> if (withDaylightSavings) NSTimeZoneNameStyle.NSTimeZoneNameStyleShortDaylightSaving else NSTimeZoneNameStyle.NSTimeZoneNameStyleShortStandard TimeZoneNameStyle.Long -> if (withDaylightSavings) NSTimeZoneNameStyle.NSTimeZoneNameStyleDaylightSaving else NSTimeZoneNameStyle.NSTimeZoneNameStyleStandard } return timeZone.localizedName(nameStyle, locale.nsLocale) ?: "" } - override val offsetFromGMT: Duration get() { + actual override val offsetFromGMT: Duration get() { val rawOffset = if (timeZone.isDaylightSavingTime()) { timeZone.secondsFromGMT.toDouble() - timeZone.daylightSavingTimeOffset } else { @@ -85,7 +85,7 @@ actual class KalugaTimeZone internal constructor(val timeZone: NSTimeZone) : Bas return rawOffset.seconds } - override val daylightSavingsOffset: Duration get() { + actual override val daylightSavingsOffset: Duration get() { val rawOffset = if (timeZone.isDaylightSavingTime()) { timeZone.daylightSavingTimeOffset.toLong() } else { @@ -95,10 +95,12 @@ actual class KalugaTimeZone internal constructor(val timeZone: NSTimeZone) : Bas } return rawOffset.seconds } - override fun offsetFromGMTAtDate(date: KalugaDate): Duration = timeZone.secondsFromGMTForDate(date.date).seconds - override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = timeZone.isDaylightSavingTimeForDate(date.date) - override fun copy(): KalugaTimeZone = KalugaTimeZone(timeZone.copy() as NSTimeZone) + actual override fun offsetFromGMTAtDate(date: KalugaDate): Duration = timeZone.secondsFromGMTForDate(date.date).seconds + actual override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = timeZone.isDaylightSavingTimeForDate(date.date) + actual override fun copy(): KalugaTimeZone = KalugaTimeZone(timeZone.copy() as NSTimeZone) override fun equals(other: Any?): Boolean { return (other as? KalugaTimeZone)?.let { timeZone == other.timeZone } ?: false } + + override fun hashCode(): Int = timeZone.hashCode() } diff --git a/base/src/jsMain/kotlin/runBlocking.kt b/base/src/jsMain/kotlin/runBlocking.kt index 446320739..57088a6d7 100644 --- a/base/src/jsMain/kotlin/runBlocking.kt +++ b/base/src/jsMain/kotlin/runBlocking.kt @@ -20,7 +20,7 @@ package com.splendo.kaluga.base import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.launch +import kotlinx.coroutines.async import kotlin.coroutines.CoroutineContext /** @@ -29,7 +29,4 @@ import kotlin.coroutines.CoroutineContext * @param context the context of the coroutine. The default value is an event loop on the current thread. * @param block the coroutine code. */ -actual fun runBlocking(context: CoroutineContext, block: suspend CoroutineScope.() -> T): dynamic { - // this does not wait for the result unfortunately - return GlobalScope.launch { block(this) } -} +actual fun runBlocking(context: CoroutineContext, block: suspend CoroutineScope.() -> T): T = GlobalScope.async { block(this) }.asDynamic() diff --git a/base/src/jsMain/kotlin/text/KalugaDateFormatter.kt b/base/src/jsMain/kotlin/text/KalugaDateFormatter.kt index 0b8df433b..cc3dcc198 100644 --- a/base/src/jsMain/kotlin/text/KalugaDateFormatter.kt +++ b/base/src/jsMain/kotlin/text/KalugaDateFormatter.kt @@ -70,22 +70,22 @@ actual class KalugaDateFormatter private constructor(initialTimeZone: KalugaTime KalugaDateFormatter(timeZone) { date -> date.toLocaleString(arrayOf("${locale.languageCode}-${locale.countryCode}")) } } - override var pattern: String = "" + actual override var pattern: String = "" - override var timeZone: KalugaTimeZone = initialTimeZone - override var eras: List = emptyList() + actual override var timeZone: KalugaTimeZone = initialTimeZone + actual override var eras: List = emptyList() - override var months: List = emptyList() - override var shortMonths: List = emptyList() + actual override var months: List = emptyList() + actual override var shortMonths: List = emptyList() - override var weekdays: List = emptyList() - override var shortWeekdays: List = emptyList() + actual override var weekdays: List = emptyList() + actual override var shortWeekdays: List = emptyList() - override var amString: String = "" - override var pmString: String = "" + actual override var amString: String = "" + actual override var pmString: String = "" - override fun format(date: KalugaDate): String = formatter(date.date) - override fun parse(string: String): KalugaDate? = null + actual override fun format(date: KalugaDate): String = formatter(date.date) + actual override fun parse(string: String): KalugaDate? = null } private fun DateFormatStyle.stringValue(): String = when (this) { diff --git a/base/src/jsMain/kotlin/text/NumberFormatter.kt b/base/src/jsMain/kotlin/text/NumberFormatter.kt index 48423ad08..dc020cf23 100644 --- a/base/src/jsMain/kotlin/text/NumberFormatter.kt +++ b/base/src/jsMain/kotlin/text/NumberFormatter.kt @@ -25,28 +25,28 @@ import com.splendo.kaluga.base.utils.KalugaLocale * @param locale The [KalugaLocale] used for parsing. Defaults to [KalugaLocale.defaultLocale]. * @param style The [NumberFormatStyle] to configure the format to use. Defaults to [NumberFormatStyle.Decimal]. */ -actual class NumberFormatter actual constructor(override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { - override var percentSymbol: Char = '%' - override var perMillSymbol: Char = '\u2030' - override var minusSign: Char = '-' - override var exponentSymbol: String = "E" - override var zeroSymbol: Char = '0' - override var notANumberSymbol: String = "NaN" - override var infinitySymbol: String = "\u221E" - override var currencySymbol: String = "" - override var currencyCode: String = "" - override var positivePrefix: String = "" - override var positiveSuffix: String = "" - override var negativePrefix: String = "-" - override var negativeSuffix: String = "" - override var groupingSeparator: Char = ',' - override var usesGroupingSeparator: Boolean = false - override var decimalSeparator: Char = '.' - override var alwaysShowsDecimalSeparator: Boolean = false - override var currencyDecimalSeparator: Char = '.' - override var groupingSize: Int = 0 - override var multiplier: Int = 1 - - override fun format(number: Number): String = "$number" - override fun parse(string: String): Number? = string.toFloatOrNull() +actual class NumberFormatter actual constructor(actual override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { + actual override var percentSymbol: Char = '%' + actual override var perMillSymbol: Char = '\u2030' + actual override var minusSign: Char = '-' + actual override var exponentSymbol: String = "E" + actual override var zeroSymbol: Char = '0' + actual override var notANumberSymbol: String = "NaN" + actual override var infinitySymbol: String = "\u221E" + actual override var currencySymbol: String = "" + actual override var currencyCode: String = "" + actual override var positivePrefix: String = "" + actual override var positiveSuffix: String = "" + actual override var negativePrefix: String = "-" + actual override var negativeSuffix: String = "" + actual override var groupingSeparator: Char = ',' + actual override var usesGroupingSeparator: Boolean = false + actual override var decimalSeparator: Char = '.' + actual override var alwaysShowsDecimalSeparator: Boolean = false + actual override var currencyDecimalSeparator: Char = '.' + actual override var groupingSize: Int = 0 + actual override var multiplier: Int = 1 + + actual override fun format(number: Number): String = "$number" + actual override fun parse(string: String): Number? = string.toFloatOrNull() } diff --git a/base/src/jsMain/kotlin/utils/Decimal.kt b/base/src/jsMain/kotlin/utils/Decimal.kt index 62df10607..473bbbf13 100644 --- a/base/src/jsMain/kotlin/utils/Decimal.kt +++ b/base/src/jsMain/kotlin/utils/Decimal.kt @@ -52,7 +52,7 @@ data class Rounding( * @property bd the [BigDecimal] representing the finite decimal number */ actual data class FiniteDecimal(val bd: BigDecimal) : Comparable { - override fun compareTo(other: FiniteDecimal): Int = BigDecimal.compare(bd, other.bd) + actual override fun compareTo(other: FiniteDecimal): Int = BigDecimal.compare(bd, other.bd) override fun equals(other: Any?): Boolean = (other as? FiniteDecimal)?.let { BigDecimal.equal(bd, it.bd) } ?: false override fun hashCode(): Int { return bd.hashCode() diff --git a/base/src/jsMain/kotlin/utils/KalugaDate.kt b/base/src/jsMain/kotlin/utils/KalugaDate.kt index 85a8ed53d..f7122c377 100644 --- a/base/src/jsMain/kotlin/utils/KalugaDate.kt +++ b/base/src/jsMain/kotlin/utils/KalugaDate.kt @@ -26,7 +26,7 @@ actual typealias KalugaDateHolder = kotlin.js.Date /** * Default implementation of [KalugaDate] */ -actual class DefaultKalugaDate internal constructor(override val date: KalugaDateHolder) : KalugaDate() { +actual class DefaultKalugaDate internal constructor(actual override val date: KalugaDateHolder) : KalugaDate() { actual companion object { @@ -51,64 +51,64 @@ actual class DefaultKalugaDate internal constructor(override val date: KalugaDat actual fun epoch(offset: Duration, timeZone: KalugaTimeZone, locale: KalugaLocale): KalugaDate = DefaultKalugaDate(kotlin.js.Date(offset.inWholeMilliseconds)) } - override var timeZone: KalugaTimeZone + actual override var timeZone: KalugaTimeZone get() = KalugaTimeZone() set(_) { } - override var era: Int + actual override var era: Int get() = 0 set(_) { } - override var year: Int + actual override var year: Int get() = date.getFullYear() set(_) { } - override var month: Int + actual override var month: Int get() = date.getMonth() set(_) { } - override val daysInMonth: Int = 0 - override var weekOfYear: Int + actual override val daysInMonth: Int = 0 + actual override var weekOfYear: Int get() = 0 set(_) { } - override var weekOfMonth: Int + actual override var weekOfMonth: Int get() = 0 set(_) { } - override var day: Int + actual override var day: Int get() = 0 set(_) { } - override var dayOfYear: Int + actual override var dayOfYear: Int get() = date.getDay() set(_) { } - override var weekDay: Int + actual override var weekDay: Int get() = date.getDate() + 1 set(_) { } - override var firstWeekDay: Int + actual override var firstWeekDay: Int get() = 1 set(_) { } - override var hour: Int + actual override var hour: Int get() = date.getHours() set(_) { } - override var minute: Int + actual override var minute: Int get() = date.getMinutes() set(_) { } - override var second: Int + actual override var second: Int get() = date.getSeconds() set(_) { } - override var millisecond: Int + actual override var millisecond: Int get() = date.getMilliseconds() set(_) { } - override var durationSinceEpoch: Duration + actual override var durationSinceEpoch: Duration get() = date.getTime().milliseconds set(_) { } - override fun copy(): KalugaDate = DefaultKalugaDate(kotlin.js.Date(date.getMilliseconds())) + actual override fun copy(): KalugaDate = DefaultKalugaDate(kotlin.js.Date(date.getMilliseconds())) - override fun equals(other: Any?): Boolean { + actual override fun equals(other: Any?): Boolean { return (other as? KalugaDate)?.let { timeZone == other.timeZone && durationSinceEpoch == other.durationSinceEpoch } ?: false } - override fun compareTo(other: KalugaDate): Int { + actual override fun compareTo(other: KalugaDate): Int { return when { date.getMilliseconds() < other.millisecond -> -1 date.getMilliseconds() == other.millisecond -> 0 @@ -116,7 +116,7 @@ actual class DefaultKalugaDate internal constructor(override val date: KalugaDat } } - override fun hashCode(): Int { + actual override fun hashCode(): Int { return date.hashCode() } } diff --git a/base/src/jsMain/kotlin/utils/KalugaLocale.kt b/base/src/jsMain/kotlin/utils/KalugaLocale.kt index beff8c40e..45d7624a2 100644 --- a/base/src/jsMain/kotlin/utils/KalugaLocale.kt +++ b/base/src/jsMain/kotlin/utils/KalugaLocale.kt @@ -22,11 +22,11 @@ package com.splendo.kaluga.base.utils * Default implementation of [BaseLocale] */ actual data class KalugaLocale internal constructor( - override val languageCode: String, - override val countryCode: String = "", - override val variantCode: String = "", - override val scriptCode: String = "", - override val unitSystem: UnitSystem = UnitSystem.METRIC, + actual override val languageCode: String, + actual override val countryCode: String = "", + actual override val variantCode: String = "", + actual override val scriptCode: String = "", + actual override val unitSystem: UnitSystem = UnitSystem.METRIC, ) : BaseLocale() { actual companion object { @@ -66,14 +66,14 @@ actual data class KalugaLocale internal constructor( actual val availableLocales: List = emptyList() } - override fun name(forLocale: KalugaLocale): String = "${languageCode}_${countryCode}_$variantCode" - override fun countryName(forLocale: KalugaLocale): String = countryCode - override fun languageName(forLocale: KalugaLocale): String = languageCode - override fun variantName(forLocale: KalugaLocale): String = variantCode - override fun scriptName(forLocale: KalugaLocale): String = scriptCode + actual override fun name(forLocale: KalugaLocale): String = "${languageCode}_${countryCode}_$variantCode" + actual override fun countryName(forLocale: KalugaLocale): String = countryCode + actual override fun languageName(forLocale: KalugaLocale): String = languageCode + actual override fun variantName(forLocale: KalugaLocale): String = variantCode + actual override fun scriptName(forLocale: KalugaLocale): String = scriptCode - override val quotationStart: String = "\"" - override val quotationEnd: String = "\"" - override val alternateQuotationStart: String = "\"" - override val alternateQuotationEnd: String = "\"" + actual override val quotationStart: String = "\"" + actual override val quotationEnd: String = "\"" + actual override val alternateQuotationStart: String = "\"" + actual override val alternateQuotationEnd: String = "\"" } diff --git a/base/src/jsMain/kotlin/utils/KalugaTimeZone.kt b/base/src/jsMain/kotlin/utils/KalugaTimeZone.kt index 7a5c1a657..38f7b34da 100644 --- a/base/src/jsMain/kotlin/utils/KalugaTimeZone.kt +++ b/base/src/jsMain/kotlin/utils/KalugaTimeZone.kt @@ -47,11 +47,11 @@ actual class KalugaTimeZone internal constructor() : BaseTimeZone() { actual val availableIdentifiers: List = emptyList() } - override val identifier: String = "" - override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String = "" - override val offsetFromGMT = 0.milliseconds - override val daylightSavingsOffset = 0.milliseconds - override fun offsetFromGMTAtDate(date: KalugaDate): Duration = 0.milliseconds - override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = false - override fun copy(): KalugaTimeZone = KalugaTimeZone() + actual override val identifier: String = "" + actual override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String = "" + actual override val offsetFromGMT = 0.milliseconds + actual override val daylightSavingsOffset = 0.milliseconds + actual override fun offsetFromGMTAtDate(date: KalugaDate): Duration = 0.milliseconds + actual override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = false + actual override fun copy(): KalugaTimeZone = KalugaTimeZone() } diff --git a/base/src/jvmMain/kotlin/text/KalugaDateFormatter.kt b/base/src/jvmMain/kotlin/text/KalugaDateFormatter.kt index bd0632098..10ea4fa35 100644 --- a/base/src/jvmMain/kotlin/text/KalugaDateFormatter.kt +++ b/base/src/jvmMain/kotlin/text/KalugaDateFormatter.kt @@ -85,34 +85,34 @@ actual class KalugaDateFormatter private constructor(private val format: SimpleD private val symbols: DateFormatSymbols get() = format.dateFormatSymbols - override var pattern: String + actual override var pattern: String get() = format.toPattern() set(value) = format.applyPattern(value) - override var timeZone: KalugaTimeZone + actual override var timeZone: KalugaTimeZone get() = KalugaTimeZone(format.timeZone) set(value) { format.timeZone = value.timeZone } - override var eras: List + actual override var eras: List get() = symbols.eras.toList() set(value) { updateSymbols { it.eras = value.toTypedArray() } } - override var months: List + actual override var months: List get() = symbols.months.toList() set(value) { updateSymbols { it.months = value.toTypedArray() } } - override var shortMonths: List + actual override var shortMonths: List get() = symbols.shortMonths.toList() set(value) { updateSymbols { it.shortMonths = value.toTypedArray() } } - override var weekdays: List + actual override var weekdays: List get() { val weekdaysWithEmptyFirst = symbols.weekdays.toList() return if (weekdaysWithEmptyFirst.size > 1) { @@ -129,7 +129,7 @@ actual class KalugaDateFormatter private constructor(private val format: SimpleD it.weekdays = weekdaysWithEmptyFirst.toTypedArray() } } - override var shortWeekdays: List + actual override var shortWeekdays: List get() { val weekdaysWithEmptyFirst = symbols.shortWeekdays.toList() return if (weekdaysWithEmptyFirst.size > 1) { @@ -147,19 +147,19 @@ actual class KalugaDateFormatter private constructor(private val format: SimpleD } } - override var amString: String + actual override var amString: String get() = symbols.amPmStrings.toList()[0] set(value) { updateSymbols { it.amPmStrings = it.amPmStrings.toMutableList().apply { this[0] = value }.toTypedArray() } } - override var pmString: String + actual override var pmString: String get() = symbols.amPmStrings.toList()[1] set(value) { updateSymbols { it.amPmStrings = it.amPmStrings.toMutableList().apply { this[1] = value }.toTypedArray() } } - override fun format(date: KalugaDate): String = format.format(date.date) - override fun parse(string: String): KalugaDate? { + actual override fun format(date: KalugaDate): String = format.format(date.date) + actual override fun parse(string: String): KalugaDate? { val currentTimeZone = timeZone return try { format.parse(string)?.let { date -> diff --git a/base/src/jvmMain/kotlin/text/NumberFormatter.kt b/base/src/jvmMain/kotlin/text/NumberFormatter.kt index 735e3accd..4c5ad0c0c 100644 --- a/base/src/jvmMain/kotlin/text/NumberFormatter.kt +++ b/base/src/jvmMain/kotlin/text/NumberFormatter.kt @@ -29,7 +29,7 @@ import java.util.Currency * @param locale The [KalugaLocale] used for parsing. Defaults to [KalugaLocale.defaultLocale]. * @param style The [NumberFormatStyle] to configure the format to use. Defaults to [NumberFormatStyle.Decimal]. */ -actual class NumberFormatter actual constructor(override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { +actual class NumberFormatter actual constructor(actual override val locale: KalugaLocale, style: NumberFormatStyle) : BaseNumberFormatter { private val format: DecimalFormat = when (style) { is NumberFormatStyle.Integer -> DecimalFormat.getInstance(locale.locale).apply { @@ -90,112 +90,112 @@ actual class NumberFormatter actual constructor(override val locale: KalugaLocal } } - override var percentSymbol: Char + actual override var percentSymbol: Char get() = symbols.percent set(value) { applySymbols { it.percent = value } } - override var perMillSymbol: Char + actual override var perMillSymbol: Char get() = symbols.perMill set(value) { applySymbols { it.perMill = value } } - override var minusSign: Char + actual override var minusSign: Char get() = symbols.minusSign set(value) { applySymbols { it.minusSign = value } } - override var exponentSymbol: String + actual override var exponentSymbol: String get() = symbols.exponentSeparator set(value) { applySymbols { it.exponentSeparator = value } } - override var zeroSymbol: Char + actual override var zeroSymbol: Char get() = symbols.zeroDigit set(value) { applySymbols { it.zeroDigit = value } } - override var notANumberSymbol: String + actual override var notANumberSymbol: String get() = symbols.naN set(value) { applySymbols { it.naN = value } } - override var infinitySymbol: String + actual override var infinitySymbol: String get() = symbols.infinity set(value) { applySymbols { it.infinity = value } } - override var currencySymbol: String + actual override var currencySymbol: String get() = symbols.currencySymbol set(value) { applySymbols { it.currencySymbol = value } } - override var currencyCode: String + actual override var currencyCode: String get() = symbols.currency.currencyCode set(value) { applySymbols { it.currency = Currency.getInstance(value) } } - override var positivePrefix: String + actual override var positivePrefix: String get() = format.positivePrefix set(value) { format.positivePrefix = value } - override var positiveSuffix: String + actual override var positiveSuffix: String get() = format.positiveSuffix set(value) { format.positiveSuffix = value } - override var negativePrefix: String + actual override var negativePrefix: String get() = format.negativePrefix set(value) { format.negativePrefix = value } - override var negativeSuffix: String + actual override var negativeSuffix: String get() = format.negativeSuffix set(value) { format.negativeSuffix = value } - override var groupingSeparator: Char + actual override var groupingSeparator: Char get() = symbols.groupingSeparator set(value) { applySymbols { it.groupingSeparator = value } } - override var usesGroupingSeparator: Boolean + actual override var usesGroupingSeparator: Boolean get() = format.isGroupingUsed set(value) { format.isGroupingUsed = value } - override var decimalSeparator: Char + actual override var decimalSeparator: Char get() = symbols.decimalSeparator set(value) { applySymbols { it.decimalSeparator = value } } - override var alwaysShowsDecimalSeparator: Boolean + actual override var alwaysShowsDecimalSeparator: Boolean get() = format.isDecimalSeparatorAlwaysShown set(value) { format.isDecimalSeparatorAlwaysShown = value } - override var currencyDecimalSeparator: Char + actual override var currencyDecimalSeparator: Char get() = symbols.monetaryDecimalSeparator set(value) { applySymbols { it.monetaryDecimalSeparator = value } } - override var groupingSize: Int + actual override var groupingSize: Int get() = format.groupingSize set(value) { format.groupingSize = value } - override var multiplier: Int + actual override var multiplier: Int get() = format.multiplier set(value) { format.multiplier = value } - override fun format(number: Number): String = format.format(number.toDouble()) - override fun parse(string: String): Number? = try { + actual override fun format(number: Number): String = format.format(number.toDouble()) + actual override fun parse(string: String): Number? = try { format.parse(string) } catch (e: ParseException) { null diff --git a/base/src/jvmMain/kotlin/utils/KalugaDate.kt b/base/src/jvmMain/kotlin/utils/KalugaDate.kt index e7fcb0aff..bce097cb5 100644 --- a/base/src/jvmMain/kotlin/utils/KalugaDate.kt +++ b/base/src/jvmMain/kotlin/utils/KalugaDate.kt @@ -60,97 +60,97 @@ actual class DefaultKalugaDate internal constructor(internal val calendar: Calen ) } - override var timeZone: KalugaTimeZone + actual override var timeZone: KalugaTimeZone get() = KalugaTimeZone(calendar.timeZone) set(value) { calendar.timeZone = value.timeZone } - override var era: Int + actual override var era: Int get() = calendar.get(Calendar.ERA) set(value) { calendar.set(Calendar.ERA, value) } - override var year: Int + actual override var year: Int get() = calendar.get(Calendar.YEAR) set(value) { calendar.set(Calendar.YEAR, value) } - override var month: Int + actual override var month: Int get() = calendar.get(Calendar.MONTH) + 1 set(value) { calendar.set(Calendar.MONTH, value - 1) } - override val daysInMonth: Int get() = calendar.getActualMaximum(Calendar.DAY_OF_MONTH) - override var weekOfYear: Int + actual override val daysInMonth: Int get() = calendar.getActualMaximum(Calendar.DAY_OF_MONTH) + actual override var weekOfYear: Int get() = calendar.get(Calendar.WEEK_OF_YEAR) set(value) { calendar.set(Calendar.WEEK_OF_YEAR, value) } - override var weekOfMonth: Int + actual override var weekOfMonth: Int get() = calendar.get(Calendar.WEEK_OF_MONTH) set(value) { calendar.set(Calendar.WEEK_OF_MONTH, value) } - override var day: Int + actual override var day: Int get() = calendar.get(Calendar.DAY_OF_MONTH) set(value) { calendar.set(Calendar.DAY_OF_MONTH, value) } - override var dayOfYear: Int + actual override var dayOfYear: Int get() = calendar.get(Calendar.DAY_OF_YEAR) set(value) { calendar.set(Calendar.DAY_OF_YEAR, value) } - override var weekDay: Int + actual override var weekDay: Int get() = calendar.get(Calendar.DAY_OF_WEEK) set(value) { calendar.set(Calendar.DAY_OF_WEEK, value) } - override var firstWeekDay: Int + actual override var firstWeekDay: Int get() = calendar.firstDayOfWeek set(value) { calendar.firstDayOfWeek = value } - override var hour: Int + actual override var hour: Int get() = calendar.get(Calendar.HOUR_OF_DAY) set(value) { calendar.set(Calendar.HOUR_OF_DAY, value) } - override var minute: Int + actual override var minute: Int get() = calendar.get(Calendar.MINUTE) set(value) { calendar.set(Calendar.MINUTE, value) } - override var second: Int + actual override var second: Int get() = calendar.get(Calendar.SECOND) set(value) { calendar.set(Calendar.SECOND, value) } - override var millisecond: Int + actual override var millisecond: Int get() = calendar.get(Calendar.MILLISECOND) set(value) { calendar.set(Calendar.MILLISECOND, value) } - override var durationSinceEpoch: Duration + actual override var durationSinceEpoch: Duration get() = calendar.timeInMillis.milliseconds set(value) { calendar.timeInMillis = value.inWholeMilliseconds } - override fun copy(): KalugaDate = DefaultKalugaDate(calendar.clone() as Calendar) + actual override fun copy(): KalugaDate = DefaultKalugaDate(calendar.clone() as Calendar) - override fun equals(other: Any?): Boolean { + actual override fun equals(other: Any?): Boolean { return (other as? KalugaDate)?.let { timeZone == other.timeZone && durationSinceEpoch == other.durationSinceEpoch } ?: false } - override fun hashCode(): Int = calendar.hashCode() - override val date: KalugaDateHolder get() = calendar.time + actual override fun hashCode(): Int = calendar.hashCode() + actual override val date: KalugaDateHolder get() = calendar.time - override fun compareTo(other: KalugaDate): Int { + actual override fun compareTo(other: KalugaDate): Int { return this.calendar.time.compareTo(other.date) } } diff --git a/base/src/jvmMain/kotlin/utils/KalugaLocale.kt b/base/src/jvmMain/kotlin/utils/KalugaLocale.kt index c23a70a79..aaef97b26 100644 --- a/base/src/jvmMain/kotlin/utils/KalugaLocale.kt +++ b/base/src/jvmMain/kotlin/utils/KalugaLocale.kt @@ -75,25 +75,25 @@ actual data class KalugaLocale internal constructor(internal val locale: java.ut actual val availableLocales: List = java.util.Locale.getAvailableLocales().asList().map { KalugaLocale(it) } } - override val countryCode: String + actual override val countryCode: String get() = locale.country - override val languageCode: String + actual override val languageCode: String get() = locale.language - override val scriptCode: String + actual override val scriptCode: String get() = locale.script - override val variantCode: String + actual override val variantCode: String get() = locale.variant - override val unitSystem: UnitSystem + actual override val unitSystem: UnitSystem get() = UnitSystem.withCountryCode(countryCode.upperCased(this)) - override fun name(forLocale: KalugaLocale): String = locale.getDisplayName(forLocale.locale) - override fun countryName(forLocale: KalugaLocale): String = locale.getDisplayCountry(forLocale.locale) - override fun languageName(forLocale: KalugaLocale): String = locale.getDisplayLanguage(forLocale.locale) - override fun variantName(forLocale: KalugaLocale): String = locale.getDisplayVariant(forLocale.locale) - override fun scriptName(forLocale: KalugaLocale): String = locale.getDisplayScript(forLocale.locale) + actual override fun name(forLocale: KalugaLocale): String = locale.getDisplayName(forLocale.locale) + actual override fun countryName(forLocale: KalugaLocale): String = locale.getDisplayCountry(forLocale.locale) + actual override fun languageName(forLocale: KalugaLocale): String = locale.getDisplayLanguage(forLocale.locale) + actual override fun variantName(forLocale: KalugaLocale): String = locale.getDisplayVariant(forLocale.locale) + actual override fun scriptName(forLocale: KalugaLocale): String = locale.getDisplayScript(forLocale.locale) - override val quotationStart: String = "\"" - override val quotationEnd: String = "\"" - override val alternateQuotationStart: String = "\"" - override val alternateQuotationEnd: String = "\"" + actual override val quotationStart: String = "\"" + actual override val quotationEnd: String = "\"" + actual override val alternateQuotationStart: String = "\"" + actual override val alternateQuotationEnd: String = "\"" } diff --git a/base/src/jvmMain/kotlin/utils/KalugaTimeZone.kt b/base/src/jvmMain/kotlin/utils/KalugaTimeZone.kt index e268559d8..b5c45fc35 100644 --- a/base/src/jvmMain/kotlin/utils/KalugaTimeZone.kt +++ b/base/src/jvmMain/kotlin/utils/KalugaTimeZone.kt @@ -52,20 +52,22 @@ actual class KalugaTimeZone internal constructor(internal val timeZone: java.uti actual val availableIdentifiers get() = java.util.TimeZone.getAvailableIDs().asList() } - override val identifier: String = timeZone.id - override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String { + actual override val identifier: String = timeZone.id + actual override fun displayName(style: TimeZoneNameStyle, withDaylightSavings: Boolean, locale: KalugaLocale): String { val styleJava = when (style) { TimeZoneNameStyle.Short -> java.util.TimeZone.SHORT TimeZoneNameStyle.Long -> java.util.TimeZone.LONG } return timeZone.getDisplayName(withDaylightSavings, styleJava, locale.locale) } - override val offsetFromGMT = timeZone.rawOffset.milliseconds - override val daylightSavingsOffset = timeZone.dstSavings.milliseconds - override fun offsetFromGMTAtDate(date: KalugaDate): Duration = timeZone.getOffset(date.durationSinceEpoch.inWholeMilliseconds).milliseconds - override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = timeZone.inDaylightTime(date.date) - override fun copy(): KalugaTimeZone = KalugaTimeZone(timeZone.clone() as java.util.TimeZone) + actual override val offsetFromGMT = timeZone.rawOffset.milliseconds + actual override val daylightSavingsOffset = timeZone.dstSavings.milliseconds + actual override fun offsetFromGMTAtDate(date: KalugaDate): Duration = timeZone.getOffset(date.durationSinceEpoch.inWholeMilliseconds).milliseconds + actual override fun usesDaylightSavingsTime(date: KalugaDate): Boolean = timeZone.inDaylightTime(date.date) + actual override fun copy(): KalugaTimeZone = KalugaTimeZone(timeZone.clone() as java.util.TimeZone) override fun equals(other: Any?): Boolean { return (other as? KalugaTimeZone)?.let { timeZone == other.timeZone } ?: false } + + override fun hashCode(): Int = timeZone.hashCode() } diff --git a/beacons/api/androidLib/beacons.api b/beacons/api/beacons.api similarity index 96% rename from beacons/api/androidLib/beacons.api rename to beacons/api/beacons.api index 392a4a2f6..8624d9a68 100644 --- a/beacons/api/androidLib/beacons.api +++ b/beacons/api/beacons.api @@ -18,9 +18,7 @@ public final class com/splendo/kaluga/bluetooth/beacons/BeaconInfo { } public final class com/splendo/kaluga/bluetooth/beacons/BeaconInfoKt { - public static final fun fullID (Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo;)Ljava/lang/String; public static final fun getTimeSinceLastSeen (Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo;)J - public static final fun seenMs (Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo;)J } public abstract interface class com/splendo/kaluga/bluetooth/beacons/Beacons { diff --git a/beacons/api/jvm/beacons.api b/beacons/api/jvm/beacons.api deleted file mode 100644 index 3c6a7b13e..000000000 --- a/beacons/api/jvm/beacons.api +++ /dev/null @@ -1,83 +0,0 @@ -public final class com/splendo/kaluga/bluetooth/beacons/BeaconInfo { - public fun (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID;IILcom/splendo/kaluga/base/utils/KalugaDate;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun component2 ()Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID; - public final fun component3 ()I - public final fun component4 ()I - public final fun component5 ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID;IILcom/splendo/kaluga/base/utils/KalugaDate;)Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo;Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID;IILcom/splendo/kaluga/base/utils/KalugaDate;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo; - public fun equals (Ljava/lang/Object;)Z - public final fun getBeaconID ()Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID; - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun getLastSeen ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun getRssi ()I - public final fun getTxPower ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/beacons/BeaconInfoKt { - public static final fun fullID (Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo;)Ljava/lang/String; - public static final fun getTimeSinceLastSeen (Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo;)J - public static final fun seenMs (Lcom/splendo/kaluga/bluetooth/beacons/BeaconInfo;)J -} - -public abstract interface class com/splendo/kaluga/bluetooth/beacons/Beacons { - public abstract fun getBeacons ()Lkotlinx/coroutines/flow/StateFlow; - public abstract fun isMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/bluetooth/beacons/BeaconsKt { - public static final fun get (Lkotlinx/coroutines/flow/Flow;Lcom/splendo/kaluga/bluetooth/UUID;)Lkotlinx/coroutines/flow/Flow; - public static final fun isAnyInRange (Lcom/splendo/kaluga/bluetooth/beacons/Beacons;Ljava/util/List;)Lkotlinx/coroutines/flow/Flow; -} - -public final class com/splendo/kaluga/bluetooth/beacons/DefaultBeacons : com/splendo/kaluga/bluetooth/beacons/Beacons, kotlinx/coroutines/CoroutineScope { - public static final field TAG Ljava/lang/String; - public synthetic fun (Lcom/splendo/kaluga/bluetooth/BluetoothService;JLcom/splendo/kaluga/logging/Logger;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/BluetoothService;JLcom/splendo/kaluga/logging/Logger;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun getBeacons ()Lkotlinx/coroutines/flow/StateFlow; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - public fun isMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/bluetooth/beacons/Eddystone { - public static final field Companion Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$Companion; - public fun ()V -} - -public final class com/splendo/kaluga/bluetooth/beacons/Eddystone$Companion { -} - -public final class com/splendo/kaluga/bluetooth/beacons/Eddystone$Frame { - public fun (ILcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID;)V - public final fun component1 ()I - public final fun component2 ()Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID; - public final fun copy (ILcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID;)Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$Frame; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$Frame;ILcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$Frame; - public fun equals (Ljava/lang/Object;)Z - public final fun getTxPower ()I - public final fun getUid ()Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/beacons/Eddystone$UID { - public fun (Ljava/lang/String;Ljava/lang/String;)V - public final fun asString ()Ljava/lang/String; - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Ljava/lang/String; - public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/beacons/Eddystone$UID; - public fun equals (Ljava/lang/Object;)Z - public final fun getInstance ()Ljava/lang/String; - public final fun getNamespace ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - diff --git a/beacons/build.gradle.kts b/beacons/build.gradle.kts index 4af168226..459ba8fce 100644 --- a/beacons/build.gradle.kts +++ b/beacons/build.gradle.kts @@ -1,25 +1,17 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("beacons") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "beacons" + dependencies { + common { + main { implementation(project(":base")) api(project(":bluetooth")) api(project(":logging", "")) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-bluetooth")) } } diff --git a/beacons/src/commonMain/kotlin/BeaconInfo.kt b/beacons/src/commonMain/kotlin/BeaconInfo.kt index 32e0d765b..788465198 100644 --- a/beacons/src/commonMain/kotlin/BeaconInfo.kt +++ b/beacons/src/commonMain/kotlin/BeaconInfo.kt @@ -45,19 +45,7 @@ data class BeaconInfo( val lastSeen: KalugaDate, ) -@Deprecated( - message = "Replaced with beaconId.asString()", - replaceWith = ReplaceWith(expression = "beaconID.asString()"), -) -fun BeaconInfo.fullID() = this.beaconID.asString() - /** * Returns the [kotlin.time.Duration] since the beacon was last seen */ val BeaconInfo.timeSinceLastSeen get() = DefaultKalugaDate.now() - lastSeen - -/** - * Returns the time in milliseconds since the beacon was last seen - */ -@Deprecated("Use timeSinceLastSeen", ReplaceWith("BeaconInfo.timeSinceLastSeen")) -fun BeaconInfo.seenMs() = timeSinceLastSeen.inWholeMilliseconds diff --git a/bluetooth-permissions/api/androidLib/bluetooth-permissions.api b/bluetooth-permissions/api/bluetooth-permissions.api similarity index 97% rename from bluetooth-permissions/api/androidLib/bluetooth-permissions.api rename to bluetooth-permissions/api/bluetooth-permissions.api index 3ed6107b6..b989a3e4f 100644 --- a/bluetooth-permissions/api/androidLib/bluetooth-permissions.api +++ b/bluetooth-permissions/api/bluetooth-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/bluetooth-permissions/api/jvm/bluetooth-permissions.api b/bluetooth-permissions/api/jvm/bluetooth-permissions.api deleted file mode 100644 index ad920d259..000000000 --- a/bluetooth-permissions/api/jvm/bluetooth-permissions.api +++ /dev/null @@ -1,43 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/bluetooth/BluetoothPermission : com/splendo/kaluga/permissions/base/Permission { - public static final field INSTANCE Lcom/splendo/kaluga/permissions/bluetooth/BluetoothPermission; - public fun equals (Ljava/lang/Object;)Z - public fun getName ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/bluetooth/BluetoothPermissionManagerBuilder : com/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/bluetooth/BluetoothPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/permissions/bluetooth/DefaultBluetoothPermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/bluetooth/PermissionKt { - public static final fun registerBluetoothPermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; - public static synthetic fun registerBluetoothPermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; - public static final fun registerBluetoothPermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; - public static synthetic fun registerBluetoothPermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; - public static final fun registerBluetoothPermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; - public static synthetic fun registerBluetoothPermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; - public static final fun registerBluetoothPermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; - public static synthetic fun registerBluetoothPermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/bluetooth/BaseBluetoothPermissionManagerBuilder; -} - diff --git a/bluetooth-permissions/build.gradle.kts b/bluetooth-permissions/build.gradle.kts index fd14dc6a5..ec47cb2d5 100644 --- a/bluetooth-permissions/build.gradle.kts +++ b/bluetooth-permissions/build.gradle.kts @@ -1,28 +1,20 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.bluetooth") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { - api(project(":base-permissions", "")) - } - } - getByName("androidLibMain") { - dependencies { +kaluga { + moduleName = "permissions.bluetooth" + dependencies { + android { + main { api(project(":location-permissions", "")) } } - getByName("commonTest") { - dependencies { + common { + main { + api(project(":base-permissions", "")) + } + test { api(project(":test-utils-base", "")) } } diff --git a/bluetooth-permissions/src/androidLibMain/kotlin/BluetoothPermissionManager.kt b/bluetooth-permissions/src/androidLibMain/kotlin/BluetoothPermissionManager.kt index 53b11d4a1..e6cc91730 100644 --- a/bluetooth-permissions/src/androidLibMain/kotlin/BluetoothPermissionManager.kt +++ b/bluetooth-permissions/src/androidLibMain/kotlin/BluetoothPermissionManager.kt @@ -69,7 +69,7 @@ actual class DefaultBluetoothPermissionManager( private val supported: Boolean = bluetoothAdapter != null - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { if (supported) { permissionsManager.requestPermissions() } else { @@ -77,7 +77,7 @@ actual class DefaultBluetoothPermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { if (supported) { permissionsManager.startMonitoring(interval) } else { @@ -85,7 +85,7 @@ actual class DefaultBluetoothPermissionManager( } } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { if (supported) { permissionsManager.stopMonitoring() } @@ -108,7 +108,7 @@ actual class BluetoothPermissionManagerBuilder( */ actual constructor(context: PermissionContext) : this(context, (context.context.getSystemService(Context.BLUETOOTH_SERVICE) as? BluetoothManager)?.adapter) - override fun create(settings: Settings, coroutineScope: CoroutineScope): BluetoothPermissionManager { + actual override fun create(settings: Settings, coroutineScope: CoroutineScope): BluetoothPermissionManager { return DefaultBluetoothPermissionManager(context.context, bluetoothAdapter, settings, coroutineScope) } } diff --git a/bluetooth-permissions/src/commonMain/kotlin/BluetoothPermission.kt b/bluetooth-permissions/src/commonMain/kotlin/BluetoothPermission.kt index 1dbd57068..1f6651445 100644 --- a/bluetooth-permissions/src/commonMain/kotlin/BluetoothPermission.kt +++ b/bluetooth-permissions/src/commonMain/kotlin/BluetoothPermission.kt @@ -36,7 +36,11 @@ typealias BluetoothPermissionManager = PermissionManager /** * The [BasePermissionManager] to use as a default for [BluetoothPermission] */ -expect class DefaultBluetoothPermissionManager : BasePermissionManager +expect class DefaultBluetoothPermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * A [BasePermissionsBuilder] for [BluetoothPermission] @@ -56,7 +60,9 @@ interface BaseBluetoothPermissionManagerBuilder : BasePermissionsBuilder(BluetoothPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseBluetoothPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class BluetoothPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseBluetoothPermissionManagerBuilder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultBluetoothPermissionManager(settings, coroutineScope) - } -} diff --git a/bluetooth-permissions/src/jvmMain/kotlin/BluetoothPermissionManager.kt b/bluetooth-permissions/src/jvmMain/kotlin/BluetoothPermissionManager.kt deleted file mode 100644 index 10e68018d..000000000 --- a/bluetooth-permissions/src/jvmMain/kotlin/BluetoothPermissionManager.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.bluetooth - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [BluetoothPermission] - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultBluetoothPermissionManager( - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(BluetoothPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseBluetoothPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class BluetoothPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseBluetoothPermissionManagerBuilder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultBluetoothPermissionManager(settings, coroutineScope) - } -} diff --git a/bluetooth/api/androidLib/bluetooth.api b/bluetooth/api/bluetooth.api similarity index 91% rename from bluetooth/api/androidLib/bluetooth.api rename to bluetooth/api/bluetooth.api index 3e0ae72d2..326cba86e 100644 --- a/bluetooth/api/androidLib/bluetooth.api +++ b/bluetooth/api/bluetooth.api @@ -12,9 +12,6 @@ public abstract class com/splendo/kaluga/bluetooth/Attribute : kotlinx/coroutine public abstract interface class com/splendo/kaluga/bluetooth/BaseBluetoothBuilder { public abstract fun create (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/bluetooth/Bluetooth; -} - -public final class com/splendo/kaluga/bluetooth/BaseBluetoothBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/bluetooth/BaseBluetoothBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/Bluetooth; } @@ -75,9 +72,13 @@ public abstract interface class com/splendo/kaluga/bluetooth/BluetoothService { public abstract fun isEnabled ()Lkotlinx/coroutines/flow/Flow; public abstract fun isScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun pairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlinx/coroutines/flow/Flow; + public static synthetic fun pairedDevices$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; public abstract fun scannedDevices (Ljava/util/Set;)Lkotlinx/coroutines/flow/Flow; + public static synthetic fun scannedDevices$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; public abstract fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)V + public static synthetic fun startScanning$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)V public abstract fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)V + public static synthetic fun stopScanning$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;ILjava/lang/Object;)V } public final class com/splendo/kaluga/bluetooth/BluetoothService$CleanMode : java/lang/Enum { @@ -89,13 +90,6 @@ public final class com/splendo/kaluga/bluetooth/BluetoothService$CleanMode : jav public static fun values ()[Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode; } -public final class com/splendo/kaluga/bluetooth/BluetoothService$DefaultImpls { - public static synthetic fun pairedDevices$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; - public static synthetic fun scannedDevices$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; - public static synthetic fun startScanning$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)V - public static synthetic fun stopScanning$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;ILjava/lang/Object;)V -} - public class com/splendo/kaluga/bluetooth/Characteristic : com/splendo/kaluga/bluetooth/Attribute { public fun (Lcom/splendo/kaluga/bluetooth/CharacteristicWrapper;[BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;)V public synthetic fun (Lcom/splendo/kaluga/bluetooth/CharacteristicWrapper;[BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -403,26 +397,14 @@ public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableD public abstract fun updateReconnectionSettings (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected { public abstract fun getServices ()Ljava/util/List; } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Discovering : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected { public abstract fun didDiscoverServices (Ljava/util/List;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Discovering$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Discovering;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$HandlingAction : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices { public abstract fun addAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)Lkotlin/jvm/functions/Function1; public abstract fun getAction ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; @@ -430,57 +412,29 @@ public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableD public abstract fun getNextActions ()Ljava/util/List; } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$HandlingAction$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$HandlingAction;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Idle : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices { public abstract fun handleAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Idle$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Idle;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$NoServices : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected { public abstract fun getDiscoverServices ()Lkotlin/jvm/functions/Function1; public abstract fun startDiscovering ()V } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$NoServices$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$NoServices;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connecting : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState { public abstract fun getCancelConnection ()Lkotlin/jvm/functions/Function1; public abstract fun getDidConnect ()Lkotlin/jvm/functions/Function1; public abstract fun handleCancel ()V } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connecting$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connecting;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnected : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState { public abstract fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; public abstract fun startConnecting (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnected$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnected;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnecting : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState { } -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnecting$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnecting;)Lkotlin/jvm/functions/Function1; -} - public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceStateImplRepo : com/splendo/kaluga/bluetooth/device/BaseConnectableDeviceStateRepo { public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lkotlin/coroutines/CoroutineContext;)V } @@ -544,8 +498,11 @@ public final class com/splendo/kaluga/bluetooth/device/DefaultDeviceWrapper : co public abstract interface class com/splendo/kaluga/bluetooth/device/Device { public abstract fun advertisementDataDidUpdate (Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V - public abstract fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun connect$default (Lcom/splendo/kaluga/bluetooth/device/Device;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun connect$suspendImpl (Lcom/splendo/kaluga/bluetooth/device/Device;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun disconnect$suspendImpl (Lcom/splendo/kaluga/bluetooth/device/Device;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun getIdentifier ()Ljava/lang/String; public abstract fun getInfo ()Lkotlinx/coroutines/flow/Flow; public abstract fun getState ()Lkotlinx/coroutines/flow/Flow; @@ -554,12 +511,6 @@ public abstract interface class com/splendo/kaluga/bluetooth/device/Device { public abstract fun rssiDidUpdate (I)V } -public final class com/splendo/kaluga/bluetooth/device/Device$DefaultImpls { - public static fun connect (Lcom/splendo/kaluga/bluetooth/device/Device;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun connect$default (Lcom/splendo/kaluga/bluetooth/device/Device;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static fun disconnect (Lcom/splendo/kaluga/bluetooth/device/Device;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - public abstract class com/splendo/kaluga/bluetooth/device/DeviceAction { public final fun getCompletedSuccessfully ()Lkotlinx/coroutines/CompletableDeferred; } @@ -615,12 +566,14 @@ public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceConnec public abstract fun getRssi ()Lkotlinx/coroutines/flow/Flow; public abstract fun handleConnect ()V public abstract fun handleDisconnect (Lkotlin/jvm/functions/Function1;)V + public static synthetic fun handleDisconnect$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V public abstract fun pair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun performAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun readRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun reset (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun startConnecting (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V + public static synthetic fun startConnecting$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;ILjava/lang/Object;)V public abstract fun startDisconnecting ()V public abstract fun startDiscovering ()V public abstract fun unpair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -630,11 +583,6 @@ public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceConnec public abstract fun create (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager; } -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$DefaultImpls { - public static synthetic fun handleDisconnect$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V - public static synthetic fun startConnecting$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;ILjava/lang/Object;)V -} - public abstract class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { } @@ -750,8 +698,6 @@ public final class com/splendo/kaluga/bluetooth/device/DeviceImpl : com/splendo/ public fun (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/jvm/functions/Function1;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;)V public synthetic fun (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/jvm/functions/Function1;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public fun advertisementDataDidUpdate (Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V - public fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; public fun getIdentifier ()Ljava/lang/String; public fun getInfo ()Lkotlinx/coroutines/flow/Flow; @@ -765,7 +711,8 @@ public final class com/splendo/kaluga/bluetooth/device/DeviceImpl$Companion { } public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceInfo { - public abstract fun distance (D)D + public fun distance (D)D + public static synthetic fun distance$default (Lcom/splendo/kaluga/bluetooth/device/DeviceInfo;DILjava/lang/Object;)D public abstract fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; public abstract fun getIdentifier ()Ljava/lang/String; public abstract fun getName ()Ljava/lang/String; @@ -773,11 +720,6 @@ public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceInfo { public abstract fun getUpdatedAt ()Lcom/splendo/kaluga/base/utils/KalugaDate; } -public final class com/splendo/kaluga/bluetooth/device/DeviceInfo$DefaultImpls { - public static fun distance (Lcom/splendo/kaluga/bluetooth/device/DeviceInfo;D)D - public static synthetic fun distance$default (Lcom/splendo/kaluga/bluetooth/device/DeviceInfo;DILjava/lang/Object;)D -} - public final class com/splendo/kaluga/bluetooth/device/DeviceInfoAndroid { public static final fun getStringValue (Ljava/lang/String;)Ljava/lang/String; public static final fun identifierFromString (Ljava/lang/String;)Ljava/lang/String; @@ -793,7 +735,6 @@ public final class com/splendo/kaluga/bluetooth/device/DeviceInfoImpl : com/sple public final fun component4 ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; public final fun copy (Ljava/lang/String;Ljava/lang/String;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl; public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl;Ljava/lang/String;Ljava/lang/String;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl; - public fun distance (D)D public fun equals (Ljava/lang/Object;)Z public fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; public fun getIdentifier ()Ljava/lang/String; @@ -890,9 +831,6 @@ public abstract class com/splendo/kaluga/bluetooth/scanner/BaseScanner : com/spl public abstract interface class com/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder { public abstract fun create (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner; -} - -public final class com/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder;Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner; } @@ -935,12 +873,9 @@ public final class com/splendo/kaluga/bluetooth/scanner/DefaultDevices : com/spl public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/DefaultDevices;Ljava/util/Map;Ljava/util/Map;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/DefaultDevices; public fun copyAndAddScanned (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public fun copyAndSetPaired (Ljava/util/Map;Ljava/util/Set;Z)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun devicesForCurrentScanFilter ()Ljava/util/List; - public fun devicesForDiscoveryMode (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode;)Ljava/util/List; public fun equals (Ljava/lang/Object;)Z public fun getAllDevices ()Ljava/util/Map; public fun getCurrentScanFilter ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning; - public fun getIdentifiersForCurrentScanFilter ()Ljava/util/Set; public fun getIdentifiersFoundForDeviceDiscoveryMode ()Ljava/util/Map; public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -1086,23 +1021,11 @@ public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningSta public abstract fun getDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Active;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Deinitialized : com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive { public abstract fun getPreviousDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - public abstract class com/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode { public abstract fun getFilter ()Ljava/util/Set; } @@ -1132,49 +1055,31 @@ public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDisc public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Devices { public abstract fun copyAndAddScanned (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public abstract fun copyAndSetPaired (Ljava/util/Map;Ljava/util/Set;Z)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public abstract fun devicesForCurrentScanFilter ()Ljava/util/List; - public abstract fun devicesForDiscoveryMode (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode;)Ljava/util/List; + public fun devicesForCurrentScanFilter ()Ljava/util/List; + public fun devicesForDiscoveryMode (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode;)Ljava/util/List; public abstract fun getAllDevices ()Ljava/util/Map; public abstract fun getCurrentScanFilter ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning; - public abstract fun getIdentifiersForCurrentScanFilter ()Ljava/util/Set; + public fun getIdentifiersForCurrentScanFilter ()Ljava/util/Set; public abstract fun getIdentifiersFoundForDeviceDiscoveryMode ()Ljava/util/Map; public abstract fun updateScanFilter (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Devices$DefaultImpls { - public static fun devicesForCurrentScanFilter (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Ljava/util/List; - public static fun devicesForDiscoveryMode (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode;)Ljava/util/List; - public static fun getIdentifiersForCurrentScanFilter (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Ljava/util/Set; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled : com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted { public abstract fun getDisable ()Lkotlin/jvm/functions/Function1; public abstract fun pairedDevices (Ljava/util/Map;Ljava/util/Set;Z)Lkotlin/jvm/functions/Function1; public abstract fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle : com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled { public abstract fun refresh (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; - public abstract fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle$DefaultImpls { public static synthetic fun refresh$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle;Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle;)Lkotlin/jvm/functions/Function1; + public abstract fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlin/jvm/functions/Function1; public static synthetic fun startScanning$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle;Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; } public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning : com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled { public abstract fun discoverDevices (Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning;)Lkotlin/jvm/functions/Function1; public static synthetic fun stopScanning$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; } @@ -1198,70 +1103,34 @@ public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Sc public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/bluetooth/scanner/ScanningState { } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized : com/splendo/kaluga/bluetooth/scanner/ScanningState$Active { } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/bluetooth/scanner/ScanningState$Active { public abstract fun initialized (ZZ)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Initializing;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth : com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized { } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$Disabled : com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth, com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted { public abstract fun getEnable ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$Disabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$Disabled;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$MissingPermissions : com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth { public abstract fun permit (Z)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$MissingPermissions$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$MissingPermissions;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoHardware : com/splendo/kaluga/bluetooth/scanner/ScanningState { } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoHardware$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoHardware;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NotInitialized : com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive { } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NotInitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NotInitialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted : com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized { public abstract fun getRevokePermission ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted;)Lkotlin/jvm/functions/Function1; -} - public class com/splendo/kaluga/bluetooth/scanner/ScanningStateImplRepo : com/splendo/kaluga/bluetooth/scanner/BaseScanningStateRepo { public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V } diff --git a/bluetooth/api/jvm/bluetooth.api b/bluetooth/api/jvm/bluetooth.api deleted file mode 100644 index da6c9c846..000000000 --- a/bluetooth/api/jvm/bluetooth.api +++ /dev/null @@ -1,1154 +0,0 @@ -public abstract class com/splendo/kaluga/bluetooth/Attribute : kotlinx/coroutines/flow/Flow { - public fun ([BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;)V - public synthetic fun ([BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - protected final fun addAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)V - public fun collect (Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected final fun getLogTag ()Ljava/lang/String; - public abstract fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun readValue ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction$Read; - public fun updateValue ()V - public final fun writeValue ([B)Lcom/splendo/kaluga/bluetooth/device/DeviceAction$Write; -} - -public abstract interface class com/splendo/kaluga/bluetooth/BaseBluetoothBuilder { - public abstract fun create (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/bluetooth/Bluetooth; -} - -public final class com/splendo/kaluga/bluetooth/BaseBluetoothBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/bluetooth/BaseBluetoothBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/Bluetooth; -} - -public final class com/splendo/kaluga/bluetooth/Bluetooth : com/splendo/kaluga/bluetooth/BluetoothService, kotlinx/coroutines/CoroutineScope { - public fun (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function1;)V - public fun allDevices ()Lkotlinx/coroutines/flow/Flow; - public fun devices ()Lkotlinx/coroutines/flow/Flow; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - public fun isEnabled ()Lkotlinx/coroutines/flow/Flow; - public fun isScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun pairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlinx/coroutines/flow/Flow; - public fun scannedDevices (Ljava/util/Set;)Lkotlinx/coroutines/flow/Flow; - public fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)V - public fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)V -} - -public final class com/splendo/kaluga/bluetooth/BluetoothBuilder : com/splendo/kaluga/bluetooth/BaseBluetoothBuilder { - public fun ()V - public fun (Lkotlin/jvm/functions/Function2;)V - public synthetic fun (Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/bluetooth/Bluetooth; -} - -public final class com/splendo/kaluga/bluetooth/BluetoothKt { - public static final fun advertisement (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun characteristics (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun connect (Lkotlinx/coroutines/flow/Flow;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun connect$default (Lkotlinx/coroutines/flow/Flow;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun descriptors (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun disconnect (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun distance (Lkotlinx/coroutines/flow/Flow;DI)Lkotlinx/coroutines/flow/Flow; - public static synthetic fun distance$default (Lkotlinx/coroutines/flow/Flow;DIILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; - public static final fun get (Lkotlinx/coroutines/flow/Flow;Lcom/splendo/kaluga/bluetooth/UUID;)Lkotlinx/coroutines/flow/Flow; - public static final fun getAttribute (Lkotlinx/coroutines/flow/Flow;Lcom/splendo/kaluga/bluetooth/UUID;)Lkotlinx/coroutines/flow/Flow; - public static final fun getService (Lkotlinx/coroutines/flow/Flow;Lcom/splendo/kaluga/bluetooth/UUID;)Lkotlinx/coroutines/flow/Flow; - public static final fun info (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun mtu (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun requestMtu (Lkotlinx/coroutines/flow/Flow;ILkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun rssi (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun services (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun state (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun updateRssi (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun value (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; -} - -public abstract interface class com/splendo/kaluga/bluetooth/BluetoothMonitor : com/splendo/kaluga/service/ServiceMonitor { -} - -public final class com/splendo/kaluga/bluetooth/BluetoothMonitor$Builder { - public fun ()V - public final fun create ()Lcom/splendo/kaluga/bluetooth/BluetoothMonitor; -} - -public abstract interface class com/splendo/kaluga/bluetooth/BluetoothService { - public abstract fun allDevices ()Lkotlinx/coroutines/flow/Flow; - public abstract fun devices ()Lkotlinx/coroutines/flow/Flow; - public abstract fun isEnabled ()Lkotlinx/coroutines/flow/Flow; - public abstract fun isScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun pairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlinx/coroutines/flow/Flow; - public abstract fun scannedDevices (Ljava/util/Set;)Lkotlinx/coroutines/flow/Flow; - public abstract fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)V - public abstract fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)V -} - -public final class com/splendo/kaluga/bluetooth/BluetoothService$CleanMode : java/lang/Enum { - public static final field ONLY_PROVIDED_FILTER Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode; - public static final field REMOVE_ALL Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode; - public static final field RETAIN_ALL Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode; - public static fun values ()[Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode; -} - -public final class com/splendo/kaluga/bluetooth/BluetoothService$DefaultImpls { - public static synthetic fun pairedDevices$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; - public static synthetic fun scannedDevices$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; - public static synthetic fun startScanning$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)V - public static synthetic fun stopScanning$default (Lcom/splendo/kaluga/bluetooth/BluetoothService;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;ILjava/lang/Object;)V -} - -public class com/splendo/kaluga/bluetooth/Characteristic : com/splendo/kaluga/bluetooth/Attribute { - public fun (Lcom/splendo/kaluga/bluetooth/CharacteristicWrapper;[BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/CharacteristicWrapper;[BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun createReadAction$bluetooth ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction$Read; - public synthetic fun createWriteAction$bluetooth ([B)Lcom/splendo/kaluga/bluetooth/device/DeviceAction$Write; - public final fun disableNotification (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun enableNotification (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getDescriptors ()Ljava/util/List; - public fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun getWrapper ()Lcom/splendo/kaluga/bluetooth/CharacteristicWrapper; - public final fun hasProperty (Lcom/splendo/kaluga/bluetooth/CharacteristicProperties;)Z - public final fun isNotifying ()Z - public final fun setNotifying (Z)V -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicKt { - public static final fun containsAnyOf (Lcom/splendo/kaluga/bluetooth/CharacteristicWrapper;[I)Z -} - -public abstract class com/splendo/kaluga/bluetooth/CharacteristicProperties { - public synthetic fun (ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getRawValue ()I - public final fun or (Lcom/splendo/kaluga/bluetooth/CharacteristicProperties;)I -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$Broadcast : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$Broadcast; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$ExtendedProperties : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$ExtendedProperties; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$Indicate : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$Indicate; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$Notify : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$Notify; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$Read : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$Read; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$SignedWrite : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$SignedWrite; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$Write : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$Write; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/CharacteristicProperties$WriteWithoutResponse : com/splendo/kaluga/bluetooth/CharacteristicProperties { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/CharacteristicProperties$WriteWithoutResponse; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/bluetooth/CharacteristicWrapper { - public abstract fun getDescriptors ()Ljava/util/List; - public abstract fun getProperties ()I - public abstract fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public abstract fun getValue ()[B -} - -public final class com/splendo/kaluga/bluetooth/CommonUUID { - public static final fun uuidFrom (Ljava/lang/String;)Lcom/splendo/kaluga/bluetooth/UUID; -} - -public final class com/splendo/kaluga/bluetooth/DefaultBluetoothMonitor : com/splendo/kaluga/service/DefaultServiceMonitor, com/splendo/kaluga/bluetooth/BluetoothMonitor { - public fun ()V - public fun isServiceEnabled ()Z -} - -public class com/splendo/kaluga/bluetooth/Descriptor : com/splendo/kaluga/bluetooth/Attribute { - public fun (Lcom/splendo/kaluga/bluetooth/DescriptorWrapper;[BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/DescriptorWrapper;[BLkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun createReadAction$bluetooth ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction$Read; - public synthetic fun createWriteAction$bluetooth ([B)Lcom/splendo/kaluga/bluetooth/device/DeviceAction$Write; - public fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun getWrapper ()Lcom/splendo/kaluga/bluetooth/DescriptorWrapper; -} - -public abstract interface class com/splendo/kaluga/bluetooth/DescriptorWrapper { - public abstract fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public abstract fun getValue ()[B -} - -public final class com/splendo/kaluga/bluetooth/Service { - public fun (Lcom/splendo/kaluga/bluetooth/ServiceWrapper;Lkotlin/jvm/functions/Function1;Ljava/lang/String;Lcom/splendo/kaluga/logging/Logger;)V - public final fun getCharacteristics ()Ljava/util/List; - public final fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; -} - -public abstract interface class com/splendo/kaluga/bluetooth/ServiceWrapper { - public abstract fun getCharacteristics ()Ljava/util/List; - public abstract fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; -} - -public final class com/splendo/kaluga/bluetooth/UUID { - public fun (Ljava/lang/String;)V - public final fun component1 ()Ljava/lang/String; - public final fun copy (Ljava/lang/String;)Lcom/splendo/kaluga/bluetooth/UUID; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/UUID;Ljava/lang/String;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/UUID; - public fun equals (Ljava/lang/Object;)Z - public final fun getUuidString ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/bluetooth/UUIDException : java/lang/Exception { - public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/bluetooth/UUIDException$InvalidFormat : com/splendo/kaluga/bluetooth/UUIDException { - public fun (Ljava/lang/String;)V -} - -public final class com/splendo/kaluga/bluetooth/UUIDKt { - public static final fun getUuidString (Lcom/splendo/kaluga/bluetooth/UUID;)Ljava/lang/String; - public static final fun randomUUID ()Lcom/splendo/kaluga/bluetooth/UUID; -} - -public final class com/splendo/kaluga/bluetooth/ValueKt { - public static final fun getAsBytes ([B)[B -} - -public final class com/splendo/kaluga/bluetooth/device/AdvertisementData : com/splendo/kaluga/bluetooth/device/BaseAdvertisementData { - public fun ()V - public fun getManufacturerData ()[B - public fun getManufacturerId ()Ljava/lang/Integer; - public fun getName ()Ljava/lang/String; - public fun getServiceData ()Ljava/util/Map; - public fun getServiceUUIDs ()Ljava/util/List; - public fun getTxPowerLevel ()I - public fun isConnectable ()Z -} - -public final class com/splendo/kaluga/bluetooth/device/AdvertisementDataKt { - public static final fun getDescription (Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/BaseAdvertisementData { - public abstract fun getManufacturerData ()[B - public abstract fun getManufacturerId ()Ljava/lang/Integer; - public abstract fun getName ()Ljava/lang/String; - public abstract fun getServiceData ()Ljava/util/Map; - public abstract fun getServiceUUIDs ()Ljava/util/List; - public abstract fun getTxPowerLevel ()I - public abstract fun isConnectable ()Z -} - -public abstract class com/splendo/kaluga/bluetooth/device/BaseConnectableDeviceStateRepo : com/splendo/kaluga/base/state/HotStateFlowRepo { - public fun (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/CoroutineContext;)V -} - -public abstract class com/splendo/kaluga/bluetooth/device/BaseDeviceConnectionManager : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager, kotlinx/coroutines/CoroutineScope { - public fun (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlinx/coroutines/CoroutineScope;)V - public final fun cancelConnecting ()V - protected fun createService (Lcom/splendo/kaluga/bluetooth/ServiceWrapper;)Lcom/splendo/kaluga/bluetooth/Service; - protected abstract fun didStartPerformingAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - protected final fun getCurrentAction ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - protected final fun getDeviceWrapper ()Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper; - public fun getEvents ()Lkotlinx/coroutines/flow/Flow; - protected final fun getNotifyingCharacteristics ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableMap; - public synthetic fun getRssi ()Lkotlinx/coroutines/flow/Flow; - public fun getRssi ()Lkotlinx/coroutines/flow/SharedFlow; - public final fun handleConnect ()V - protected fun handleCurrentActionCompleted (Z)V - public final fun handleDisconnect (Lkotlin/jvm/functions/Function1;)V - protected fun handleDiscoverCompleted (Ljava/util/List;)V - protected final fun handleNewMtu (I)V - protected fun handleNewRssi (I)V - protected fun handleUpdatedCharacteristic (Lcom/splendo/kaluga/bluetooth/UUID;ZLkotlin/jvm/functions/Function1;)V - public static synthetic fun handleUpdatedCharacteristic$default (Lcom/splendo/kaluga/bluetooth/device/BaseDeviceConnectionManager;Lcom/splendo/kaluga/bluetooth/UUID;ZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)V - protected fun handleUpdatedDescriptor (Lcom/splendo/kaluga/bluetooth/UUID;ZLkotlin/jvm/functions/Function1;)V - public static synthetic fun handleUpdatedDescriptor$default (Lcom/splendo/kaluga/bluetooth/device/BaseDeviceConnectionManager;Lcom/splendo/kaluga/bluetooth/UUID;ZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)V - public final fun pair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun performAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun readRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected abstract fun requestStartPairing (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected abstract fun requestStartUnpairing (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun reset (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected final fun setCurrentAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)V - public final fun startConnecting (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V - public final fun startDisconnecting ()V - public final fun startDiscovering ()V - public final fun unpair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState : com/splendo/kaluga/base/state/KalugaState, com/splendo/kaluga/bluetooth/device/DeviceState { - public abstract fun getDidDisconnect ()Lkotlin/jvm/functions/Function1; - public abstract fun getDisconnecting ()Lkotlin/jvm/functions/Function1; - public abstract fun unpair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState { - public abstract fun didUpdateMtu (I)Lkotlin/jvm/functions/Function1; - public abstract fun getMtu ()Ljava/lang/Integer; - public abstract fun getReconnect ()Lkotlin/jvm/functions/Function1; - public abstract fun getReconnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public abstract fun pair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun readRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startDisconnected ()V - public abstract fun updateReconnectionSettings (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected { - public abstract fun getServices ()Ljava/util/List; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Discovering : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected { - public abstract fun didDiscoverServices (Ljava/util/List;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Discovering$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Discovering;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$HandlingAction : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices { - public abstract fun addAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)Lkotlin/jvm/functions/Function1; - public abstract fun getAction ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - public abstract fun getActionCompleted ()Lkotlin/jvm/functions/Function1; - public abstract fun getNextActions ()Ljava/util/List; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$HandlingAction$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$HandlingAction;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Idle : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$DiscoveredServices { - public abstract fun handleAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Idle$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Idle;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$NoServices : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected { - public abstract fun getDiscoverServices ()Lkotlin/jvm/functions/Function1; - public abstract fun startDiscovering ()V -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$NoServices$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$NoServices;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connecting : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState { - public abstract fun getCancelConnection ()Lkotlin/jvm/functions/Function1; - public abstract fun getDidConnect ()Lkotlin/jvm/functions/Function1; - public abstract fun handleCancel ()V -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connecting$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connecting;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnected : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState { - public abstract fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; - public abstract fun startConnecting (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnected$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnected;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnecting : com/splendo/kaluga/bluetooth/device/ConnectableDeviceState { -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnecting$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnecting;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectableDeviceStateImplRepo : com/splendo/kaluga/bluetooth/device/BaseConnectableDeviceStateRepo { - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectionSettings { - public fun ()V - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/logging/Logger;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public final fun component2 ()Lcom/splendo/kaluga/logging/Logger; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/logging/Logger;)Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/logging/Logger;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings; - public fun equals (Ljava/lang/Object;)Z - public final fun getLogger ()Lcom/splendo/kaluga/logging/Logger; - public final fun getReconnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings { -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings$Always : com/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings$Always; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings$Never : com/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings$Never; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/Device { - public abstract fun advertisementDataDidUpdate (Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V - public abstract fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public abstract fun getInfo ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getState ()Lkotlinx/coroutines/flow/Flow; - public abstract fun handleConnected ()V - public abstract fun handleDisconnected ()V - public abstract fun rssiDidUpdate (I)V -} - -public final class com/splendo/kaluga/bluetooth/device/Device$DefaultImpls { - public static fun connect (Lcom/splendo/kaluga/bluetooth/device/Device;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun connect$default (Lcom/splendo/kaluga/bluetooth/device/Device;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static fun disconnect (Lcom/splendo/kaluga/bluetooth/device/Device;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract class com/splendo/kaluga/bluetooth/device/DeviceAction { - public final fun getCompletedSuccessfully ()Lkotlinx/coroutines/CompletableDeferred; -} - -public abstract class com/splendo/kaluga/bluetooth/device/DeviceAction$Notification : com/splendo/kaluga/bluetooth/device/DeviceAction { - public synthetic fun (Lcom/splendo/kaluga/bluetooth/Characteristic;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getCharacteristic ()Lcom/splendo/kaluga/bluetooth/Characteristic; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceAction$Notification$Disable : com/splendo/kaluga/bluetooth/device/DeviceAction$Notification { - public fun (Lcom/splendo/kaluga/bluetooth/Characteristic;)V -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceAction$Notification$Enable : com/splendo/kaluga/bluetooth/device/DeviceAction$Notification { - public fun (Lcom/splendo/kaluga/bluetooth/Characteristic;)V -} - -public abstract class com/splendo/kaluga/bluetooth/device/DeviceAction$Read : com/splendo/kaluga/bluetooth/device/DeviceAction { -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceAction$Read$Characteristic : com/splendo/kaluga/bluetooth/device/DeviceAction$Read { - public fun (Lcom/splendo/kaluga/bluetooth/Characteristic;)V - public final fun getCharacteristic ()Lcom/splendo/kaluga/bluetooth/Characteristic; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceAction$Read$Descriptor : com/splendo/kaluga/bluetooth/device/DeviceAction$Read { - public fun (Lcom/splendo/kaluga/bluetooth/Descriptor;)V - public final fun getDescriptor ()Lcom/splendo/kaluga/bluetooth/Descriptor; -} - -public abstract class com/splendo/kaluga/bluetooth/device/DeviceAction$Write : com/splendo/kaluga/bluetooth/device/DeviceAction { - public synthetic fun ([BLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getNewValue ()[B -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceAction$Write$Characteristic : com/splendo/kaluga/bluetooth/device/DeviceAction$Write { - public fun ([BLcom/splendo/kaluga/bluetooth/Characteristic;)V - public final fun getCharacteristic ()Lcom/splendo/kaluga/bluetooth/Characteristic; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceAction$Write$Descriptor : com/splendo/kaluga/bluetooth/device/DeviceAction$Write { - public fun ([BLcom/splendo/kaluga/bluetooth/Descriptor;)V - public final fun getDescriptor ()Lcom/splendo/kaluga/bluetooth/Descriptor; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager { - public abstract fun cancelConnecting ()V - public abstract fun connect ()V - public abstract fun disconnect ()V - public abstract fun discoverServices (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun getCurrentState ()Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; - public abstract fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getRssi ()Lkotlinx/coroutines/flow/Flow; - public abstract fun handleConnect ()V - public abstract fun handleDisconnect (Lkotlin/jvm/functions/Function1;)V - public abstract fun pair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun performAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun readRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun reset (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startConnecting (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V - public abstract fun startDisconnecting ()V - public abstract fun startDiscovering ()V - public abstract fun unpair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Builder { - public abstract fun create (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$DefaultImpls { - public static synthetic fun handleDisconnect$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V - public static synthetic fun startConnecting$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;ILjava/lang/Object;)V -} - -public abstract class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$AddAction : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public fun (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$AddAction; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$AddAction;Lcom/splendo/kaluga/bluetooth/device/DeviceAction;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$AddAction; - public fun equals (Ljava/lang/Object;)Z - public final fun getAction ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$CancelledConnecting : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$CancelledConnecting; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$CompletedAction : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public fun (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Z)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - public final fun component2 ()Z - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Z)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$CompletedAction; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$CompletedAction;Lcom/splendo/kaluga/bluetooth/device/DeviceAction;ZILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$CompletedAction; - public fun equals (Ljava/lang/Object;)Z - public final fun getAction ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - public final fun getSucceeded ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Connected : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Connected; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Connecting : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Connecting; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Connecting;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Connecting; - public fun equals (Ljava/lang/Object;)Z - public final fun getReconnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Disconnected : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public fun (Lkotlin/jvm/functions/Function1;)V - public final fun component1 ()Lkotlin/jvm/functions/Function1; - public final fun copy (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Disconnected; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Disconnected;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Disconnected; - public fun equals (Ljava/lang/Object;)Z - public final fun getOnDisconnect ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Disconnecting : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Disconnecting; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$DiscoveredServices : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public fun (Ljava/util/List;)V - public final fun component1 ()Ljava/util/List; - public final fun copy (Ljava/util/List;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$DiscoveredServices; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$DiscoveredServices;Ljava/util/List;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$DiscoveredServices; - public fun equals (Ljava/lang/Object;)Z - public final fun getServices ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Discovering : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$Discovering; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$MtuUpdated : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event { - public fun (I)V - public final fun component1 ()I - public final fun copy (I)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$MtuUpdated; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$MtuUpdated;IILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Event$MtuUpdated; - public fun equals (Ljava/lang/Object;)Z - public final fun getNewMtu ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State : java/lang/Enum { - public static final field CONNECTED Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; - public static final field CONNECTING Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; - public static final field DISCONNECTED Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; - public static final field DISCONNECTING Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; - public static fun values ()[Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceImpl : com/splendo/kaluga/bluetooth/device/Device, kotlinx/coroutines/CoroutineScope { - public static final field Companion Lcom/splendo/kaluga/bluetooth/device/DeviceImpl$Companion; - public static final field TAG Ljava/lang/String; - public fun (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/jvm/functions/Function1;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/jvm/functions/Function1;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun advertisementDataDidUpdate (Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V - public fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - public fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun getInfo ()Lkotlinx/coroutines/flow/Flow; - public fun getState ()Lkotlinx/coroutines/flow/Flow; - public fun handleConnected ()V - public fun handleDisconnected ()V - public fun rssiDidUpdate (I)V -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceImpl$Companion { -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceInfo { - public abstract fun distance (D)D - public abstract fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public abstract fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public abstract fun getName ()Ljava/lang/String; - public abstract fun getRssi ()I - public abstract fun getUpdatedAt ()Lcom/splendo/kaluga/base/utils/KalugaDate; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceInfo$DefaultImpls { - public static fun distance (Lcom/splendo/kaluga/bluetooth/device/DeviceInfo;D)D - public static synthetic fun distance$default (Lcom/splendo/kaluga/bluetooth/device/DeviceInfo;DILjava/lang/Object;)D -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceInfoImpl : com/splendo/kaluga/bluetooth/device/DeviceInfo { - public fun (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V - public fun (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun component3 ()I - public final fun component4 ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public final fun copy (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl;Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl; - public fun distance (D)D - public fun equals (Ljava/lang/Object;)Z - public fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun getName ()Ljava/lang/String; - public fun getRssi ()I - public fun getUpdatedAt ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceInfoJVM { - public static final fun getStringValue (Lcom/splendo/kaluga/bluetooth/UUID;)Ljava/lang/String; - public static final fun identifierFromString (Ljava/lang/String;)Lcom/splendo/kaluga/bluetooth/UUID; - public static final fun randomIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; -} - -public final class com/splendo/kaluga/bluetooth/device/DeviceInfoKt { - public static final fun getSerializable (Lcom/splendo/kaluga/bluetooth/UUID;)Lcom/splendo/kaluga/bluetooth/device/SerializableIdentifier; -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceState { -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/DeviceWrapper { - public abstract fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public abstract fun getName ()Ljava/lang/String; -} - -public class com/splendo/kaluga/bluetooth/device/IdentifierSerializer : kotlinx/serialization/KSerializer { - public fun ()V - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/bluetooth/device/SerializableIdentifier; - public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/bluetooth/device/SerializableIdentifier;)V - public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V -} - -public abstract interface class com/splendo/kaluga/bluetooth/device/NotConnectableDeviceState : com/splendo/kaluga/bluetooth/device/DeviceState { -} - -public final class com/splendo/kaluga/bluetooth/device/SerializableIdentifier { - public static final field Companion Lcom/splendo/kaluga/bluetooth/device/SerializableIdentifier$Companion; - public fun (Lcom/splendo/kaluga/bluetooth/UUID;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;)Lcom/splendo/kaluga/bluetooth/device/SerializableIdentifier; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/device/SerializableIdentifier;Lcom/splendo/kaluga/bluetooth/UUID;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/SerializableIdentifier; - public fun equals (Ljava/lang/Object;)Z - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/device/SerializableIdentifier$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public abstract class com/splendo/kaluga/bluetooth/scanner/BaseScanner : com/splendo/kaluga/bluetooth/scanner/Scanner, kotlinx/coroutines/CoroutineScope { - public static final field Companion Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Companion; - public fun (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun cancelRetrievingPairedDevices ()V - protected abstract fun didStartScanning (Ljava/util/Set;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected abstract fun didStopScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected abstract fun generateEnableSensorsActions ()Ljava/util/List; - protected abstract fun getBluetoothEnabledMonitor ()Lcom/splendo/kaluga/bluetooth/BluetoothMonitor; - protected final fun getBluetoothPermissionRepo ()Lcom/splendo/kaluga/base/state/StateRepo; - public fun getConnectionEvents ()Lkotlinx/coroutines/flow/Flow; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - protected final fun getDeviceBuilder (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Builder;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlin/jvm/functions/Function1; - public fun getDiscoveryEvents ()Lkotlinx/coroutines/flow/Flow; - protected fun getEnabledFlow ()Lkotlinx/coroutines/flow/Flow; - protected final fun getEventChannel ()Lkotlinx/coroutines/channels/Channel; - public fun getEvents ()Lkotlinx/coroutines/flow/Flow; - protected fun getPermissionsFlow ()Lkotlinx/coroutines/flow/Flow; - protected fun handleDeviceDiscovered (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function1;)V - public fun isHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun requestEnableHardware (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected abstract fun retrievePairedDeviceDiscoveredEvents (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun scanForDevices (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun stopScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder { - public abstract fun create (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner; -} - -public final class com/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder;Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner; -} - -public final class com/splendo/kaluga/bluetooth/scanner/BaseScanner$Companion { -} - -public final class com/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings { - public fun (Lcom/splendo/kaluga/permissions/base/Permissions;ZZZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lcom/splendo/kaluga/logging/Logger;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/Permissions;ZZZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/permissions/base/Permissions; - public final fun component2 ()Z - public final fun component3 ()Z - public final fun component4 ()Z - public final fun component5 ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings; - public final fun component6 ()Lcom/splendo/kaluga/logging/Logger; - public final fun copy (Lcom/splendo/kaluga/permissions/base/Permissions;ZZZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lcom/splendo/kaluga/logging/Logger;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lcom/splendo/kaluga/permissions/base/Permissions;ZZZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lcom/splendo/kaluga/logging/Logger;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings; - public fun equals (Ljava/lang/Object;)Z - public final fun getAutoEnableSensors ()Z - public final fun getAutoRequestPermission ()Z - public final fun getDefaultConnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings; - public final fun getDiscoverBondedDevices ()Z - public final fun getLogger ()Lcom/splendo/kaluga/logging/Logger; - public final fun getPermissions ()Lcom/splendo/kaluga/permissions/base/Permissions; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/bluetooth/scanner/BaseScanningStateRepo : com/splendo/kaluga/base/state/ColdStateFlowRepo { - public fun (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/bluetooth/scanner/DefaultDevices : com/splendo/kaluga/bluetooth/scanner/ScanningState$Devices { - public fun (Ljava/util/Map;Ljava/util/Map;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning;)V - public fun (Ljava/util/Set;)V - public final fun component1 ()Ljava/util/Map; - public final fun component2 ()Ljava/util/Map; - public final fun component3 ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning; - public final fun copy (Ljava/util/Map;Ljava/util/Map;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning;)Lcom/splendo/kaluga/bluetooth/scanner/DefaultDevices; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/DefaultDevices;Ljava/util/Map;Ljava/util/Map;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/DefaultDevices; - public fun copyAndAddScanned (Lcom/splendo/kaluga/bluetooth/UUID;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun copyAndSetPaired (Ljava/util/Map;Ljava/util/Set;Z)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun devicesForCurrentScanFilter ()Ljava/util/List; - public fun devicesForDiscoveryMode (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode;)Ljava/util/List; - public fun equals (Ljava/lang/Object;)Z - public fun getAllDevices ()Ljava/util/Map; - public fun getCurrentScanFilter ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning; - public fun getIdentifiersForCurrentScanFilter ()Ljava/util/Set; - public fun getIdentifiersFoundForDeviceDiscoveryMode ()Ljava/util/Map; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; - public fun updateScanFilter (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; -} - -public final class com/splendo/kaluga/bluetooth/scanner/DefaultScanner : com/splendo/kaluga/bluetooth/scanner/BaseScanner { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun isSupported ()Z -} - -public final class com/splendo/kaluga/bluetooth/scanner/DefaultScanner$Builder : com/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder { - public fun ()V - public fun create (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/Scanner { - public abstract fun cancelRetrievingPairedDevices ()V - public abstract fun getConnectionEvents ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getDiscoveryEvents ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public abstract fun isHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun isSupported ()Z - public abstract fun requestEnableHardware (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun scanForDevices (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract class com/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent { -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceConnected : com/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent { - public fun (Lcom/splendo/kaluga/bluetooth/UUID;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceConnected; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceConnected;Lcom/splendo/kaluga/bluetooth/UUID;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceConnected; - public fun equals (Ljava/lang/Object;)Z - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceDisconnected : com/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent { - public fun (Lcom/splendo/kaluga/bluetooth/UUID;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceDisconnected; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceDisconnected;Lcom/splendo/kaluga/bluetooth/UUID;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$ConnectionEvent$DeviceDisconnected; - public fun equals (Ljava/lang/Object;)Z - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$DeviceDiscovered { - public fun (Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function1;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun component2 ()I - public final fun component3 ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public final fun component4 ()Lkotlin/jvm/functions/Function1; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$DeviceDiscovered; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/Scanner$DeviceDiscovered;Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$DeviceDiscovered; - public fun equals (Ljava/lang/Object;)Z - public final fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public final fun getDeviceCreator ()Lkotlin/jvm/functions/Function1; - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun getRssi ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/bluetooth/scanner/Scanner$Event { -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$Event$BluetoothDisabled : com/splendo/kaluga/bluetooth/scanner/Scanner$Event { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$BluetoothDisabled; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$Event$BluetoothEnabled : com/splendo/kaluga/bluetooth/scanner/Scanner$Event { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$BluetoothEnabled; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$Event$FailedScanning : com/splendo/kaluga/bluetooth/scanner/Scanner$Event { - public static final field INSTANCE Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$FailedScanning; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$Event$PairedDevicesRetrieved : com/splendo/kaluga/bluetooth/scanner/Scanner$Event { - public fun (Ljava/util/List;Ljava/util/Set;Z)V - public final fun component1 ()Ljava/util/List; - public final fun component2 ()Ljava/util/Set; - public final fun component3 ()Z - public final fun copy (Ljava/util/List;Ljava/util/Set;Z)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$PairedDevicesRetrieved; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$PairedDevicesRetrieved;Ljava/util/List;Ljava/util/Set;ZILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$PairedDevicesRetrieved; - public fun equals (Ljava/lang/Object;)Z - public final fun getDeviceCreators ()Ljava/util/List; - public final fun getDevices ()Ljava/util/List; - public final fun getFilter ()Ljava/util/Set; - public final fun getIdentifiers ()Ljava/util/List; - public final fun getRemoveForAllPairedFilters ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/scanner/Scanner$Event$PermissionChanged : com/splendo/kaluga/bluetooth/scanner/Scanner$Event { - public fun (Z)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$PermissionChanged; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$PermissionChanged;ZILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/Scanner$Event$PermissionChanged; - public fun equals (Ljava/lang/Object;)Z - public final fun getHasPermission ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState : com/splendo/kaluga/base/state/KalugaState { - public abstract fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Active : com/splendo/kaluga/bluetooth/scanner/ScanningState { - public abstract fun getDeinitialize ()Lkotlin/jvm/functions/Function1; - public abstract fun getDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Active;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Deinitialized : com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive { - public abstract fun getPreviousDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract class com/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode { - public abstract fun getFilter ()Ljava/util/Set; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Paired : com/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode { - public fun (Ljava/util/Set;)V - public final fun component1 ()Ljava/util/Set; - public final fun copy (Ljava/util/Set;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Paired; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Paired;Ljava/util/Set;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Paired; - public fun equals (Ljava/lang/Object;)Z - public fun getFilter ()Ljava/util/Set; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning : com/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode { - public fun (Ljava/util/Set;)V - public final fun component1 ()Ljava/util/Set; - public final fun copy (Ljava/util/Set;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning;Ljava/util/Set;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning; - public fun equals (Ljava/lang/Object;)Z - public fun getFilter ()Ljava/util/Set; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Devices { - public abstract fun copyAndAddScanned (Lcom/splendo/kaluga/bluetooth/UUID;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public abstract fun copyAndSetPaired (Ljava/util/Map;Ljava/util/Set;Z)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public abstract fun devicesForCurrentScanFilter ()Ljava/util/List; - public abstract fun devicesForDiscoveryMode (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode;)Ljava/util/List; - public abstract fun getAllDevices ()Ljava/util/Map; - public abstract fun getCurrentScanFilter ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode$Scanning; - public abstract fun getIdentifiersForCurrentScanFilter ()Ljava/util/Set; - public abstract fun getIdentifiersFoundForDeviceDiscoveryMode ()Ljava/util/Map; - public abstract fun updateScanFilter (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Devices$DefaultImpls { - public static fun devicesForCurrentScanFilter (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Ljava/util/List; - public static fun devicesForDiscoveryMode (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$DeviceDiscoveryMode;)Ljava/util/List; - public static fun getIdentifiersForCurrentScanFilter (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Ljava/util/Set; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled : com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted { - public abstract fun getDisable ()Lkotlin/jvm/functions/Function1; - public abstract fun pairedDevices (Ljava/util/Map;Ljava/util/Set;Z)Lkotlin/jvm/functions/Function1; - public abstract fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle : com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled { - public abstract fun refresh (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; - public abstract fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle$DefaultImpls { - public static synthetic fun refresh$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle;Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle;)Lkotlin/jvm/functions/Function1; - public static synthetic fun startScanning$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle;Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning : com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled { - public abstract fun discoverDevices (Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning;)Lkotlin/jvm/functions/Function1; - public static synthetic fun stopScanning$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning$DiscoveredDevice { - public fun (Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function0;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun component2 ()I - public final fun component3 ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public final fun component4 ()Lkotlin/jvm/functions/Function0; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning$DiscoveredDevice; - public static synthetic fun copy$default (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning$DiscoveredDevice;Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning$DiscoveredDevice; - public fun equals (Ljava/lang/Object;)Z - public final fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public final fun getDeviceCreator ()Lkotlin/jvm/functions/Function0; - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun getRssi ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/bluetooth/scanner/ScanningState { -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized : com/splendo/kaluga/bluetooth/scanner/ScanningState$Active { -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/bluetooth/scanner/ScanningState$Active { - public abstract fun initialized (ZZ)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Initializing;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth : com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized { -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$Disabled : com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth, com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted { - public abstract fun getEnable ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$Disabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$Disabled;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$MissingPermissions : com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth { - public abstract fun permit (Z)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$MissingPermissions$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$MissingPermissions;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoHardware : com/splendo/kaluga/bluetooth/scanner/ScanningState { -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NoHardware$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NoHardware;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$NotInitialized : com/splendo/kaluga/bluetooth/scanner/ScanningState$Inactive { -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$NotInitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$NotInitialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted : com/splendo/kaluga/bluetooth/scanner/ScanningState$Initialized { - public abstract fun getRevokePermission ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Permitted;)Lkotlin/jvm/functions/Function1; -} - -public class com/splendo/kaluga/bluetooth/scanner/ScanningStateImplRepo : com/splendo/kaluga/bluetooth/scanner/BaseScanningStateRepo { - public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningStateKt { - public static final fun discoverDevice (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning;Lcom/splendo/kaluga/bluetooth/UUID;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/bluetooth/scanner/ScanningStateRepo : com/splendo/kaluga/bluetooth/scanner/ScanningStateImplRepo { - public fun (Lkotlin/jvm/functions/Function2;Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V -} - diff --git a/bluetooth/build.gradle.kts b/bluetooth/build.gradle.kts index d603f96d1..a1cbb0b31 100644 --- a/bluetooth/build.gradle.kts +++ b/bluetooth/build.gradle.kts @@ -1,33 +1,26 @@ plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) + alias(libs.plugins.kotlin.serialization) } -publishableComponent("bluetooth") - -dependencies { - implementationDependency(Dependencies.BLEScanner) - implementation(project(":location", "")) - implementationDependency(Dependencies.KotlinX.AtomicFu) -} - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "bluetooth" + dependencies { + android { + main { + implementation(libs.nordic.support.scanner) + implementation(project(":location", "")) + implementation(libs.kotlinx.atomicfu) + } + } + common { + main { implementation(project(":service")) api(project(":bluetooth-permissions", "")) - apiDependency(Dependencies.KotlinX.Serialization.Core) + api(libs.kotlinx.serialization.core) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-bluetooth", "")) } } diff --git a/bluetooth/src/androidLibMain/kotlin/BluetoothBuilder.kt b/bluetooth/src/androidLibMain/kotlin/BluetoothBuilder.kt index bcef98d51..5e46494d0 100644 --- a/bluetooth/src/androidLibMain/kotlin/BluetoothBuilder.kt +++ b/bluetooth/src/androidLibMain/kotlin/BluetoothBuilder.kt @@ -32,7 +32,7 @@ actual class BluetoothBuilder( private val scannerBuilder: BaseScanner.Builder = DefaultScanner.Builder(applicationContext = applicationContext), ) : BaseBluetoothBuilder { - override fun create(scannerSettingsBuilder: (Permissions) -> BaseScanner.Settings, coroutineContext: CoroutineContext): Bluetooth = Bluetooth( + actual override fun create(scannerSettingsBuilder: (Permissions) -> BaseScanner.Settings, coroutineContext: CoroutineContext): Bluetooth = Bluetooth( { scannerContext -> scannerSettingsBuilder(permissionsBuilder(scannerContext)) }, diff --git a/bluetooth/src/androidLibMain/kotlin/device/AdvertisementData.kt b/bluetooth/src/androidLibMain/kotlin/device/AdvertisementData.kt index 0f648ea6e..c5a1f02e8 100644 --- a/bluetooth/src/androidLibMain/kotlin/device/AdvertisementData.kt +++ b/bluetooth/src/androidLibMain/kotlin/device/AdvertisementData.kt @@ -31,23 +31,23 @@ actual class AdvertisementData(private val scanResult: ScanResult?) : BaseAdvert private val scanRecord = scanResult?.scanRecord - override val name: String? + actual override val name: String? get() = scanRecord?.deviceName - override val manufacturerId: Int? + actual override val manufacturerId: Int? get() = scanRecord?.manufacturerSpecificData?.let { if (it.size() > 0) it.keyAt(0) else null } - override val manufacturerData: ByteArray? + actual override val manufacturerData: ByteArray? get() = scanRecord?.manufacturerSpecificData?.let { manufacturerSpecificData -> manufacturerId?.let { key -> val keyBytes = ByteBuffer.allocate(2).order(ByteOrder.LITTLE_ENDIAN).putShort(key.toShort()).array() byteArrayOf(*keyBytes, *manufacturerSpecificData[key]) } } - override val serviceUUIDs: List + actual override val serviceUUIDs: List get() = scanRecord?.serviceUuids?.map { it.uuid } ?: emptyList() - override val serviceData: Map + actual override val serviceData: Map get() = scanRecord?.serviceData?.mapKeys { it.key.uuid } ?: emptyMap() - override val txPowerLevel: TxPower + actual override val txPowerLevel: TxPower get() = scanRecord?.txPowerLevel ?: Int.MIN_VALUE - override val isConnectable: Boolean + actual override val isConnectable: Boolean get() = scanResult?.isConnectable == true } diff --git a/bluetooth/src/androidLibMain/kotlin/device/DefaultDeviceConnectionManager.kt b/bluetooth/src/androidLibMain/kotlin/device/DefaultDeviceConnectionManager.kt index 358702641..60c4ddf34 100644 --- a/bluetooth/src/androidLibMain/kotlin/device/DefaultDeviceConnectionManager.kt +++ b/bluetooth/src/androidLibMain/kotlin/device/DefaultDeviceConnectionManager.kt @@ -74,7 +74,7 @@ internal actual class DefaultDeviceConnectionManager( } } - @Deprecated("Deprecated in Java") + @Suppress("OVERRIDE_DEPRECATION") override fun onCharacteristicRead(gatt: BluetoothGatt?, characteristic: BluetoothGattCharacteristic?, status: Int) { characteristic ?: return @Suppress("DEPRECATION") @@ -96,7 +96,7 @@ internal actual class DefaultDeviceConnectionManager( } } - @Deprecated("Deprecated in Java") + @Suppress("OVERRIDE_DEPRECATION") override fun onCharacteristicChanged(gatt: BluetoothGatt?, characteristic: BluetoothGattCharacteristic?) { characteristic ?: return @Suppress("DEPRECATION") @@ -106,7 +106,7 @@ internal actual class DefaultDeviceConnectionManager( override fun onCharacteristicChanged(gatt: BluetoothGatt, characteristic: BluetoothGattCharacteristic, value: ByteArray) = updateCharacteristic(characteristic, value, status = GATT_SUCCESS) - @Deprecated("Deprecated in Java") + @Suppress("OVERRIDE_DEPRECATION") override fun onDescriptorRead(gatt: BluetoothGatt?, descriptor: BluetoothGattDescriptor?, status: Int) { descriptor ?: return @Suppress("DEPRECATION") @@ -143,7 +143,7 @@ internal actual class DefaultDeviceConnectionManager( } private var lastKnownState = BluetoothProfile.STATE_DISCONNECTED - override fun getCurrentState(): DeviceConnectionManager.State = when (lastKnownState) { + actual override fun getCurrentState(): DeviceConnectionManager.State = when (lastKnownState) { BluetoothProfile.STATE_CONNECTED -> DeviceConnectionManager.State.CONNECTED BluetoothProfile.STATE_CONNECTING -> DeviceConnectionManager.State.CONNECTING BluetoothProfile.STATE_DISCONNECTED -> DeviceConnectionManager.State.DISCONNECTED @@ -152,7 +152,7 @@ internal actual class DefaultDeviceConnectionManager( } @SuppressLint("MissingPermission") - override fun connect() { + actual override fun connect() { when { !gatt.isCompleted -> gatt.complete(deviceWrapper.connectGatt(context, false, callback)) lastKnownState == BluetoothProfile.STATE_CONNECTED -> handleConnect() @@ -161,11 +161,11 @@ internal actual class DefaultDeviceConnectionManager( } } - override suspend fun discoverServices() { + actual override suspend fun discoverServices() { gatt.await().discoverServices() } - override fun disconnect() { + actual override fun disconnect() { val gatt = gatt.getCompletedOrNull() if (gatt != null && lastKnownState != BluetoothProfile.STATE_DISCONNECTED) { gatt.disconnect() @@ -185,11 +185,11 @@ internal actual class DefaultDeviceConnectionManager( gatt.await().readRemoteRssi() } - override suspend fun requestMtu(mtu: MTU): Boolean { + actual override suspend fun requestMtu(mtu: MTU): Boolean { return gatt.await().requestMtu(mtu) } - override suspend fun didStartPerformingAction(action: DeviceAction) { + actual override suspend fun didStartPerformingAction(action: DeviceAction) { currentAction = action val succeeded = when (action) { is DeviceAction.Read.Characteristic -> gatt.await().readCharacteristic(action.characteristic.wrapper) @@ -207,14 +207,14 @@ internal actual class DefaultDeviceConnectionManager( } @SuppressLint("MissingPermission") - override suspend fun requestStartPairing() { + actual override suspend fun requestStartPairing() { if (deviceWrapper.bondState == DeviceWrapper.BondState.NONE) { deviceWrapper.createBond() } } @SuppressLint("MissingPermission") - override suspend fun requestStartUnpairing() { + actual override suspend fun requestStartUnpairing() { if (deviceWrapper.bondState != DeviceWrapper.BondState.NONE) { deviceWrapper.removeBond() } diff --git a/bluetooth/src/androidLibMain/kotlin/scanner/Scanner.kt b/bluetooth/src/androidLibMain/kotlin/scanner/Scanner.kt index b7215822a..5fb03cca7 100644 --- a/bluetooth/src/androidLibMain/kotlin/scanner/Scanner.kt +++ b/bluetooth/src/androidLibMain/kotlin/scanner/Scanner.kt @@ -148,9 +148,9 @@ actual class DefaultScanner internal constructor( private val locationPermissionRepo get() = permissions[locationPermission] - override val isSupported: Boolean = bluetoothAdapter != null + actual override val isSupported: Boolean = bluetoothAdapter != null private val deviceConnectionManagerBuilder = DefaultDeviceConnectionManager.Builder(applicationContext) - override val bluetoothEnabledMonitor: BluetoothMonitor? = bluetoothAdapter?.let { BluetoothMonitor.Builder(applicationContext, it).create() } + actual override val bluetoothEnabledMonitor: BluetoothMonitor? = bluetoothAdapter?.let { BluetoothMonitor.Builder(applicationContext, it).create() } private val locationEnabledMonitor = LocationMonitor.Builder(applicationContext).create() override val permissionsFlow: Flow>> get() = combine( @@ -166,7 +166,7 @@ actual class DefaultScanner internal constructor( listOf(bluetoothEnabled, locationEnabled) } - override suspend fun didStartScanning(filter: Filter) { + actual override suspend fun didStartScanning(filter: Filter) { bluetoothScanner.startScan( filter.map { ScanFilter.Builder().setServiceUuid(ParcelUuid(it)).build() @@ -176,7 +176,7 @@ actual class DefaultScanner internal constructor( ) } - override suspend fun didStopScanning() { + actual override suspend fun didStopScanning() { bluetoothScanner.stopScan(callback) } @@ -193,7 +193,7 @@ actual class DefaultScanner internal constructor( override suspend fun isHardwareEnabled(): Boolean = super.isHardwareEnabled() && locationEnabledMonitor.isServiceEnabled @SuppressLint("MissingPermission") // Lint complains even with permissions - override fun generateEnableSensorsActions(): List { + actual override fun generateEnableSensorsActions(): List { if (!isSupported) return emptyList() return listOfNotNull( if (bluetoothAdapter?.isEnabled != true) { @@ -226,7 +226,7 @@ actual class DefaultScanner internal constructor( } @SuppressLint("MissingPermission") // Lint complains even with permissions - override suspend fun retrievePairedDeviceDiscoveredEvents( + actual override suspend fun retrievePairedDeviceDiscoveredEvents( withServices: Filter, connectionSettings: ConnectionSettings?, ): List { diff --git a/bluetooth/src/commonMain/kotlin/Bluetooth.kt b/bluetooth/src/commonMain/kotlin/Bluetooth.kt index 5fbf85022..98f29a187 100644 --- a/bluetooth/src/commonMain/kotlin/Bluetooth.kt +++ b/bluetooth/src/commonMain/kotlin/Bluetooth.kt @@ -324,7 +324,9 @@ interface BaseBluetoothBuilder { /** * A default implementation of [BaseBluetoothBuilder] */ -expect class BluetoothBuilder : BaseBluetoothBuilder +expect class BluetoothBuilder : BaseBluetoothBuilder { + override fun create(scannerSettingsBuilder: (Permissions) -> BaseScanner.Settings, coroutineContext: CoroutineContext): Bluetooth +} /** * Gets a ([Flow] of) [Device] with a given [Identifier] from a [Flow] of a list of [Device]. diff --git a/bluetooth/src/commonMain/kotlin/device/AdvertisementData.kt b/bluetooth/src/commonMain/kotlin/device/AdvertisementData.kt index b414b8ce4..3fb230f59 100644 --- a/bluetooth/src/commonMain/kotlin/device/AdvertisementData.kt +++ b/bluetooth/src/commonMain/kotlin/device/AdvertisementData.kt @@ -64,7 +64,15 @@ interface BaseAdvertisementData { /** * Platform specific implementation of [BaseAdvertisementData] */ -expect class AdvertisementData : BaseAdvertisementData +expect class AdvertisementData : BaseAdvertisementData { + override val name: String? + override val manufacturerId: Int? + override val manufacturerData: ByteArray? + override val serviceUUIDs: List + override val serviceData: Map + override val txPowerLevel: TxPower + override val isConnectable: Boolean +} val BaseAdvertisementData.description: String get() = listOfNotNull( name?.let { "Name: $it" }, diff --git a/bluetooth/src/commonMain/kotlin/device/DefaultDeviceConnectionManager.kt b/bluetooth/src/commonMain/kotlin/device/DefaultDeviceConnectionManager.kt index 630cd6661..6905241b1 100644 --- a/bluetooth/src/commonMain/kotlin/device/DefaultDeviceConnectionManager.kt +++ b/bluetooth/src/commonMain/kotlin/device/DefaultDeviceConnectionManager.kt @@ -436,4 +436,13 @@ abstract class BaseDeviceConnectionManager( } } -internal expect class DefaultDeviceConnectionManager : BaseDeviceConnectionManager +internal expect class DefaultDeviceConnectionManager : BaseDeviceConnectionManager { + override fun connect() + override fun disconnect() + override fun getCurrentState(): DeviceConnectionManager.State + override suspend fun discoverServices() + override suspend fun didStartPerformingAction(action: DeviceAction) + override suspend fun requestStartPairing() + override suspend fun requestMtu(mtu: MTU): Boolean + override suspend fun requestStartUnpairing() +} diff --git a/bluetooth/src/commonMain/kotlin/scanner/Scanner.kt b/bluetooth/src/commonMain/kotlin/scanner/Scanner.kt index d903cb08e..d9bea6ad7 100644 --- a/bluetooth/src/commonMain/kotlin/scanner/Scanner.kt +++ b/bluetooth/src/commonMain/kotlin/scanner/Scanner.kt @@ -551,4 +551,12 @@ abstract class BaseScanner constructor( /** * A default implementation of [BaseScanner] */ -expect class DefaultScanner : BaseScanner +expect class DefaultScanner : BaseScanner { + override val isSupported: Boolean + override val bluetoothEnabledMonitor: BluetoothMonitor? + + override suspend fun didStartScanning(filter: Filter) + override suspend fun didStopScanning() + override fun generateEnableSensorsActions(): List + override suspend fun retrievePairedDeviceDiscoveredEvents(withServices: Filter, connectionSettings: ConnectionSettings?): List +} diff --git a/bluetooth/src/iosMain/kotlin/BluetoothBuilder.kt b/bluetooth/src/iosMain/kotlin/BluetoothBuilder.kt index c123b6900..3c82b3e4d 100644 --- a/bluetooth/src/iosMain/kotlin/BluetoothBuilder.kt +++ b/bluetooth/src/iosMain/kotlin/BluetoothBuilder.kt @@ -28,7 +28,7 @@ actual class BluetoothBuilder( private val scannerBuilder: DefaultScanner.Builder = DefaultScanner.Builder(), ) : BaseBluetoothBuilder { - override fun create(scannerSettingsBuilder: (Permissions) -> BaseScanner.Settings, coroutineContext: CoroutineContext): Bluetooth = Bluetooth( + actual override fun create(scannerSettingsBuilder: (Permissions) -> BaseScanner.Settings, coroutineContext: CoroutineContext): Bluetooth = Bluetooth( { scannerContext -> scannerSettingsBuilder(permissionsBuilder(scannerContext)) }, diff --git a/bluetooth/src/iosMain/kotlin/device/AdvertisementData.kt b/bluetooth/src/iosMain/kotlin/device/AdvertisementData.kt index cd228c076..fb409bc03 100644 --- a/bluetooth/src/iosMain/kotlin/device/AdvertisementData.kt +++ b/bluetooth/src/iosMain/kotlin/device/AdvertisementData.kt @@ -38,9 +38,9 @@ import platform.Foundation.NSNumber */ actual class AdvertisementData(private val advertisementData: Map) : BaseAdvertisementData { - override val name: String? + actual override val name: String? get() = advertisementData[CBAdvertisementDataLocalNameKey] as? String - override val manufacturerId: Int? + actual override val manufacturerId: Int? get() = manufacturerData?.let { manufacturerDataArray -> if (manufacturerDataArray.size >= 2) { (manufacturerDataArray[0].toUInt() + (manufacturerDataArray[1].toUInt() shl 8)).toInt() @@ -48,13 +48,13 @@ actual class AdvertisementData(private val advertisementData: Map) null } } - override val manufacturerData: ByteArray? get() = (advertisementData[CBAdvertisementDataManufacturerDataKey] as? NSData)?.toByteArray() - override val serviceUUIDs: List get() = (advertisementData[CBAdvertisementDataServiceUUIDsKey] as? List<*>)?.typedList() ?: emptyList() - override val serviceData: Map get() = (advertisementData[CBAdvertisementDataServiceDataKey] as? Map<*, *>) + actual override val manufacturerData: ByteArray? get() = (advertisementData[CBAdvertisementDataManufacturerDataKey] as? NSData)?.toByteArray() + actual override val serviceUUIDs: List get() = (advertisementData[CBAdvertisementDataServiceUUIDsKey] as? List<*>)?.typedList() ?: emptyList() + actual override val serviceData: Map get() = (advertisementData[CBAdvertisementDataServiceDataKey] as? Map<*, *>) ?.typedMap() ?.mapNotNull { Pair(it.key, it.value.toByteArray()) } ?.toMap() ?: emptyMap() - override val txPowerLevel: TxPower get() = (advertisementData[CBAdvertisementDataTxPowerLevelKey] as? NSNumber)?.intValue ?: Int.MIN_VALUE + actual override val txPowerLevel: TxPower get() = (advertisementData[CBAdvertisementDataTxPowerLevelKey] as? NSNumber)?.intValue ?: Int.MIN_VALUE - override val isConnectable: Boolean get() = ((advertisementData[CBAdvertisementDataIsConnectable] as? NSNumber)?.boolValue ?: false) + actual override val isConnectable: Boolean get() = ((advertisementData[CBAdvertisementDataIsConnectable] as? NSNumber)?.boolValue ?: false) } diff --git a/bluetooth/src/iosMain/kotlin/device/DefaultDeviceConnectionManager.kt b/bluetooth/src/iosMain/kotlin/device/DefaultDeviceConnectionManager.kt index 43e8e63ad..f67d510fb 100644 --- a/bluetooth/src/iosMain/kotlin/device/DefaultDeviceConnectionManager.kt +++ b/bluetooth/src/iosMain/kotlin/device/DefaultDeviceConnectionManager.kt @@ -23,6 +23,7 @@ import com.splendo.kaluga.bluetooth.DefaultServiceWrapper import com.splendo.kaluga.bluetooth.MTU import com.splendo.kaluga.bluetooth.uuidString import com.splendo.kaluga.logging.debug +import kotlinx.cinterop.ObjCSignatureOverride import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex @@ -71,13 +72,14 @@ internal actual class DefaultDeviceConnectionManager( private val discoveringServices = mutableListOf() private val discoveringCharacteristics = mutableListOf() - @Suppress("CONFLICTING_OVERLOADS") private val peripheralDelegate = object : NSObject(), CBPeripheralDelegateProtocol { + @ObjCSignatureOverride override fun peripheral(peripheral: CBPeripheral, didDiscoverDescriptorsForCharacteristic: CBCharacteristic, error: NSError?) { didDiscoverDescriptors(didDiscoverDescriptorsForCharacteristic) } + @ObjCSignatureOverride override fun peripheral(peripheral: CBPeripheral, didUpdateNotificationStateForCharacteristic: CBCharacteristic, error: NSError?) { val action = currentAction if (action is DeviceAction.Notification && action.characteristic.wrapper.uuid == didUpdateNotificationStateForCharacteristic.UUID) { @@ -87,18 +89,22 @@ internal actual class DefaultDeviceConnectionManager( } } + @ObjCSignatureOverride override fun peripheral(peripheral: CBPeripheral, didUpdateValueForCharacteristic: CBCharacteristic, error: NSError?) { updateCharacteristic(didUpdateValueForCharacteristic, error) } + @ObjCSignatureOverride override fun peripheral(peripheral: CBPeripheral, didWriteValueForCharacteristic: CBCharacteristic, error: NSError?) { updateCharacteristic(didWriteValueForCharacteristic, error) } + @ObjCSignatureOverride override fun peripheral(peripheral: CBPeripheral, didUpdateValueForDescriptor: CBDescriptor, error: NSError?) { updateDescriptor(didUpdateValueForDescriptor, error) } + @ObjCSignatureOverride override fun peripheral(peripheral: CBPeripheral, didWriteValueForDescriptor: CBDescriptor, error: NSError?) { updateDescriptor(didWriteValueForDescriptor, error) } @@ -122,7 +128,7 @@ internal actual class DefaultDeviceConnectionManager( peripheral.delegate = peripheralDelegate } - override fun getCurrentState(): DeviceConnectionManager.State = when (peripheral.state) { + actual override fun getCurrentState(): DeviceConnectionManager.State = when (peripheral.state) { CBPeripheralStateConnected -> DeviceConnectionManager.State.CONNECTED CBPeripheralStateConnecting -> DeviceConnectionManager.State.CONNECTING CBPeripheralStateDisconnected -> DeviceConnectionManager.State.DISCONNECTED @@ -130,11 +136,11 @@ internal actual class DefaultDeviceConnectionManager( else -> DeviceConnectionManager.State.DISCONNECTED } - override fun connect() { + actual override fun connect() { cbCentralManager.connectPeripheral(peripheral, null) } - override suspend fun discoverServices() { + actual override suspend fun discoverServices() { discoveringMutex.withLock { discoveringServices.clear() discoveringCharacteristics.clear() @@ -142,7 +148,7 @@ internal actual class DefaultDeviceConnectionManager( } } - override fun disconnect() { + actual override fun disconnect() { val state = getCurrentState() cbCentralManager.cancelPeripheralConnection(peripheral) if (state != DeviceConnectionManager.State.CONNECTED) { @@ -154,7 +160,7 @@ internal actual class DefaultDeviceConnectionManager( peripheral.readRSSI() } - override suspend fun requestMtu(mtu: MTU): Boolean { + actual override suspend fun requestMtu(mtu: MTU): Boolean { val max = peripheral.maximumWriteValueLengthForType(CBCharacteristicWriteWithResponse) debug(TAG) { "maximumWriteValueLengthForType(CBCharacteristicWriteWithResponse) = $max" @@ -165,7 +171,7 @@ internal actual class DefaultDeviceConnectionManager( return false } - override suspend fun didStartPerformingAction(action: DeviceAction) { + actual override suspend fun didStartPerformingAction(action: DeviceAction) { currentAction = action when (action) { is DeviceAction.Read.Characteristic -> action.characteristic.wrapper.readValue(peripheral) @@ -189,11 +195,11 @@ internal actual class DefaultDeviceConnectionManager( } } - override suspend fun requestStartPairing() { + actual override suspend fun requestStartPairing() { // There is no iOS API to pair peripheral } - override suspend fun requestStartUnpairing() { + actual override suspend fun requestStartUnpairing() { // There is no iOS API to unpair peripheral } diff --git a/bluetooth/src/iosMain/kotlin/scanner/Scanner.kt b/bluetooth/src/iosMain/kotlin/scanner/Scanner.kt index 5de29b16f..ebba84a83 100644 --- a/bluetooth/src/iosMain/kotlin/scanner/Scanner.kt +++ b/bluetooth/src/iosMain/kotlin/scanner/Scanner.kt @@ -28,6 +28,7 @@ import com.splendo.kaluga.bluetooth.device.DefaultCBPeripheralWrapper import com.splendo.kaluga.bluetooth.device.DefaultDeviceConnectionManager import com.splendo.kaluga.bluetooth.device.PairedAdvertisementData import com.splendo.kaluga.bluetooth.scanner.DefaultScanner.ScanSettings +import kotlinx.cinterop.ObjCSignatureOverride import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.first @@ -125,7 +126,6 @@ actual class DefaultScanner internal constructor( } } - @Suppress("CONFLICTING_OVERLOADS") private class PoweredOnCBCentralManagerDelegate( private val scanner: DefaultScanner, private val isEnabledCompleted: EmptyCompletableDeferred, @@ -150,10 +150,12 @@ actual class DefaultScanner internal constructor( scanner.handleDeviceConnected(didConnectPeripheral.identifier) } + @ObjCSignatureOverride override fun centralManager(central: CBCentralManager, didDisconnectPeripheral: CBPeripheral, error: NSError?) { scanner.handleDeviceDisconnected(didDisconnectPeripheral.identifier) } + @ObjCSignatureOverride override fun centralManager(central: CBCentralManager, didFailToConnectPeripheral: CBPeripheral, error: NSError?) { scanner.handleDeviceDisconnected(didFailToConnectPeripheral.identifier) } @@ -161,10 +163,11 @@ actual class DefaultScanner internal constructor( private val enabledQueue = dispatch_queue_create("ScannerMonitorEnabled", null) private val scanQueue = dispatch_queue_create("ScannerScanning", null) - override val isSupported: Boolean = true - override val bluetoothEnabledMonitor: BluetoothMonitor = BluetoothMonitor.Builder { + actual override val isSupported: Boolean = true + private val _bluetoothEnabledMonitor = BluetoothMonitor.Builder { CBCentralManager(null, enabledQueue, emptyMap()) }.create() + actual override val bluetoothEnabledMonitor: BluetoothMonitor? = _bluetoothEnabledMonitor private var centralManager: CBCentralManager? = null private var centralManagerDelegate: CBCentralManagerDelegateProtocol? = null @@ -195,23 +198,23 @@ actual class DefaultScanner internal constructor( ) } - override suspend fun didStartScanning(filter: Filter) { + actual override suspend fun didStartScanning(filter: Filter) { scan(filter) } - override suspend fun didStopScanning() { + actual override suspend fun didStopScanning() { getOrCreateCentralManager().stopScan() } - override fun generateEnableSensorsActions(): List { + actual override fun generateEnableSensorsActions(): List { // Trigger Enable Bluetooth popup return listOfNotNull( - if (!bluetoothEnabledMonitor.isServiceEnabled) { + if (!_bluetoothEnabledMonitor.isServiceEnabled) { suspend { // We want it to ask for permissions when the state machine requests it but NOT if the scanning starts val options = mapOf(CBCentralManagerOptionShowPowerAlertKey to true) CBCentralManager(null, scanQueue, options) - bluetoothEnabledMonitor.isEnabled.first { it } + _bluetoothEnabledMonitor.isEnabled.first { it } } } else { null @@ -219,7 +222,7 @@ actual class DefaultScanner internal constructor( ) } - override suspend fun retrievePairedDeviceDiscoveredEvents(withServices: Filter, connectionSettings: ConnectionSettings?): List { + actual override suspend fun retrievePairedDeviceDiscoveredEvents(withServices: Filter, connectionSettings: ConnectionSettings?): List { val centralManager = getOrCreateCentralManager() return centralManager .retrieveConnectedPeripheralsWithServices(withServices.toList()) diff --git a/bluetooth/src/jsMain/kotlin/BluetoothBuilder.kt b/bluetooth/src/jsMain/kotlin/BluetoothBuilder.kt deleted file mode 100644 index ab48e06a7..000000000 --- a/bluetooth/src/jsMain/kotlin/BluetoothBuilder.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.splendo.kaluga.bluetooth - -import com.splendo.kaluga.bluetooth.scanner.BaseScanner -import com.splendo.kaluga.bluetooth.scanner.DefaultScanner -import com.splendo.kaluga.permissions.base.Permissions -import com.splendo.kaluga.permissions.base.PermissionsBuilder -import com.splendo.kaluga.permissions.bluetooth.registerBluetoothPermissionIfNotRegistered -import kotlin.coroutines.CoroutineContext - -/** - * A default implementation of [BaseBluetoothBuilder] - * @param permissionsBuilder a method for creating the [Permissions] object to manage the Bluetooth permissions. - * Needs to have [com.splendo.kaluga.permissions.bluetooth.BluetoothPermission] registered. - */ -actual class BluetoothBuilder( - private val permissionsBuilder: suspend (CoroutineContext) -> Permissions = { context -> - Permissions( - PermissionsBuilder().apply { - registerBluetoothPermissionIfNotRegistered() - }, - context, - ) - }, -) : BaseBluetoothBuilder { - - override fun create(scannerSettingsBuilder: (Permissions) -> BaseScanner.Settings, coroutineContext: CoroutineContext): Bluetooth = Bluetooth( - { scannerContext -> - scannerSettingsBuilder(permissionsBuilder(scannerContext)) - }, - DefaultScanner.Builder(), - coroutineContext, - ) -} diff --git a/bluetooth/src/jsMain/kotlin/BluetoothMonitor.kt b/bluetooth/src/jsMain/kotlin/BluetoothMonitor.kt deleted file mode 100644 index fe0ca81ef..000000000 --- a/bluetooth/src/jsMain/kotlin/BluetoothMonitor.kt +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth - -import com.splendo.kaluga.service.DefaultServiceMonitor -import com.splendo.kaluga.service.ServiceMonitor - -/** - * A [ServiceMonitor] that monitors whether Bluetooth is enabled - */ -actual interface BluetoothMonitor : ServiceMonitor { - - /** - * Builder for creating a [BluetoothMonitor] - */ - actual class Builder { - - /** - * Creates the [BluetoothMonitor] - * @return the [BluetoothMonitor] created - */ - actual fun create(): BluetoothMonitor = DefaultBluetoothMonitor() - } -} - -/** - * Default implementation of [BluetoothMonitor] - */ -class DefaultBluetoothMonitor : DefaultServiceMonitor(), BluetoothMonitor { - - override val isServiceEnabled: Boolean - get() = TODO("Not yet implemented") - - override fun monitoringDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} diff --git a/bluetooth/src/jsMain/kotlin/UUID.kt b/bluetooth/src/jsMain/kotlin/UUID.kt deleted file mode 100644 index 40c6c7ae3..000000000 --- a/bluetooth/src/jsMain/kotlin/UUID.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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. - - */ - -@file:Suppress("EXTENSION_SHADOWED_BY_MEMBER") - -package com.splendo.kaluga.bluetooth - -/** - * The Unique Identifier of a Bluetooth property - * @property uuidString the String representation of the unique identifier - */ -actual data class UUID(val uuidString: String) - -/** - * The string representation of a [UUID] - */ -actual val UUID.uuidString: String - get() = uuidString - -internal actual fun unsafeUUIDFrom(uuidString: String): UUID = UUID(uuidString = uuidString) - -/** - * Gets a random [UUID] - * @return a random [UUID] - */ -actual fun randomUUID(): UUID = UUID(randomUUIDString()) diff --git a/bluetooth/src/jsMain/kotlin/Value.kt b/bluetooth/src/jsMain/kotlin/Value.kt deleted file mode 100644 index a5300106f..000000000 --- a/bluetooth/src/jsMain/kotlin/Value.kt +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth - -/** - * The JavaScript value of a bluetooth attribute - */ -actual typealias Value = ByteArray - -/** - * Gets the [ByteArray] value of a [Value] - */ -actual val Value.asBytes: ByteArray - get() = this diff --git a/bluetooth/src/jsMain/kotlin/device/AdvertisementData.kt b/bluetooth/src/jsMain/kotlin/device/AdvertisementData.kt deleted file mode 100644 index 67b007e56..000000000 --- a/bluetooth/src/jsMain/kotlin/device/AdvertisementData.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.device - -import com.splendo.kaluga.bluetooth.TxPower -import com.splendo.kaluga.bluetooth.UUID - -/** - * JavaScript implementation of [BaseAdvertisementData]. Not actually implemented - */ -actual class AdvertisementData : BaseAdvertisementData { - - override val name: String? - get() = null - override val manufacturerId: Int? - get() = null - override val manufacturerData: ByteArray? - get() = null - override val serviceUUIDs: List - get() = emptyList() - override val serviceData: Map - get() = emptyMap() - override val txPowerLevel: TxPower - get() = Int.MIN_VALUE - override val isConnectable: Boolean - get() = false -} diff --git a/bluetooth/src/jsMain/kotlin/device/DefaultDeviceConnectionManager.kt b/bluetooth/src/jsMain/kotlin/device/DefaultDeviceConnectionManager.kt deleted file mode 100644 index 8e683cbff..000000000 --- a/bluetooth/src/jsMain/kotlin/device/DefaultDeviceConnectionManager.kt +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.device - -import com.splendo.kaluga.bluetooth.MTU -import kotlinx.coroutines.CoroutineScope - -internal actual class DefaultDeviceConnectionManager( - deviceWrapper: DeviceWrapper, - settings: ConnectionSettings, - coroutineScope: CoroutineScope, -) : BaseDeviceConnectionManager(deviceWrapper, settings, coroutineScope) { - - class Builder : DeviceConnectionManager.Builder { - - override fun create(deviceWrapper: DeviceWrapper, settings: ConnectionSettings, coroutineScope: CoroutineScope): DefaultDeviceConnectionManager { - return DefaultDeviceConnectionManager(deviceWrapper, settings, coroutineScope) - } - } - - override fun getCurrentState(): DeviceConnectionManager.State = DeviceConnectionManager.State.DISCONNECTED - - override fun connect() {} - - override suspend fun discoverServices() {} - - override fun disconnect() {} - - override suspend fun readRssi() {} - - override suspend fun requestMtu(mtu: MTU) = false - - override suspend fun didStartPerformingAction(action: DeviceAction) {} - - override suspend fun requestStartPairing() {} - - override suspend fun requestStartUnpairing() {} -} diff --git a/bluetooth/src/jsMain/kotlin/device/DeviceInfo.kt b/bluetooth/src/jsMain/kotlin/device/DeviceInfo.kt deleted file mode 100644 index 226f222d3..000000000 --- a/bluetooth/src/jsMain/kotlin/device/DeviceInfo.kt +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.device - -import com.splendo.kaluga.bluetooth.UUID -import com.splendo.kaluga.bluetooth.randomUUIDString -import com.splendo.kaluga.bluetooth.unsafeUUIDFrom - -/** - * Unique identifier of a Bluetooth [Device] - */ -actual typealias Identifier = UUID - -/** - * Gets a random [Identifier] - * @return a random [Identifier] - */ -actual fun randomIdentifier() = Identifier(randomUUIDString()) - -/** - * Gets an [Identifier] from a string value - * @param stringValue the string value to get the [Identifier] from - * @return an [Identifier] matching the string value or `null` if it could not be generated - */ -actual fun identifierFromString(stringValue: String): Identifier? = unsafeUUIDFrom(stringValue) - -/** - * Gets a string representation of an [Identifier] - */ -actual val Identifier.stringValue: String - get() = uuidString diff --git a/bluetooth/src/jsMain/kotlin/device/DeviceWrapper.kt b/bluetooth/src/jsMain/kotlin/device/DeviceWrapper.kt deleted file mode 100644 index d798eb1b1..000000000 --- a/bluetooth/src/jsMain/kotlin/device/DeviceWrapper.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.device - -/** - * Accessor to the JavaScript Bluetooth device. Not Actually implemented - */ -actual interface DeviceWrapper { - - /** - * Name of the Bluetooth device - */ - actual val name: String? - - /** - * [Identifier] of the Bluetooth device - */ - actual val identifier: Identifier -} diff --git a/bluetooth/src/jsMain/kotlin/scanner/Scanner.kt b/bluetooth/src/jsMain/kotlin/scanner/Scanner.kt deleted file mode 100644 index 6b624a609..000000000 --- a/bluetooth/src/jsMain/kotlin/scanner/Scanner.kt +++ /dev/null @@ -1,64 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.scanner - -import com.splendo.kaluga.bluetooth.BluetoothMonitor -import com.splendo.kaluga.bluetooth.device.ConnectionSettings -import com.splendo.kaluga.bluetooth.scanner.BaseScanner.Settings -import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.CoroutineScope - -/** - * Default implementation of [BaseScanner] - * @param settings the [Settings] to configure this scanner - * @param coroutineScope the [CoroutineScope] this scanner runs on - * @param scanningDispatcher the [CoroutineDispatcher] to which scanning should be dispatched. It is recommended to make this a dispatcher that can handle high frequency of events - */ -actual class DefaultScanner( - settings: Settings, - coroutineScope: CoroutineScope, - scanningDispatcher: CoroutineDispatcher = com.splendo.kaluga.bluetooth.scanner.scanningDispatcher, -) : BaseScanner(settings, coroutineScope, scanningDispatcher) { - - /** - * Builder for creating a [DefaultScanner] - */ - class Builder : BaseScanner.Builder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope, scanningDispatcher: CoroutineDispatcher): BaseScanner { - return DefaultScanner(settings, coroutineScope, scanningDispatcher) - } - } - - override val isSupported: Boolean = false - override val bluetoothEnabledMonitor: BluetoothMonitor = BluetoothMonitor.Builder().create() - - override suspend fun didStartScanning(filter: Filter) { - TODO("Not yet implemented") - } - - override suspend fun didStopScanning() { - TODO("Not yet implemented") - } - - override fun generateEnableSensorsActions(): List = emptyList() - - override suspend fun retrievePairedDeviceDiscoveredEvents(withServices: Filter, connectionSettings: ConnectionSettings?): List { - TODO("Not yet implemented") - } -} diff --git a/bluetooth/src/jsMain/kotlin/wrappers.kt b/bluetooth/src/jsMain/kotlin/wrappers.kt deleted file mode 100644 index 13749a221..000000000 --- a/bluetooth/src/jsMain/kotlin/wrappers.kt +++ /dev/null @@ -1,76 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth - -/** - * JavaScript accessor to a Bluetooth characteristic. Not Actually implemented - */ -actual interface CharacteristicWrapper { - - /** - * The [UUID] of the characteristic - */ - actual val uuid: UUID - - /** - * The list of [DescriptorWrapper] of associated with the characteristic - */ - actual val descriptors: List - - /** - * The current [Value] of the characteristic - */ - actual val value: Value? - - /** - * The integer representing all [CharacteristicProperties] of the characteristic - */ - actual val properties: Int -} - -/** - * JavaScript accessor to a Bluetooth descriptor. Not Actually implemented - */ -actual interface DescriptorWrapper { - - /** - * The [UUID] of the descriptor - */ - actual val uuid: UUID - - /** - * The current [Value] of the descriptor - */ - actual val value: Value? -} - -/** - * JavaScript accessor to a Bluetooth service. Not Actually implemented - */ -actual interface ServiceWrapper { - - /** - * The list of [CharacteristicWrapper] associated with the service - */ - actual val characteristics: List - - /** - * The [UUID] of the service - */ - actual val uuid: UUID -} diff --git a/bluetooth/src/jvmMain/kotlin/BluetoothBuilder.kt b/bluetooth/src/jvmMain/kotlin/BluetoothBuilder.kt deleted file mode 100644 index ab48e06a7..000000000 --- a/bluetooth/src/jvmMain/kotlin/BluetoothBuilder.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.splendo.kaluga.bluetooth - -import com.splendo.kaluga.bluetooth.scanner.BaseScanner -import com.splendo.kaluga.bluetooth.scanner.DefaultScanner -import com.splendo.kaluga.permissions.base.Permissions -import com.splendo.kaluga.permissions.base.PermissionsBuilder -import com.splendo.kaluga.permissions.bluetooth.registerBluetoothPermissionIfNotRegistered -import kotlin.coroutines.CoroutineContext - -/** - * A default implementation of [BaseBluetoothBuilder] - * @param permissionsBuilder a method for creating the [Permissions] object to manage the Bluetooth permissions. - * Needs to have [com.splendo.kaluga.permissions.bluetooth.BluetoothPermission] registered. - */ -actual class BluetoothBuilder( - private val permissionsBuilder: suspend (CoroutineContext) -> Permissions = { context -> - Permissions( - PermissionsBuilder().apply { - registerBluetoothPermissionIfNotRegistered() - }, - context, - ) - }, -) : BaseBluetoothBuilder { - - override fun create(scannerSettingsBuilder: (Permissions) -> BaseScanner.Settings, coroutineContext: CoroutineContext): Bluetooth = Bluetooth( - { scannerContext -> - scannerSettingsBuilder(permissionsBuilder(scannerContext)) - }, - DefaultScanner.Builder(), - coroutineContext, - ) -} diff --git a/bluetooth/src/jvmMain/kotlin/BluetoothMonitor.kt b/bluetooth/src/jvmMain/kotlin/BluetoothMonitor.kt deleted file mode 100644 index fe0ca81ef..000000000 --- a/bluetooth/src/jvmMain/kotlin/BluetoothMonitor.kt +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth - -import com.splendo.kaluga.service.DefaultServiceMonitor -import com.splendo.kaluga.service.ServiceMonitor - -/** - * A [ServiceMonitor] that monitors whether Bluetooth is enabled - */ -actual interface BluetoothMonitor : ServiceMonitor { - - /** - * Builder for creating a [BluetoothMonitor] - */ - actual class Builder { - - /** - * Creates the [BluetoothMonitor] - * @return the [BluetoothMonitor] created - */ - actual fun create(): BluetoothMonitor = DefaultBluetoothMonitor() - } -} - -/** - * Default implementation of [BluetoothMonitor] - */ -class DefaultBluetoothMonitor : DefaultServiceMonitor(), BluetoothMonitor { - - override val isServiceEnabled: Boolean - get() = TODO("Not yet implemented") - - override fun monitoringDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} diff --git a/bluetooth/src/jvmMain/kotlin/UUID.kt b/bluetooth/src/jvmMain/kotlin/UUID.kt deleted file mode 100644 index 40c6c7ae3..000000000 --- a/bluetooth/src/jvmMain/kotlin/UUID.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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. - - */ - -@file:Suppress("EXTENSION_SHADOWED_BY_MEMBER") - -package com.splendo.kaluga.bluetooth - -/** - * The Unique Identifier of a Bluetooth property - * @property uuidString the String representation of the unique identifier - */ -actual data class UUID(val uuidString: String) - -/** - * The string representation of a [UUID] - */ -actual val UUID.uuidString: String - get() = uuidString - -internal actual fun unsafeUUIDFrom(uuidString: String): UUID = UUID(uuidString = uuidString) - -/** - * Gets a random [UUID] - * @return a random [UUID] - */ -actual fun randomUUID(): UUID = UUID(randomUUIDString()) diff --git a/bluetooth/src/jvmMain/kotlin/Value.kt b/bluetooth/src/jvmMain/kotlin/Value.kt deleted file mode 100644 index 1aaa1ac6a..000000000 --- a/bluetooth/src/jvmMain/kotlin/Value.kt +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth - -/** - * The Java value of a bluetooth attribute - */ -actual typealias Value = ByteArray - -/** - * Gets the [ByteArray] value of a [Value] - */ -actual val Value.asBytes: ByteArray - get() = this diff --git a/bluetooth/src/jvmMain/kotlin/device/AdvertisementData.kt b/bluetooth/src/jvmMain/kotlin/device/AdvertisementData.kt deleted file mode 100644 index 241abaf67..000000000 --- a/bluetooth/src/jvmMain/kotlin/device/AdvertisementData.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.device - -import com.splendo.kaluga.bluetooth.TxPower -import com.splendo.kaluga.bluetooth.UUID - -/** - * Java implementation of [BaseAdvertisementData]. Not actually implemented - */ -actual class AdvertisementData : BaseAdvertisementData { - - override val name: String? - get() = null - override val manufacturerId: Int? - get() = null - override val manufacturerData: ByteArray? - get() = null - override val serviceUUIDs: List - get() = emptyList() - override val serviceData: Map - get() = emptyMap() - override val txPowerLevel: TxPower - get() = Int.MIN_VALUE - override val isConnectable: Boolean - get() = false -} diff --git a/bluetooth/src/jvmMain/kotlin/device/DefaultDeviceConnectionManager.kt b/bluetooth/src/jvmMain/kotlin/device/DefaultDeviceConnectionManager.kt deleted file mode 100644 index 8e683cbff..000000000 --- a/bluetooth/src/jvmMain/kotlin/device/DefaultDeviceConnectionManager.kt +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.device - -import com.splendo.kaluga.bluetooth.MTU -import kotlinx.coroutines.CoroutineScope - -internal actual class DefaultDeviceConnectionManager( - deviceWrapper: DeviceWrapper, - settings: ConnectionSettings, - coroutineScope: CoroutineScope, -) : BaseDeviceConnectionManager(deviceWrapper, settings, coroutineScope) { - - class Builder : DeviceConnectionManager.Builder { - - override fun create(deviceWrapper: DeviceWrapper, settings: ConnectionSettings, coroutineScope: CoroutineScope): DefaultDeviceConnectionManager { - return DefaultDeviceConnectionManager(deviceWrapper, settings, coroutineScope) - } - } - - override fun getCurrentState(): DeviceConnectionManager.State = DeviceConnectionManager.State.DISCONNECTED - - override fun connect() {} - - override suspend fun discoverServices() {} - - override fun disconnect() {} - - override suspend fun readRssi() {} - - override suspend fun requestMtu(mtu: MTU) = false - - override suspend fun didStartPerformingAction(action: DeviceAction) {} - - override suspend fun requestStartPairing() {} - - override suspend fun requestStartUnpairing() {} -} diff --git a/bluetooth/src/jvmMain/kotlin/device/DeviceInfo.kt b/bluetooth/src/jvmMain/kotlin/device/DeviceInfo.kt deleted file mode 100644 index edb191c8a..000000000 --- a/bluetooth/src/jvmMain/kotlin/device/DeviceInfo.kt +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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. - - */ - -@file:JvmName("DeviceInfoJVM") - -package com.splendo.kaluga.bluetooth.device - -import com.splendo.kaluga.bluetooth.UUID -import com.splendo.kaluga.bluetooth.randomUUIDString -import com.splendo.kaluga.bluetooth.unsafeUUIDFrom - -/** - * Unique identifier of a Bluetooth [Device] - */ -actual typealias Identifier = UUID - -/** - * Gets a random [Identifier] - * @return a random [Identifier] - */ -actual fun randomIdentifier() = Identifier(randomUUIDString()) - -/** - * Gets an [Identifier] from a string value - * @param stringValue the string value to get the [Identifier] from - * @return an [Identifier] matching the string value or `null` if it could not be generated - */ -actual fun identifierFromString(stringValue: String): Identifier? = unsafeUUIDFrom(stringValue) - -/** - * Gets a string representation of an [Identifier] - */ -actual val Identifier.stringValue: String - get() = uuidString diff --git a/bluetooth/src/jvmMain/kotlin/device/DeviceWrapper.kt b/bluetooth/src/jvmMain/kotlin/device/DeviceWrapper.kt deleted file mode 100644 index 987a7cfe1..000000000 --- a/bluetooth/src/jvmMain/kotlin/device/DeviceWrapper.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.device - -/** - * Accessor to the Java Bluetooth device. Not Actually implemented - */ -actual interface DeviceWrapper { - - /** - * Name of the Bluetooth device - */ - actual val name: String? - - /** - * [Identifier] of the Bluetooth device - */ - actual val identifier: Identifier -} diff --git a/bluetooth/src/jvmMain/kotlin/scanner/Scanner.kt b/bluetooth/src/jvmMain/kotlin/scanner/Scanner.kt deleted file mode 100644 index 6b624a609..000000000 --- a/bluetooth/src/jvmMain/kotlin/scanner/Scanner.kt +++ /dev/null @@ -1,64 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth.scanner - -import com.splendo.kaluga.bluetooth.BluetoothMonitor -import com.splendo.kaluga.bluetooth.device.ConnectionSettings -import com.splendo.kaluga.bluetooth.scanner.BaseScanner.Settings -import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.CoroutineScope - -/** - * Default implementation of [BaseScanner] - * @param settings the [Settings] to configure this scanner - * @param coroutineScope the [CoroutineScope] this scanner runs on - * @param scanningDispatcher the [CoroutineDispatcher] to which scanning should be dispatched. It is recommended to make this a dispatcher that can handle high frequency of events - */ -actual class DefaultScanner( - settings: Settings, - coroutineScope: CoroutineScope, - scanningDispatcher: CoroutineDispatcher = com.splendo.kaluga.bluetooth.scanner.scanningDispatcher, -) : BaseScanner(settings, coroutineScope, scanningDispatcher) { - - /** - * Builder for creating a [DefaultScanner] - */ - class Builder : BaseScanner.Builder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope, scanningDispatcher: CoroutineDispatcher): BaseScanner { - return DefaultScanner(settings, coroutineScope, scanningDispatcher) - } - } - - override val isSupported: Boolean = false - override val bluetoothEnabledMonitor: BluetoothMonitor = BluetoothMonitor.Builder().create() - - override suspend fun didStartScanning(filter: Filter) { - TODO("Not yet implemented") - } - - override suspend fun didStopScanning() { - TODO("Not yet implemented") - } - - override fun generateEnableSensorsActions(): List = emptyList() - - override suspend fun retrievePairedDeviceDiscoveredEvents(withServices: Filter, connectionSettings: ConnectionSettings?): List { - TODO("Not yet implemented") - } -} diff --git a/bluetooth/src/jvmMain/kotlin/wrappers.kt b/bluetooth/src/jvmMain/kotlin/wrappers.kt deleted file mode 100644 index 062022386..000000000 --- a/bluetooth/src/jvmMain/kotlin/wrappers.kt +++ /dev/null @@ -1,76 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.bluetooth - -/** - * Java accessor to a Bluetooth characteristic. Not Actually implemented - */ -actual interface CharacteristicWrapper { - - /** - * The [UUID] of the characteristic - */ - actual val uuid: UUID - - /** - * The list of [DescriptorWrapper] of associated with the characteristic - */ - actual val descriptors: List - - /** - * The current [Value] of the characteristic - */ - actual val value: Value? - - /** - * The integer representing all [CharacteristicProperties] of the characteristic - */ - actual val properties: Int -} - -/** - * Java accessor to a Bluetooth descriptor. Not Actually implemented - */ -actual interface DescriptorWrapper { - - /** - * The [UUID] of the descriptor - */ - actual val uuid: UUID - - /** - * The current [Value] of the descriptor - */ - actual val value: Value? -} - -/** - * Java accessor to a Bluetooth service. Not Actually implemented - */ -actual interface ServiceWrapper { - - /** - * The list of [CharacteristicWrapper] associated with the service - */ - actual val characteristics: List - - /** - * The [UUID] of the service - */ - actual val uuid: UUID -} diff --git a/build.gradle.kts b/build.gradle.kts index 131b9aa3a..6b29d2a51 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,95 +1,7 @@ -import org.gradle.api.tasks.testing.logging.TestExceptionFormat -import org.gradle.api.tasks.testing.logging.TestLogEvent - -buildscript { - - repositories { - google() - mavenCentral() - } - dependencies { - // mostly migrated to new style plugin declarations, but some cross plugin interaction still requires this - classpath("com.android.tools.build:gradle:${project.extra["kaluga.androidGradlePluginVersion"]}") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${project.extra["kaluga.kotlinVersion"]}") - classpath("org.jetbrains.kotlinx:atomicfu-gradle-plugin:${project.extra["kaluga.atomicFuGradlePluginVersion"]}") - } -} - plugins { - id("kaluga-library-components") - id("convention.publication") - id("org.jmailen.kotlinter") - id("org.jetbrains.dokka") - id("org.jetbrains.kotlin.multiplatform") apply false - id("org.jetbrains.kotlinx.binary-compatibility-validator") + id("com.splendo.kaluga.plugin") id("rs.houtbecke.gradle.recorder.plugin") } -allprojects { - repositories { - mavenCentral() - google() - // only enable temporarily if needed: - /* mavenLocal() */ - } - - tasks.withType { - testLogging { - events = setOf(TestLogEvent.STANDARD_OUT, TestLogEvent.STARTED, TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED) - } - testLogging.exceptionFormat = TestExceptionFormat.FULL - } -} - -task("generateNonDependentProjectsFile") { - outputs.upToDateWhen { false } - - val file = project.file("non_dependent_projects.properties") - file.delete() - file.appendText("projects=[") - var firstProject = true - - val blacklist = properties["generateNonDependentProjectsFile.blacklist"]?.toString()?.split(',')?.map { it.trim() } ?: listOf() - - subprojects.forEach { thisProject -> - - val dependsOnOtherProject = subprojects.any { otherProject -> thisProject != otherProject && (thisProject.name.startsWith(otherProject.name) || thisProject.name.endsWith(otherProject.name)) } - val otherProjectsDependOn = subprojects.any { otherProject -> thisProject != otherProject && (otherProject.name.startsWith(thisProject.name) || otherProject.name.endsWith(thisProject.name)) } - - if (!blacklist.contains(thisProject.name) && (!dependsOnOtherProject || otherProjectsDependOn)) { - logger.debug("main module: ${thisProject.name} dependsOnOtherProject:$dependsOnOtherProject otherProjectsDependOn:$otherProjectsDependOn") - - if (firstProject) - firstProject = false - else - file.appendText(",") - file.appendText('"' + thisProject.name + '"') - } else { - logger.debug("not a main module: ${thisProject.name} dependsOnOtherProject:$dependsOnOtherProject otherProjectsDependOn:$otherProjectsDependOn") - } - } - - file.appendText("]") -} - -apiValidation { - - subprojects.forEach { - val name = it.name - - ignoredClasses.add("com.splendo.kaluga.$name.BuildConfig".toString()) - ignoredClasses.add("com.splendo.kaluga.${name.replace("-", ".")}.BuildConfig".toString()) - ignoredClasses.add("com.splendo.kaluga.${name.replace("-", "")}.BuildConfig".toString()) - ignoredClasses.add("com.splendo.kaluga.permissions.${name.replace("-permissions", "")}.BuildConfig".toString()) - } - - ignoredClasses.add("com.splendo.kaluga.permissions.BuildConfig") - ignoredClasses.add("com.splendo.kaluga.test.BuildConfig") - ignoredClasses.add("com.splendo.kaluga.datetime.timer.BuildConfig") -} - apply(from = "gradle/newModule.gradle.kts") apply(from = "gradle/copyReports.gradle.kts") - -group = Library.group -version = Library.version diff --git a/calendar-permissions/api/androidLib/calendar-permissions.api b/calendar-permissions/api/calendar-permissions.api similarity index 98% rename from calendar-permissions/api/androidLib/calendar-permissions.api rename to calendar-permissions/api/calendar-permissions.api index 8d2a8af75..950e42ed1 100644 --- a/calendar-permissions/api/androidLib/calendar-permissions.api +++ b/calendar-permissions/api/calendar-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/calendar-permissions/api/jvm/calendar-permissions.api b/calendar-permissions/api/jvm/calendar-permissions.api deleted file mode 100644 index 0b03d580f..000000000 --- a/calendar-permissions/api/jvm/calendar-permissions.api +++ /dev/null @@ -1,49 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/calendar/CalendarPermission : com/splendo/kaluga/permissions/base/Permission { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/permissions/calendar/CalendarPermission; - public static synthetic fun copy$default (Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;ZILjava/lang/Object;)Lcom/splendo/kaluga/permissions/calendar/CalendarPermission; - public fun equals (Ljava/lang/Object;)Z - public final fun getAllowWrite ()Z - public fun getName ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/calendar/CalendarPermissionManagerBuilder : com/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/calendar/CalendarPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/permissions/calendar/DefaultCalendarPermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/calendar/CalendarPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/calendar/PermissionKt { - public static final fun registerCalendarPermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; - public static synthetic fun registerCalendarPermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; - public static final fun registerCalendarPermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; - public static synthetic fun registerCalendarPermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; - public static final fun registerCalendarPermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; - public static synthetic fun registerCalendarPermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; - public static final fun registerCalendarPermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; - public static synthetic fun registerCalendarPermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/calendar/BaseCalendarPermissionManagerBuilder; -} - diff --git a/calendar-permissions/build.gradle.kts b/calendar-permissions/build.gradle.kts index 9a7c05615..0db0b165b 100644 --- a/calendar-permissions/build.gradle.kts +++ b/calendar-permissions/build.gradle.kts @@ -1,23 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.calendar") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "permissions.calendar" + dependencies { + common { + main { api(project(":base-permissions", "")) } - } - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-base", "")) } } diff --git a/calendar-permissions/src/androidLibMain/kotlin/CalendarPermissionManager.kt b/calendar-permissions/src/androidLibMain/kotlin/CalendarPermissionManager.kt index 1b5cb1c3e..841bf818a 100644 --- a/calendar-permissions/src/androidLibMain/kotlin/CalendarPermissionManager.kt +++ b/calendar-permissions/src/androidLibMain/kotlin/CalendarPermissionManager.kt @@ -51,15 +51,15 @@ actual class DefaultCalendarPermissionManager( permissionHandler, ) - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { permissionsManager.requestPermissions() } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { permissionsManager.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { permissionsManager.stopMonitoring() } } @@ -70,7 +70,7 @@ actual class DefaultCalendarPermissionManager( */ actual class CalendarPermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseCalendarPermissionManagerBuilder { - override fun create(calendarPermission: CalendarPermission, settings: Settings, coroutineScope: CoroutineScope): CalendarPermissionManager { + actual override fun create(calendarPermission: CalendarPermission, settings: Settings, coroutineScope: CoroutineScope): CalendarPermissionManager { return DefaultCalendarPermissionManager(context.context, calendarPermission, settings, coroutineScope) } } diff --git a/calendar-permissions/src/commonMain/kotlin/CalendarPermission.kt b/calendar-permissions/src/commonMain/kotlin/CalendarPermission.kt index 4384f5c7e..11fe53d2e 100644 --- a/calendar-permissions/src/commonMain/kotlin/CalendarPermission.kt +++ b/calendar-permissions/src/commonMain/kotlin/CalendarPermission.kt @@ -35,7 +35,11 @@ typealias CalendarPermissionManager = PermissionManager /** * The [BasePermissionManager] to use as a default for [CalendarPermission] */ -expect class DefaultCalendarPermissionManager : BasePermissionManager +expect class DefaultCalendarPermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * A [BasePermissionsBuilder] for [CalendarPermission] @@ -60,7 +64,9 @@ interface BaseCalendarPermissionManagerBuilder : BasePermissionsBuilder() @@ -89,11 +89,11 @@ actual class DefaultCalendarPermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { timerHelper.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { timerHelper.stopMonitoring() } } @@ -104,7 +104,7 @@ actual class DefaultCalendarPermissionManager( */ actual class CalendarPermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseCalendarPermissionManagerBuilder { - override fun create(calendarPermission: CalendarPermission, settings: Settings, coroutineScope: CoroutineScope): CalendarPermissionManager { + actual override fun create(calendarPermission: CalendarPermission, settings: Settings, coroutineScope: CoroutineScope): CalendarPermissionManager { return DefaultCalendarPermissionManager(context, calendarPermission, settings, coroutineScope) } } diff --git a/calendar-permissions/src/jsMain/kotlin/CalendarPermissionManager.kt b/calendar-permissions/src/jsMain/kotlin/CalendarPermissionManager.kt deleted file mode 100644 index fd4610045..000000000 --- a/calendar-permissions/src/jsMain/kotlin/CalendarPermissionManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.calendar - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [CalendarPermission] - * @param calendarPermission the [CalendarPermission] to manage. - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultCalendarPermissionManager( - calendarPermission: CalendarPermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(calendarPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseCalendarPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class CalendarPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseCalendarPermissionManagerBuilder { - - override fun create(calendarPermission: CalendarPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultCalendarPermissionManager(calendarPermission, settings, coroutineScope) - } -} diff --git a/calendar-permissions/src/jvmMain/kotlin/CalendarPermissionManager.kt b/calendar-permissions/src/jvmMain/kotlin/CalendarPermissionManager.kt deleted file mode 100644 index fd4610045..000000000 --- a/calendar-permissions/src/jvmMain/kotlin/CalendarPermissionManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.calendar - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [CalendarPermission] - * @param calendarPermission the [CalendarPermission] to manage. - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultCalendarPermissionManager( - calendarPermission: CalendarPermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(calendarPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseCalendarPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class CalendarPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseCalendarPermissionManagerBuilder { - - override fun create(calendarPermission: CalendarPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultCalendarPermissionManager(calendarPermission, settings, coroutineScope) - } -} diff --git a/camera-permissions/api/androidLib/camera-permissions.api b/camera-permissions/api/camera-permissions.api similarity index 97% rename from camera-permissions/api/androidLib/camera-permissions.api rename to camera-permissions/api/camera-permissions.api index 7744aed90..53d91bfc6 100644 --- a/camera-permissions/api/androidLib/camera-permissions.api +++ b/camera-permissions/api/camera-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/camera-permissions/api/jvm/camera-permissions.api b/camera-permissions/api/jvm/camera-permissions.api deleted file mode 100644 index 3eac02631..000000000 --- a/camera-permissions/api/jvm/camera-permissions.api +++ /dev/null @@ -1,43 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/camera/CameraPermission : com/splendo/kaluga/permissions/base/Permission { - public static final field INSTANCE Lcom/splendo/kaluga/permissions/camera/CameraPermission; - public fun equals (Ljava/lang/Object;)Z - public fun getName ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/camera/CameraPermissionManagerBuilder : com/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/camera/CameraPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/permissions/camera/DefaultCameraPermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/camera/PermissionKt { - public static final fun registerCameraPermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; - public static synthetic fun registerCameraPermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; - public static final fun registerCameraPermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; - public static synthetic fun registerCameraPermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; - public static final fun registerCameraPermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; - public static synthetic fun registerCameraPermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; - public static final fun registerCameraPermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; - public static synthetic fun registerCameraPermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/camera/BaseCameraPermissionManagerBuilder; -} - diff --git a/camera-permissions/build.gradle.kts b/camera-permissions/build.gradle.kts index b6c2aedb3..fe9bd440a 100644 --- a/camera-permissions/build.gradle.kts +++ b/camera-permissions/build.gradle.kts @@ -1,23 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.camera") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "permissions.camera" + dependencies { + common { + main { api(project(":base-permissions", "")) } - } - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-base", "")) } } diff --git a/camera-permissions/src/androidLibMain/kotlin/CameraPermissionManager.kt b/camera-permissions/src/androidLibMain/kotlin/CameraPermissionManager.kt index bc4edc156..52b635683 100644 --- a/camera-permissions/src/androidLibMain/kotlin/CameraPermissionManager.kt +++ b/camera-permissions/src/androidLibMain/kotlin/CameraPermissionManager.kt @@ -53,7 +53,7 @@ actual class DefaultCameraPermissionManager( ) private val supported = context.packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY) - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { if (supported) { permissionsManager.requestPermissions() } else { @@ -61,7 +61,7 @@ actual class DefaultCameraPermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { if (supported) { permissionsManager.startMonitoring(interval) } else { @@ -69,7 +69,7 @@ actual class DefaultCameraPermissionManager( } } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { if (supported) { permissionsManager.stopMonitoring() } @@ -82,7 +82,7 @@ actual class DefaultCameraPermissionManager( */ actual class CameraPermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseCameraPermissionManagerBuilder { - override fun create(settings: Settings, coroutineScope: CoroutineScope): CameraPermissionManager { + actual override fun create(settings: Settings, coroutineScope: CoroutineScope): CameraPermissionManager { return DefaultCameraPermissionManager(context.context, settings, coroutineScope) } } diff --git a/camera-permissions/src/commonMain/kotlin/CameraPermission.kt b/camera-permissions/src/commonMain/kotlin/CameraPermission.kt index 7a2ed774f..1e0abe064 100644 --- a/camera-permissions/src/commonMain/kotlin/CameraPermission.kt +++ b/camera-permissions/src/commonMain/kotlin/CameraPermission.kt @@ -35,7 +35,11 @@ typealias CameraPermissionManager = PermissionManager /** * The [BasePermissionManager] to use as a default for [CameraPermission] */ -expect class DefaultCameraPermissionManager : BasePermissionManager +expect class DefaultCameraPermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * A [BasePermissionsBuilder] for [CameraPermission] @@ -55,7 +59,9 @@ interface BaseCameraPermissionManagerBuilder : BasePermissionsBuilder(CameraPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseCameraPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class CameraPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseCameraPermissionManagerBuilder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultCameraPermissionManager(settings, coroutineScope) - } -} diff --git a/camera-permissions/src/jvmMain/kotlin/CameraPermissionManager.kt b/camera-permissions/src/jvmMain/kotlin/CameraPermissionManager.kt deleted file mode 100644 index e8534cd5c..000000000 --- a/camera-permissions/src/jvmMain/kotlin/CameraPermissionManager.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.camera - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [CameraPermission] - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultCameraPermissionManager( - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(CameraPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseCameraPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class CameraPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseCameraPermissionManagerBuilder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultCameraPermissionManager(settings, coroutineScope) - } -} diff --git a/contacts-permissions/api/androidLib/contacts-permissions.api b/contacts-permissions/api/contacts-permissions.api similarity index 98% rename from contacts-permissions/api/androidLib/contacts-permissions.api rename to contacts-permissions/api/contacts-permissions.api index b7c761d0c..ff19bae86 100644 --- a/contacts-permissions/api/androidLib/contacts-permissions.api +++ b/contacts-permissions/api/contacts-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/contacts-permissions/api/jvm/contacts-permissions.api b/contacts-permissions/api/jvm/contacts-permissions.api deleted file mode 100644 index 48abd3cec..000000000 --- a/contacts-permissions/api/jvm/contacts-permissions.api +++ /dev/null @@ -1,49 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/contacts/ContactsPermission : com/splendo/kaluga/permissions/base/Permission { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/permissions/contacts/ContactsPermission; - public static synthetic fun copy$default (Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;ZILjava/lang/Object;)Lcom/splendo/kaluga/permissions/contacts/ContactsPermission; - public fun equals (Ljava/lang/Object;)Z - public final fun getAllowWrite ()Z - public fun getName ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/contacts/ContactsPermissionManagerBuilder : com/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/contacts/ContactsPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/permissions/contacts/DefaultContactsPermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/contacts/ContactsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/contacts/PermissionKt { - public static final fun registerContactsPermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; - public static synthetic fun registerContactsPermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; - public static final fun registerContactsPermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; - public static synthetic fun registerContactsPermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; - public static final fun registerContactsPermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; - public static synthetic fun registerContactsPermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; - public static final fun registerContactsPermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; - public static synthetic fun registerContactsPermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/contacts/BaseContactsPermissionManagerBuilder; -} - diff --git a/contacts-permissions/build.gradle.kts b/contacts-permissions/build.gradle.kts index ce711b95f..bab4a8d5b 100644 --- a/contacts-permissions/build.gradle.kts +++ b/contacts-permissions/build.gradle.kts @@ -1,23 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.contacts") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "permissions.contacts" + dependencies { + common { + main { api(project(":base-permissions", "")) } - } - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-base", "")) } } diff --git a/contacts-permissions/src/androidLibMain/kotlin/ContactsPermissionManager.kt b/contacts-permissions/src/androidLibMain/kotlin/ContactsPermissionManager.kt index 8e5b98174..2fce11d4d 100644 --- a/contacts-permissions/src/androidLibMain/kotlin/ContactsPermissionManager.kt +++ b/contacts-permissions/src/androidLibMain/kotlin/ContactsPermissionManager.kt @@ -54,15 +54,15 @@ actual class DefaultContactsPermissionManager( permissionHandler, ) - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { permissionsManager.requestPermissions() } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { permissionsManager.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { permissionsManager.stopMonitoring() } } @@ -73,7 +73,7 @@ actual class DefaultContactsPermissionManager( */ actual class ContactsPermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseContactsPermissionManagerBuilder { - override fun create(contactsPermission: ContactsPermission, settings: Settings, coroutineScope: CoroutineScope): ContactsPermissionManager { + actual override fun create(contactsPermission: ContactsPermission, settings: Settings, coroutineScope: CoroutineScope): ContactsPermissionManager { return DefaultContactsPermissionManager(context.context, contactsPermission, settings, coroutineScope) } } diff --git a/contacts-permissions/src/commonMain/kotlin/ContactsPermission.kt b/contacts-permissions/src/commonMain/kotlin/ContactsPermission.kt index b27e1db29..b4a488746 100644 --- a/contacts-permissions/src/commonMain/kotlin/ContactsPermission.kt +++ b/contacts-permissions/src/commonMain/kotlin/ContactsPermission.kt @@ -35,7 +35,11 @@ typealias ContactsPermissionManager = PermissionManager /** * The [BasePermissionManager] to use as a default for [ContactsPermission] */ -expect class DefaultContactsPermissionManager : BasePermissionManager +expect class DefaultContactsPermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * A [BasePermissionsBuilder] for [ContactsPermission] @@ -60,7 +64,9 @@ interface BaseContactsPermissionManagerBuilder : BasePermissionsBuilder() @@ -88,11 +88,11 @@ actual class DefaultContactsPermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { timerHelper.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { timerHelper.stopMonitoring() } } @@ -103,7 +103,7 @@ actual class DefaultContactsPermissionManager( */ actual class ContactsPermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseContactsPermissionManagerBuilder { - override fun create(contactsPermission: ContactsPermission, settings: Settings, coroutineScope: CoroutineScope): ContactsPermissionManager { + actual override fun create(contactsPermission: ContactsPermission, settings: Settings, coroutineScope: CoroutineScope): ContactsPermissionManager { return DefaultContactsPermissionManager(context, contactsPermission, settings, coroutineScope) } } diff --git a/contacts-permissions/src/jsMain/kotlin/ContactsPermissionManager.kt b/contacts-permissions/src/jsMain/kotlin/ContactsPermissionManager.kt deleted file mode 100644 index fedfc30fa..000000000 --- a/contacts-permissions/src/jsMain/kotlin/ContactsPermissionManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.contacts - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [ContactsPermission] - * @param contactsPermission the [ContactsPermission] to manage. - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultContactsPermissionManager( - contactsPermission: ContactsPermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(contactsPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseContactsPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class ContactsPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseContactsPermissionManagerBuilder { - - override fun create(contactsPermission: ContactsPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultContactsPermissionManager(contactsPermission, settings, coroutineScope) - } -} diff --git a/contacts-permissions/src/jvmMain/kotlin/ContactsPermissionManager.kt b/contacts-permissions/src/jvmMain/kotlin/ContactsPermissionManager.kt deleted file mode 100644 index fedfc30fa..000000000 --- a/contacts-permissions/src/jvmMain/kotlin/ContactsPermissionManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.contacts - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [ContactsPermission] - * @param contactsPermission the [ContactsPermission] to manage. - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultContactsPermissionManager( - contactsPermission: ContactsPermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(contactsPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseContactsPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class ContactsPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseContactsPermissionManagerBuilder { - - override fun create(contactsPermission: ContactsPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultContactsPermissionManager(contactsPermission, settings, coroutineScope) - } -} diff --git a/convention-plugins/settings.gradle b/convention-plugins/settings.gradle deleted file mode 100644 index e69de29bb..000000000 diff --git a/convention-plugins/src/main/kotlin/convention.publication.gradle.kts b/convention-plugins/src/main/kotlin/convention.publication.gradle.kts deleted file mode 100644 index 77a6df097..000000000 --- a/convention-plugins/src/main/kotlin/convention.publication.gradle.kts +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -plugins { - `maven-publish` - signing -} - -val signingKeyId: String? by project -val signingPassword: String? by project -val signingSecretKeyRingFile: String? by project -val ossrhUsername: String? by project -val ossrhPassword: String? by project - -// Stub secrets to let the project sync and build without the publication values set up -ext["signing.keyId"] = signingKeyId ?: System.getenv("SIGNING_KEY_ID") -ext["signing.password"] = signingPassword ?: System.getenv("SIGNING_PASSWORD") -ext["signing.secretKeyRingFile"] = signingSecretKeyRingFile ?: System.getenv("SIGNING_SECRET_KEY_RING_FILE") -ext["ossrhUsername"] = ossrhUsername ?: System.getenv("OSSRH_USERNAME") -ext["ossrhPassword"] = ossrhPassword ?: System.getenv("OSSRH_PASSWORD") - -signing { - setRequired( - { - gradle.taskGraph.hasTask("publish") && signingSecretKeyRingFile != null - } - ) -} - -val javadocJar by tasks.registering(Jar::class) { - archiveClassifier.set("javadoc") -} - -fun getExtraString(name: String) = ext[name]?.toString() - -publishing { - // Configure maven central repository - repositories { - maven { - name = "sonatype" - setUrl("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") - credentials { - username = getExtraString("ossrhUsername") - password = getExtraString("ossrhPassword") - } - } - - maven { - name = "snapshots" - setUrl("https://s01.oss.sonatype.org/content/repositories/snapshots/") - credentials { - username = getExtraString("ossrhUsername") - password = getExtraString("ossrhPassword") - } - } - } - - // Configure all publications - publications.withType { - - // Stub javadoc.jar artifact - artifact(javadocJar.get()) - - // Provide artifacts information requited by Maven Central - pom { - name.set(project.name) - description.set("Collection of Kotlin Flow based libraries") - url.set("https://github.com/splendo/kaluga") - - licenses { - license { - name.set("The Apache Software License, Version 2.0") - url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") - distribution.set("repo") - } - } - developers { - developer { - id.set("splendo") - name.set("Splendo BV") - } - } - scm { - url.set("https://github.com/splendo/kaluga") - } - } - } -} - -// Signing artifacts. Signing.* extra properties values will be used - -signing { - sign(publishing.publications) -} diff --git a/date-time-picker/api/androidLib/date-time-picker.api b/date-time-picker/api/date-time-picker.api similarity index 99% rename from date-time-picker/api/androidLib/date-time-picker.api rename to date-time-picker/api/date-time-picker.api index 20b412d45..2562f2f76 100644 --- a/date-time-picker/api/androidLib/date-time-picker.api +++ b/date-time-picker/api/date-time-picker.api @@ -76,11 +76,8 @@ public final class com/splendo/kaluga/datetimepicker/DateTimePicker$Type$TimeTyp public abstract interface class com/splendo/kaluga/datetimepicker/DateTimePickerActions { public abstract fun dismiss (Z)V public abstract fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun showAsync (ZLkotlin/jvm/functions/Function1;)V -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePickerActions$DefaultImpls { public static synthetic fun show$default (Lcom/splendo/kaluga/datetimepicker/DateTimePickerActions;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun showAsync (ZLkotlin/jvm/functions/Function1;)V public static synthetic fun showAsync$default (Lcom/splendo/kaluga/datetimepicker/DateTimePickerActions;ZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)V } diff --git a/date-time-picker/api/jvm/date-time-picker.api b/date-time-picker/api/jvm/date-time-picker.api deleted file mode 100644 index 0969b71e1..000000000 --- a/date-time-picker/api/jvm/date-time-picker.api +++ /dev/null @@ -1,105 +0,0 @@ -public abstract class com/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter : com/splendo/kaluga/datetimepicker/DateTimePickerActions { - public fun (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;)V - public fun dismiss (Z)V - protected abstract fun dismissDateTimePicker (Z)V - public static synthetic fun dismissDateTimePicker$default (Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter;ZILjava/lang/Object;)V - protected fun getDateTimePicker ()Lcom/splendo/kaluga/datetimepicker/DateTimePicker; - public fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun showAsync (ZLkotlin/jvm/functions/Function1;)V - protected abstract fun showDateTimePicker (ZLkotlin/jvm/functions/Function1;)V - public static synthetic fun showDateTimePicker$default (Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter;ZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)V -} - -public abstract class com/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter$Builder : com/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable { - public fun ()V - public abstract fun create (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter; -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePicker { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type;Lcom/splendo/kaluga/base/utils/KalugaLocale;Lcom/splendo/kaluga/base/utils/KalugaDate;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Ljava/lang/String; - public final fun component3 ()Ljava/lang/String; - public final fun component4 ()Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type; - public final fun component5 ()Lcom/splendo/kaluga/base/utils/KalugaLocale; - public final fun component6 ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type;Lcom/splendo/kaluga/base/utils/KalugaLocale;Lcom/splendo/kaluga/base/utils/KalugaDate;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker; - public static synthetic fun copy$default (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type;Lcom/splendo/kaluga/base/utils/KalugaLocale;Lcom/splendo/kaluga/base/utils/KalugaDate;ILjava/lang/Object;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker; - public fun equals (Ljava/lang/Object;)Z - public final fun getCancelButtonTitle ()Ljava/lang/String; - public final fun getConfirmButtonTitle ()Ljava/lang/String; - public final fun getLocale ()Lcom/splendo/kaluga/base/utils/KalugaLocale; - public final fun getMessage ()Ljava/lang/String; - public final fun getSelectedDate ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun getType ()Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePicker$Builder { - public fun ()V - public fun (Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type;)V - public synthetic fun (Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun build ()Lcom/splendo/kaluga/datetimepicker/DateTimePicker; - public final fun setCancelButtonTitle (Ljava/lang/String;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Builder; - public final fun setConfirmButtonTitle (Ljava/lang/String;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Builder; - public final fun setLocale (Lcom/splendo/kaluga/base/utils/KalugaLocale;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Builder; - public final fun setMessage (Ljava/lang/String;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Builder; - public final fun setSelectedDate (Lcom/splendo/kaluga/base/utils/KalugaDate;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Builder; -} - -public abstract class com/splendo/kaluga/datetimepicker/DateTimePicker$Type { -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePicker$Type$DateType : com/splendo/kaluga/datetimepicker/DateTimePicker$Type { - public fun ()V - public fun (Lcom/splendo/kaluga/base/utils/KalugaDate;Lcom/splendo/kaluga/base/utils/KalugaDate;)V - public synthetic fun (Lcom/splendo/kaluga/base/utils/KalugaDate;Lcom/splendo/kaluga/base/utils/KalugaDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun component2 ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun copy (Lcom/splendo/kaluga/base/utils/KalugaDate;Lcom/splendo/kaluga/base/utils/KalugaDate;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type$DateType; - public static synthetic fun copy$default (Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type$DateType;Lcom/splendo/kaluga/base/utils/KalugaDate;Lcom/splendo/kaluga/base/utils/KalugaDate;ILjava/lang/Object;)Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type$DateType; - public fun equals (Ljava/lang/Object;)Z - public final fun getEarliestDate ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun getLatestDate ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePicker$Type$TimeType : com/splendo/kaluga/datetimepicker/DateTimePicker$Type { - public static final field INSTANCE Lcom/splendo/kaluga/datetimepicker/DateTimePicker$Type$TimeType; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/datetimepicker/DateTimePickerActions { - public abstract fun dismiss (Z)V - public abstract fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun showAsync (ZLkotlin/jvm/functions/Function1;)V -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePickerActions$DefaultImpls { - public static synthetic fun show$default (Lcom/splendo/kaluga/datetimepicker/DateTimePickerActions;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun showAsync$default (Lcom/splendo/kaluga/datetimepicker/DateTimePickerActions;ZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)V -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePickerKt { - public static final fun buildDatePicker (Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/base/utils/KalugaDate;Lcom/splendo/kaluga/base/utils/KalugaDate;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter; - public static synthetic fun buildDatePicker$default (Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/base/utils/KalugaDate;Lcom/splendo/kaluga/base/utils/KalugaDate;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter; - public static final fun buildTimePicker (Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter$Builder;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter; -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePickerPresenter : com/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter { - public fun (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;)V - public fun dismiss (Z)V - public fun show (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun showAsync (ZLkotlin/jvm/functions/Function1;)V -} - -public final class com/splendo/kaluga/datetimepicker/DateTimePickerPresenter$Builder : com/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter$Builder { - public fun ()V - public synthetic fun create (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter; - public fun create (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/datetimepicker/DateTimePickerPresenter; -} - diff --git a/date-time-picker/build.gradle.kts b/date-time-picker/build.gradle.kts index 73a350b5a..8355ac179 100644 --- a/date-time-picker/build.gradle.kts +++ b/date-time-picker/build.gradle.kts @@ -1,28 +1,21 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("datetimepicker") - -dependencies { - androidTestImplementationDependency(Dependencies.AndroidX.Activity.Ktx) -} - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "datetimepicker" + dependencies { + android { + instrumented { + implementation(libs.androidx.activity.ktx) + } + } + common { + main { implementation(project(":architecture", "")) implementation(project(":base", "")) } - } - getByName("commonTest") { - dependencies { + test { implementation(project(":test-utils-date-time-picker", "")) } } diff --git a/date-time-picker/src/androidLibMain/kotlin/DateTimePickerPresenter.kt b/date-time-picker/src/androidLibMain/kotlin/DateTimePickerPresenter.kt index 1af5f6916..12a3d7cee 100644 --- a/date-time-picker/src/androidLibMain/kotlin/DateTimePickerPresenter.kt +++ b/date-time-picker/src/androidLibMain/kotlin/DateTimePickerPresenter.kt @@ -87,11 +87,11 @@ actual class DateTimePickerPresenter( } } - override fun dismissDateTimePicker(animated: Boolean) { + actual override fun dismissDateTimePicker(animated: Boolean) { presentation.value = DialogPresentation.Hidden } - override fun showDateTimePicker(animated: Boolean, completion: (KalugaDate?) -> Unit) { + actual override fun showDateTimePicker(animated: Boolean, completion: (KalugaDate?) -> Unit) { presentation.value = DialogPresentation.Showing(animated, completion) } diff --git a/date-time-picker/src/commonMain/kotlin/DateTimePicker.kt b/date-time-picker/src/commonMain/kotlin/DateTimePicker.kt index 35422b464..7a46b9ef1 100644 --- a/date-time-picker/src/commonMain/kotlin/DateTimePicker.kt +++ b/date-time-picker/src/commonMain/kotlin/DateTimePicker.kt @@ -257,6 +257,9 @@ expect class DateTimePickerPresenter : BaseDateTimePickerPresenter { */ override fun create(dateTimePicker: DateTimePicker, coroutineScope: CoroutineScope): DateTimePickerPresenter } + + override fun showDateTimePicker(animated: Boolean, completion: (KalugaDate?) -> Unit) + override fun dismissDateTimePicker(animated: Boolean) } /** diff --git a/date-time-picker/src/iosMain/kotlin/DateTimePickerPresenter.kt b/date-time-picker/src/iosMain/kotlin/DateTimePickerPresenter.kt index f4b3176de..1f3f80b83 100644 --- a/date-time-picker/src/iosMain/kotlin/DateTimePickerPresenter.kt +++ b/date-time-picker/src/iosMain/kotlin/DateTimePickerPresenter.kt @@ -172,11 +172,11 @@ actual class DateTimePickerPresenter( } } - override fun dismissDateTimePicker(animated: Boolean) { + actual override fun dismissDateTimePicker(animated: Boolean) { parent.dismissModalViewControllerAnimated(animated) } - override fun showDateTimePicker(animated: Boolean, completion: (KalugaDate?) -> Unit) { + actual override fun showDateTimePicker(animated: Boolean, completion: (KalugaDate?) -> Unit) { parent.presentViewController(DateTimePickerViewController(completion), animated, null) } } diff --git a/date-time-picker/src/jsMain/kotlin/DateTimePickerPresenter.kt b/date-time-picker/src/jsMain/kotlin/DateTimePickerPresenter.kt deleted file mode 100644 index 9bb126ea7..000000000 --- a/date-time-picker/src/jsMain/kotlin/DateTimePickerPresenter.kt +++ /dev/null @@ -1,71 +0,0 @@ -/* - -Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.datetimepicker - -import com.splendo.kaluga.base.utils.KalugaDate -import kotlinx.coroutines.CoroutineScope - -/** - * A [DateTimePickerPresenter] for presenting a [DateTimePicker]. - * - * This is not yet fully implemented on JVM - * - * @param dateTimePicker The [DateTimePicker] being presented. - */ -actual class DateTimePickerPresenter( - dateTimePicker: DateTimePicker, -) : BaseDateTimePickerPresenter(dateTimePicker) { - - /** - * A [BaseDateTimePickerPresenter.Builder] for creating a [DateTimePickerPresenter] - */ - actual class Builder : BaseDateTimePickerPresenter.Builder() { - - /** - * Creates a [DateTimePickerPresenter] - * - * @param dateTimePicker The [DateTimePicker] to be presented with the built presenter. - * @param coroutineScope The [CoroutineScope] managing the alert lifecycle. - * @return The created [DateTimePickerPresenter] - */ - actual override fun create(dateTimePicker: DateTimePicker, coroutineScope: CoroutineScope): DateTimePickerPresenter { - return DateTimePickerPresenter(dateTimePicker) - } - } - - override fun showAsync(animated: Boolean, completion: (KalugaDate?) -> Unit) { - TODO("Not yet implemented") - } - - override suspend fun show(animated: Boolean): KalugaDate? { - TODO("not implemented") - } - - override fun dismiss(animated: Boolean) { - TODO("not implemented") - } - - override fun dismissDateTimePicker(animated: Boolean) { - TODO("not implemented") - } - - override fun showDateTimePicker(animated: Boolean, completion: (KalugaDate?) -> Unit) { - TODO("not implemented") - } -} diff --git a/date-time-picker/src/jvmMain/kotlin/DateTimePickerPresenter.kt b/date-time-picker/src/jvmMain/kotlin/DateTimePickerPresenter.kt deleted file mode 100644 index 4d6556a0e..000000000 --- a/date-time-picker/src/jvmMain/kotlin/DateTimePickerPresenter.kt +++ /dev/null @@ -1,70 +0,0 @@ -/* - -Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.datetimepicker - -import com.splendo.kaluga.base.utils.KalugaDate -import kotlinx.coroutines.CoroutineScope - -/** - * A [DateTimePickerPresenter] for presenting a [DateTimePicker]. - * - * This is not yet fully implemented on JVM - * - * @param dateTimePicker The [DateTimePicker] being presented. - */ -actual class DateTimePickerPresenter( - dateTimePicker: DateTimePicker, -) : BaseDateTimePickerPresenter(dateTimePicker) { - - /** - * A [BaseDateTimePickerPresenter.Builder] for creating a [DateTimePickerPresenter] - */ - actual class Builder : BaseDateTimePickerPresenter.Builder() { - - /** - * Creates a [DateTimePickerPresenter] - * - * @param dateTimePicker The [DateTimePicker] to be presented with the built presenter. - * @param coroutineScope The [CoroutineScope] managing the alert lifecycle. - * @return The created [DateTimePickerPresenter] - */ - actual override fun create(dateTimePicker: DateTimePicker, coroutineScope: CoroutineScope): DateTimePickerPresenter { - return DateTimePickerPresenter(dateTimePicker) - } - } - - override fun showAsync(animated: Boolean, completion: (KalugaDate?) -> Unit) { - TODO("Not yet implemented") - } - - override suspend fun show(animated: Boolean): KalugaDate? { - TODO("not implemented") - } - - override fun dismiss(animated: Boolean) { - TODO("not implemented") - } - - override fun dismissDateTimePicker(animated: Boolean) { - TODO("not implemented") - } - - override fun showDateTimePicker(animated: Boolean, completion: (KalugaDate?) -> Unit) { - TODO("not implemented") - } -} diff --git a/date-time/build.gradle.kts b/date-time/build.gradle.kts index 4ebc8994b..fafedc3e1 100644 --- a/date-time/build.gradle.kts +++ b/date-time/build.gradle.kts @@ -1,23 +1,19 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("datetime.timer") +kaluga { + moduleName = "datetime.timer" -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { + supportJVM = true + supportJS = true + + dependencies { + common { + main { implementation(project(":base", "")) } - } - getByName("commonTest") { - dependencies { + test { implementation(project(":test-utils-base", "")) } } diff --git a/date-time/src/commonTest/kotlin/com/splendo/kaluga/datetime/timer/RecurringTimerTest.kt b/date-time/src/commonTest/kotlin/com/splendo/kaluga/datetime/timer/RecurringTimerTest.kt index f86004eb8..f5482d1d8 100644 --- a/date-time/src/commonTest/kotlin/com/splendo/kaluga/datetime/timer/RecurringTimerTest.kt +++ b/date-time/src/commonTest/kotlin/com/splendo/kaluga/datetime/timer/RecurringTimerTest.kt @@ -17,6 +17,7 @@ package com.splendo.kaluga.datetime.timer import com.splendo.kaluga.base.runBlocking +import com.splendo.kaluga.test.base.assertEmits import com.splendo.kaluga.test.base.captureFor import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.CoroutineScope @@ -27,7 +28,6 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.withTimeout import kotlin.test.Test import kotlin.test.assertEquals -import kotlin.test.assertIs import kotlin.test.assertTrue import kotlin.time.Duration import kotlin.time.Duration.Companion.milliseconds @@ -44,21 +44,21 @@ class RecurringTimerTest { interval = 10.milliseconds, coroutineScope = timerScope, ) - assertIs(timer.state.first(), "timer was not paused after creation") + timer.state.assertEmits("timer was not paused after creation") { it is Timer.State.NotRunning.Paused } timer.start() - assertIs(timer.state.first(), "timer is not running after start") + timer.state.assertEmits("timer is not running after start") { it is Timer.State.Running } timer.pause() - assertIs(timer.state.first(), "timer was not paused after pause") + timer.state.assertEmits("timer was not paused after pause") { it is Timer.State.NotRunning.Paused } delay(500) - assertIs(timer.state.first(), "timer pause is not working") + timer.state.assertEmits("timer pause is not working") { it is Timer.State.NotRunning.Paused } timer.start() - assertIs(timer.state.first(), "timer is not running after start") + timer.state.assertEmits("timer is not running after start") { it is Timer.State.Running } delay(500) - assertIs(timer.state.first(), "timer was not finished after time elapsed") + timer.state.assertEmits("timer was not finished after time elapsed") { it is Timer.State.NotRunning.Finished } timer.start() - assertIs(timer.state.first(), "was able to start timer after finish") + timer.state.assertEmits("was able to start timer after finish") { it is Timer.State.NotRunning.Finished } timer.pause() - assertIs(timer.state.first(), "was able to pause timer after finish") + timer.state.assertEmits("was able to pause timer after finish") { it is Timer.State.NotRunning.Finished } timerScope.cancel() } diff --git a/example/android/build.gradle.kts b/example/android/build.gradle.kts index 15a465dbc..5d3782836 100644 --- a/example/android/build.gradle.kts +++ b/example/android/build.gradle.kts @@ -1,30 +1,32 @@ +import com.splendo.kaluga.plugin.helpers.gitBranch + plugins { id("com.android.application") - kotlin("android") + id(libs.plugins.kotlin.android.get().pluginId) + id(libs.plugins.compose.get().pluginId) + alias(libs.plugins.kotlin.serialization) kotlin("kapt") - kotlin("plugin.serialization") - id("org.jmailen.kotlinter") } -group = Library.group -version = Library.version +group = "com.splendo.kaluga" +version = "${libs.versions.kaluga.get()}${gitBranch.kalugaBranchPostfix}" -androidApp { +android { namespace = "com.splendo.kaluga.example" - compileSdk = LibraryImpl.Android.compileSdk - buildToolsVersion = LibraryImpl.Android.buildTools + compileSdk = libs.versions.androidCompileSdk.get().toInt() + buildToolsVersion = libs.versions.androidBuildTools.get() defaultConfig { applicationId = "com.splendo.kaluga.example" - minSdk = LibraryImpl.Android.minSdk - targetSdk = LibraryImpl.Android.targetSdk + minSdk = libs.versions.androidMinSdk.get().toInt() + targetSdk = libs.versions.androidCompileSdk.get().toInt() versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get()) + targetCompatibility = JavaVersion.toVersion(libs.versions.java.get()) } signingConfigs { @@ -37,7 +39,7 @@ androidApp { } kotlinOptions { - jvmTarget = "11" + jvmTarget = libs.versions.java.get() } buildTypes { @@ -64,10 +66,6 @@ androidApp { dataBinding { enable = true } - compose = true - } - composeOptions { - kotlinCompilerExtensionVersion = LibraryImpl.Android.composeCompiler } } @@ -75,45 +73,38 @@ kotlin { sourceSets.all { languageSettings { optIn("kotlin.ExperimentalStdlibApi") - optIn("androidx.compose.material.ExperimentalMaterialApi") + optIn("androidx.compose.material3.ExperimentalMaterial3Api") optIn("androidx.compose.ui.ExperimentalComposeUiApi") } } } dependencies { - val libraryVersion = Library.version - implementation("com.splendo.kaluga:architecture-compose:$libraryVersion") - implementation("com.splendo.kaluga:keyboard-compose:$libraryVersion") - implementation("com.splendo.kaluga:resources-compose:$libraryVersion") - implementation("com.splendo.kaluga:resources-databinding:$libraryVersion") + implementation("com.splendo.kaluga:architecture-compose:$version") + implementation("com.splendo.kaluga:keyboard-compose:$version") + implementation("com.splendo.kaluga:resources-compose:$version") + implementation("com.splendo.kaluga:resources-databinding:$version") implementation(project(":shared")) - implementationDependency(Dependencies.AndroidX.Compose.UI) - implementationDependency(Dependencies.AndroidX.Compose.UITooling) - implementationDependency(Dependencies.AndroidX.Compose.UIToolingPreview) - implementationDependency(Dependencies.AndroidX.Compose.Foundation) - implementationDependency(Dependencies.AndroidX.Compose.Material) - implementationDependency(Dependencies.AndroidX.Activity.Compose) - implementationDependency(Dependencies.AndroidX.Navigation.Compose) + implementation(libs.androidx.compose.ui) + implementation(libs.androidx.compose.ui.tooling) + implementation(libs.androidx.compose.ui.tooling.preview) + implementation(libs.androidx.compose.foundation) + implementation(libs.androidx.compose.material3) + implementation(libs.androidx.activity.compose) + implementation(libs.androidx.navigation.compose) - implementationDependency(Dependencies.AndroidX.Fragment) - implementationDependency(Dependencies.AndroidX.FragmentKtx) - implementationDependency(Dependencies.AndroidX.ConstraintLayout) - implementationDependency(Dependencies.AndroidX.Lifecycle.Service) + implementation(libs.androidx.fragment) + implementation(libs.androidx.fragment.ktx) + implementation(libs.androidx.constraintlayout) + implementation(libs.androidx.lifecycle.service) - implementationDependency(Dependencies.Android.PlayServices.Location) - implementationDependency(Dependencies.Android.Material) - implementationDependency(Dependencies.Accompanist.MaterialThemeAdapter) + implementation(libs.android.play.services.location) + implementation(libs.android.material) - implementationDependency(Dependencies.KotlinX.Serialization.Core) - implementationDependency(Dependencies.KotlinX.Serialization.Json) + implementation(libs.kotlinx.serialization.core) + implementation(libs.kotlinx.serialization.json) - implementationDependency(Dependencies.Koin.AndroidXCompose) + implementation(libs.koin.compose) } -// Workaround for Kapt not setting the proper JVM target -// See https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version -tasks.withType().configureEach { - kotlinOptions.jvmTarget = "11" -} diff --git a/example/android/src/main/java/com/splendo/kaluga/example/alerts/compose/AlertsLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/alerts/compose/AlertsLayout.kt index e306b729a..67a782ae7 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/alerts/compose/AlertsLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/alerts/compose/AlertsLayout.kt @@ -27,10 +27,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier -import com.google.accompanist.themeadapter.material.MdcTheme import com.splendo.kaluga.architecture.compose.viewModel.ViewModelComposable import com.splendo.kaluga.example.compose.Constants import com.splendo.kaluga.example.shared.viewmodel.alert.AlertViewModel @@ -52,7 +52,7 @@ class ComposeAlertsActivity : AppCompatActivity() { @Composable fun AlertsLayout() { - MdcTheme { + MaterialTheme { val viewModel = koinViewModel() ViewModelComposable(viewModel) { diff --git a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureDetailsLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureDetailsLayout.kt index 5270ef2f2..4b1c03e71 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureDetailsLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureDetailsLayout.kt @@ -19,7 +19,7 @@ package com.splendo.kaluga.example.architecture.compose import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier diff --git a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureLayout.kt index fc0118b40..c5cbc9ee2 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/ArchitectureLayout.kt @@ -30,8 +30,9 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Text +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue @@ -44,7 +45,6 @@ import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.navigation.compose.composable -import com.google.accompanist.themeadapter.material.MdcTheme import com.splendo.kaluga.architecture.compose.mutableState import com.splendo.kaluga.architecture.compose.navigation.RootModalBottomSheetNavigator import com.splendo.kaluga.architecture.compose.navigation.composable @@ -80,7 +80,7 @@ class ComposeArchitectureActivity : AppCompatActivity() { @Composable fun ArchitectureLayout() { - MdcTheme { + MaterialTheme { val viewModel = koinViewModel { parametersOf( RootModalBottomSheetNavigator>( diff --git a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetLayout.kt index dd739c853..8897d309f 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetLayout.kt @@ -20,7 +20,7 @@ package com.splendo.kaluga.example.architecture.compose import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.splendo.kaluga.architecture.compose.navigation.BottomSheetNavigatorState diff --git a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetSubPageLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetSubPageLayout.kt index 3ee94bb53..6f170e86b 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetSubPageLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/architecture/compose/BottomSheetSubPageLayout.kt @@ -22,8 +22,8 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Button -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.splendo.kaluga.architecture.compose.navigation.BottomSheetNavigatorState diff --git a/example/android/src/main/java/com/splendo/kaluga/example/datetimepicker/compose/DateTimePickerLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/datetimepicker/compose/DateTimePickerLayout.kt index b97f99152..f81791521 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/datetimepicker/compose/DateTimePickerLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/datetimepicker/compose/DateTimePickerLayout.kt @@ -27,12 +27,12 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Text +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier -import com.google.accompanist.themeadapter.material.MdcTheme import com.splendo.kaluga.architecture.compose.state import com.splendo.kaluga.architecture.compose.viewModel.LocalAppCompatActivity import com.splendo.kaluga.architecture.compose.viewModel.ViewModelComposable @@ -58,7 +58,7 @@ class ComposeDateTimePickerActivity : AppCompatActivity() { @Composable fun DateTimePickerLayout() { - MdcTheme { + MaterialTheme { val viewModel = koinViewModel() ViewModelComposable(viewModel) { diff --git a/example/android/src/main/java/com/splendo/kaluga/example/keyboard/compose/KeyboardLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/keyboard/compose/KeyboardLayout.kt index 79931880d..7250f2e88 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/keyboard/compose/KeyboardLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/keyboard/compose/KeyboardLayout.kt @@ -29,7 +29,8 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll -import androidx.compose.material.OutlinedTextField +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect @@ -42,7 +43,6 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction -import com.google.accompanist.themeadapter.material.MdcTheme import com.splendo.kaluga.architecture.compose.viewModel.ViewModelComposable import com.splendo.kaluga.example.compose.Constants import com.splendo.kaluga.example.shared.viewmodel.keyboard.KeyboardViewModel @@ -70,7 +70,7 @@ class ComposeKeyboardActivity : AppCompatActivity() { @Composable fun KeyboardLayout() { - MdcTheme { + MaterialTheme { val focusHandler = LocalFocusManager.current val focusRequester = remember { FocusRequester() } val viewModel = diff --git a/example/android/src/main/java/com/splendo/kaluga/example/loading/compose/LoadingLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/loading/compose/LoadingLayout.kt index f784e61f7..90ccf1a97 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/loading/compose/LoadingLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/loading/compose/LoadingLayout.kt @@ -27,10 +27,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier -import com.google.accompanist.themeadapter.material.MdcTheme import com.splendo.kaluga.architecture.compose.viewModel.ViewModelComposable import com.splendo.kaluga.example.compose.Constants import com.splendo.kaluga.example.shared.viewmodel.hud.HudViewModel @@ -52,7 +52,7 @@ class ComposeLoadingActivity : AppCompatActivity() { @Composable fun LoadingLayout() { - MdcTheme { + MaterialTheme { val viewModel = koinViewModel() ViewModelComposable(viewModel) { diff --git a/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ColorsLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ColorsLayout.kt index 70579a36c..937c8e768 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ColorsLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ColorsLayout.kt @@ -31,7 +31,7 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll -import androidx.compose.material.OutlinedTextField +import androidx.compose.material3.OutlinedTextField import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ResourcesLayout.kt b/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ResourcesLayout.kt index 8baedec51..b23414888 100644 --- a/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ResourcesLayout.kt +++ b/example/android/src/main/java/com/splendo/kaluga/example/resources/compose/ResourcesLayout.kt @@ -27,14 +27,14 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.navigation.compose.composable -import com.google.accompanist.themeadapter.material.MdcTheme import com.splendo.kaluga.architecture.compose.navigation.RootNavHostComposableNavigator import com.splendo.kaluga.architecture.compose.navigation.next import com.splendo.kaluga.architecture.compose.navigation.route @@ -64,7 +64,7 @@ class ComposeResourcesActivity : AppCompatActivity() { @Composable fun ResourcesLayout() { - MdcTheme { + MaterialTheme { val viewModel = koinViewModel { parametersOf( RootNavHostComposableNavigator( diff --git a/example/build.gradle.kts b/example/build.gradle.kts index dbc298fb4..7be4a8119 100644 --- a/example/build.gradle.kts +++ b/example/build.gradle.kts @@ -1,8 +1,18 @@ -import java.io.File -import java.io.FileInputStream -import java.util.Properties +import com.splendo.kaluga.example.plugin.EmbeddingMode plugins { - kotlin("multiplatform").apply(false) - id("kaluga-library-components") + id("com.splendo.kaluga.example.plugin") + id("com.splendo.kaluga.plugin") +} + +kaluga { + when (val embeddingMode = embedding.embeddingMode) { + is EmbeddingMode.MavenLocal -> { + includeMavenLocal = true + } + is EmbeddingMode.MavenRepo -> { + additionalMavenRepos.add(embeddingMode.repoUrl) + } + else -> {} + } } diff --git a/example/embedding/build.gradle.kts b/example/embedding/build.gradle.kts new file mode 100644 index 000000000..6e130ded6 --- /dev/null +++ b/example/embedding/build.gradle.kts @@ -0,0 +1,37 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + `java-gradle-plugin` + `kotlin-dsl` + `kotlin-dsl-precompiled-script-plugins` + `version-catalog` + `maven-publish` + alias(libs.plugins.kotlinter) +} + +repositories { + gradlePluginPortal() // To use 'maven-publish' and 'signing' plugins in our own plugin + google() + mavenCentral() +} + +gradlePlugin { + plugins.register("com.splendo.kaluga.example.plugin") { + id = "com.splendo.kaluga.example.plugin" + implementationClass = "com.splendo.kaluga.example.plugin.EmbeddingPlugin" + } + plugins.register("com.splendo.kaluga.example.setting.plugin") { + id = "com.splendo.kaluga.example.settings.plugin" + implementationClass = "com.splendo.kaluga.example.plugin.EmbeddingSettingsPlugin" + } +} + +kotlin { + jvmToolchain(libs.versions.java.get().toInt()) +} + +val compileKotlin: KotlinCompile by tasks + +compileKotlin.kotlinOptions { + languageVersion = "2.0" +} \ No newline at end of file diff --git a/example/embedding/settings.gradle b/example/embedding/settings.gradle new file mode 100644 index 000000000..2f7d3fdcf --- /dev/null +++ b/example/embedding/settings.gradle @@ -0,0 +1,7 @@ +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + from(files("../../libs.versions.toml")) + } + } +} \ No newline at end of file diff --git a/kaluga-library-components/src/main/kotlin/LibraryComponentsPlugin.kt b/example/embedding/src/main/kotlin/EmbeddingMode.kt similarity index 64% rename from kaluga-library-components/src/main/kotlin/LibraryComponentsPlugin.kt rename to example/embedding/src/main/kotlin/EmbeddingMode.kt index dc23d9d2f..1e9cce057 100644 --- a/kaluga-library-components/src/main/kotlin/LibraryComponentsPlugin.kt +++ b/example/embedding/src/main/kotlin/EmbeddingMode.kt @@ -1,5 +1,5 @@ /* - Copyright 2022 Splendo Consulting B.V. The Netherlands + Copyright 2024 Splendo Consulting B.V. The Netherlands Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,11 +15,11 @@ */ -import org.gradle.api.Plugin -import org.gradle.api.Project +package com.splendo.kaluga.example.plugin -class LibraryComponentsPlugin: Plugin { - override fun apply(target: Project) { - // no-op - } +sealed class EmbeddingMode { + data object Composite : EmbeddingMode() + data object MavenLocal : EmbeddingMode() + data class MavenRepo(val repoUrl: String) : EmbeddingMode() + data object None : EmbeddingMode() } diff --git a/example/embedding/src/main/kotlin/EmbeddingModeExtension.kt b/example/embedding/src/main/kotlin/EmbeddingModeExtension.kt new file mode 100644 index 000000000..4a5cca0f6 --- /dev/null +++ b/example/embedding/src/main/kotlin/EmbeddingModeExtension.kt @@ -0,0 +1,67 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.example.plugin + +import org.gradle.api.logging.Logger +import java.util.Properties +import javax.inject.Inject + +open class EmbeddingModeExtension @Inject constructor(private val properties: Properties, private val logger: Logger) { + + val embeddingMode = generateEmbeddingMode() + + private fun generateEmbeddingMode(): EmbeddingMode { + val providedEmbeddingMethod = if (System.getenv().containsKey("EXAMPLE_EMBEDDING_METHOD")) { + System.getenv()["EXAMPLE_EMBEDDING_METHOD"].also { + logger.lifecycle("System env EXAMPLE_EMBEDDING_METHOD set to ${System.getenv()["EXAMPLE_EMBEDDING_METHOD"]}, using $it") + }!! + } else { + val exampleEmbeddingMethodLocalProperties = properties["kaluga.exampleEmbeddingMethod"] as? String + (exampleEmbeddingMethodLocalProperties ?: "composite").also { + logger.lifecycle("local.properties read (kaluga.exampleEmbeddingMethod=$exampleEmbeddingMethodLocalProperties, using $it)") + } + } + + return if (providedEmbeddingMethod == "composite") { + EmbeddingMode.Composite + } else { + val exampleMavenRepo = if (System.getenv().containsKey("EXAMPLE_MAVEN_REPO")) { + System.getenv()["EXAMPLE_MAVEN_REPO"].also { + logger.lifecycle("System env EXAMPLE_MAVEN_REPO set to ${System.getenv()["EXAMPLE_MAVEN_REPO"]}, using $it") + }!! + } else { + val exampleMavenRepoLocalProperties: String? = + properties["kaluga.exampleMavenRepo"] as? String + exampleMavenRepoLocalProperties?.also { + logger.lifecycle("local.properties read (kaluga.exampleMavenRepo=$exampleMavenRepoLocalProperties, using $it)") + } + ?: "local".also { + logger.info("local.properties not found, using default value ($it)") + } + } + logger.lifecycle("Using repo: $exampleMavenRepo for resolving dependencies") + + when (exampleMavenRepo) { + "", "local" -> EmbeddingMode.MavenLocal + "none" -> EmbeddingMode.None + else -> + EmbeddingMode.MavenRepo(exampleMavenRepo) + } + } + } +} \ No newline at end of file diff --git a/example/embedding/src/main/kotlin/EmbeddingPlugin.kt b/example/embedding/src/main/kotlin/EmbeddingPlugin.kt new file mode 100644 index 000000000..7af7155c0 --- /dev/null +++ b/example/embedding/src/main/kotlin/EmbeddingPlugin.kt @@ -0,0 +1,37 @@ +package com.splendo.kaluga.example.plugin + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.initialization.Settings +import org.gradle.api.logging.Logger +import org.gradle.api.logging.Logging +import org.gradle.api.plugins.ExtensionContainer +import org.gradle.kotlin.dsl.create +import java.io.File +import java.io.FileInputStream +import java.util.Properties + +abstract class BaseEmbeddingPlugin { + fun apply(container: ExtensionContainer, rootDir: File, logger: Logger) { + val props = Properties() + val file = File(rootDir, "/local.properties") + if (file.exists()) { + props.load(FileInputStream(file)) + } + container.create("embedding", EmbeddingModeExtension::class, props, logger) + } +} + +class EmbeddingPlugin : BaseEmbeddingPlugin(), Plugin { + + override fun apply(target: Project) = target.run { + apply(extensions, target.rootDir, target.logger) + } +} + +class EmbeddingSettingsPlugin : BaseEmbeddingPlugin(), Plugin { + + override fun apply(target: Settings) = target.run { + apply(extensions, target.rootDir, Logging.getLogger(Settings::class.java)) + } +} diff --git a/example/gradle.properties b/example/gradle.properties index 8bc614df8..587bcd91f 100644 --- a/example/gradle.properties +++ b/example/gradle.properties @@ -16,10 +16,3 @@ org.gradle.parallel=true kotlin.mpp.enableCInteropCommonization=true kotlin.native.ignoreIncorrectDependencies=true kotlin.mpp.import.enableKgpDependencyResolution=true - -# Kaluga -kaluga.androidGradlePluginVersion=8.4.0 -kaluga.kotlinVersion=1.9.24 -kaluga.googleServicesGradlePluginVersion=4.4.1 -kaluga.kotlinterGradlePluginVersion=4.3.0 -kaluga.atomicFuGradlePluginVersion=0.24.0 \ No newline at end of file diff --git a/example/gradle/wrapper/gradle-wrapper.properties b/example/gradle/wrapper/gradle-wrapper.properties index 27bf8e08d..042246b00 100644 --- a/example/gradle/wrapper/gradle-wrapper.properties +++ b/example/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Fri Nov 04 13:12:48 CET 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/example/non_dependent_projects.properties b/example/non_dependent_projects.properties new file mode 100644 index 000000000..9a391a6e0 --- /dev/null +++ b/example/non_dependent_projects.properties @@ -0,0 +1 @@ +projects=["android","shared"] \ No newline at end of file diff --git a/example/settings.gradle.kts b/example/settings.gradle.kts index 34e125974..b721251db 100644 --- a/example/settings.gradle.kts +++ b/example/settings.gradle.kts @@ -1,3 +1,4 @@ +import com.splendo.kaluga.example.plugin.EmbeddingMode import java.io.File import java.io.FileInputStream import java.util.Properties @@ -9,93 +10,26 @@ pluginManagement { mavenCentral() } - resolutionStrategy { - eachPlugin { - - val kalugaAndroidGradlePluginVersion = settings.extra["kaluga.androidGradlePluginVersion"] - val kalugaKotlinVersion = settings.extra["kaluga.kotlinVersion"] - val kalugaKotlinterGradlePluginVersion = settings.extra["kaluga.kotlinterGradlePluginVersion"] - val kalugaGoogleServicesGradlePluginVersion = settings.extra["kaluga.googleServicesGradlePluginVersion"] - - when (requested.id.id) { - "org.jetbrains.kotlin.multiplatform", - "org.jetbrains.kotlin.plugin.serialization", - "org.jetbrains.kotlin.android", - "org.jetbrains.kotlin.kapt", - -> useVersion("$kalugaKotlinVersion") - "com.android.library", - "com.android.application", - -> useVersion("$kalugaAndroidGradlePluginVersion") - "org.jmailen.kotlinter", - -> useVersion("$kalugaKotlinterGradlePluginVersion") - "com.google.gms:google-services" - -> useVersion("com.google.gms:google-services:$kalugaGoogleServicesGradlePluginVersion") - } - } - } -} - -val props = Properties() -val file = File("$rootDir/local.properties") -if (file.exists()) { - props.load(FileInputStream(file)) -} - -val exampleEmbeddingMethod = if (System.getenv().containsKey("EXAMPLE_EMBEDDING_METHOD")) { - System.getenv()["EXAMPLE_EMBEDDING_METHOD"].also { - logger.lifecycle("System env EXAMPLE_EMBEDDING_METHOD set to ${System.getenv()["EXAMPLE_EMBEDDING_METHOD"]}, using $it") - }!! -} else { - val exampleEmbeddingMethodLocalProperties = props["kaluga.exampleEmbeddingMethod"] as? String - (exampleEmbeddingMethodLocalProperties ?: "composite").also { - logger.lifecycle("local.properties read (kaluga.exampleEmbeddingMethod=$exampleEmbeddingMethodLocalProperties, using $it)") - } + includeBuild("../kaluga-library-components") + includeBuild("./embedding") } -val isCompositeBuild = when (exampleEmbeddingMethod) { - "composite" -> true - else -> false +plugins { + id("com.splendo.kaluga.example.settings.plugin") } dependencyResolutionManagement { - repositories { - if (!isCompositeBuild) { - val exampleMavenRepo = if (System.getenv().containsKey("EXAMPLE_MAVEN_REPO")) { - System.getenv()["EXAMPLE_MAVEN_REPO"].also { - logger.lifecycle("System env EXAMPLE_MAVEN_REPO set to ${System.getenv()["EXAMPLE_MAVEN_REPO"]}, using $it") - }!! - } else { - val exampleMavenRepoLocalProperties: String? = - props["kaluga.exampleMavenRepo"] as? String - exampleMavenRepoLocalProperties?.also { - logger.lifecycle("local.properties read (kaluga.exampleMavenRepo=$exampleMavenRepoLocalProperties, using $it)") - } - ?: "local".also { - logger.info("local.properties not found, using default value ($it)") - } - } - logger.lifecycle("Using repo: $exampleMavenRepo for resolving dependencies") - - when (exampleMavenRepo) { - null, "", "local" -> mavenLocal() - "none" -> {/* noop */ - } - else -> - maven(exampleMavenRepo) - } + versionCatalogs { + create("libs") { + from(files("../libs.versions.toml")) } - mavenCentral() - google() } } -includeBuild("../kaluga-library-components") -includeBuild("../convention-plugins") - rootProject.name = "Kaluga Example" include(":android") include(":shared") -if (isCompositeBuild) { +if (embedding.embeddingMode is EmbeddingMode.Composite) { includeBuild("../") } diff --git a/example/shared/build.gradle.kts b/example/shared/build.gradle.kts index 5076f9a46..09a173823 100644 --- a/example/shared/build.gradle.kts +++ b/example/shared/build.gradle.kts @@ -1,12 +1,8 @@ plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("com.android.library") - id("jacoco") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") + alias(libs.plugins.kotlin.serialization) } -val libraryVersion = Library.version val modules = listOf( "alerts" to true, "architecture" to true, @@ -28,50 +24,30 @@ val modules = listOf( "permissions" to true ) -commonComponent("example.shared") { - logger.lifecycle("Configure framework") - baseName = "KalugaExampleShared" - isStatic = false - transitiveExport = true - modules.forEach { (module, isExportable) -> - if (isExportable) { - export("com.splendo.kaluga:$module:$libraryVersion") - } - } -} - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { - modules.forEach { (module, _) -> - api("com.splendo.kaluga:$module:$libraryVersion") - } - apiDependency(Dependencies.Koin.Core) +kaluga { + moduleName = "example.shared" + appleFramework { + baseName = "KalugaExampleShared" + isStatic = false + transitiveExport = true + modules.forEach { (module, isExportable) -> + if (isExportable) { + export("com.splendo.kaluga:$module:$version") } } } -} - -android { dependencies { - apiDependency(Dependencies.Koin.Android) - } -} - -// Use Gradle 8 before Kotlin 1.9 https://youtrack.jetbrains.com/issue/KT-55751 -listOf( - "debugFrameworkIosFat", - "debugFrameworkIosX64", - "releaseFrameworkIosX64", - "releaseFrameworkIosFat", -).forEach { - if (configurations.names.contains(it)) { - configurations.named(it).configure { - attributes { - attributes { - attribute(Attribute.of("KT-55751", String::class.java), it) + android { + main { + api(libs.koin.android) + } + } + common { + main { + modules.forEach { (module, _) -> + api("com.splendo.kaluga:$module:$version") } + api(libs.koin.core) } } } diff --git a/example/shared/src/jvmMain/kotlin/com/splendo/kaluga/example/shared/di/DependencyInjection.kt b/example/shared/src/jvmMain/kotlin/com/splendo/kaluga/example/shared/di/DependencyInjection.kt index 2fc8f1287..df6d8cc22 100644 --- a/example/shared/src/jvmMain/kotlin/com/splendo/kaluga/example/shared/di/DependencyInjection.kt +++ b/example/shared/src/jvmMain/kotlin/com/splendo/kaluga/example/shared/di/DependencyInjection.kt @@ -1,3 +1,4 @@ +@file:JvmName("AndroidDependencyInjection") /* Copyright 2022 Splendo Consulting B.V. The Netherlands diff --git a/gradle-test-recorder b/gradle-test-recorder index c56a10344..338ef5122 160000 --- a/gradle-test-recorder +++ b/gradle-test-recorder @@ -1 +1 @@ -Subproject commit c56a1034487cc386b6da5c72c3651dff51067831 +Subproject commit 338ef5122cce328c3ee67006039190d68544b60d diff --git a/gradle.properties b/gradle.properties index 012331596..763af362a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,19 +15,10 @@ org.gradle.parallel=true #MPP kotlin.mpp.enableCInteropCommonization=true kotlin.native.ignoreIncorrectDependencies=true +kotlin.incremental.native=true kotlin.mpp.import.enableKgpDependencyResolution=true -# Kaluga -kaluga.androidGradlePluginVersion=8.4.0 -kaluga.kotlinVersion=1.9.24 -kaluga.googleServicesGradlePluginVersion=4.4.1 -kaluga.kotlinterGradlePluginVersion=4.3.0 -kaluga.atomicFuGradlePluginVersion=0.24.0 - - -## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## -# -# below is not used by example and does not need to be kept in sync # - -kaluga.binaryCompatibilityValidatorVersion=0.14.0 -kaluga.dokkaVersion=1.9.20 +#Atomicfu +kotlinx.atomicfu.enableJvmIrTransformation=true +kotlinx.atomicfu.enableNativeIrTransformation=true +kotlinx.atomicfu.enableJsIrTransformation=true diff --git a/gradle/jacoco.gradle b/gradle/jacoco.gradle deleted file mode 100644 index 821c22072..000000000 --- a/gradle/jacoco.gradle +++ /dev/null @@ -1,108 +0,0 @@ -apply plugin: 'jacoco' - -jacoco { - toolVersion = "0.8.7" - reportsDir = file("$buildDir/reports") -} - -project.afterEvaluate { - // Grab all build types and product flavors - def buildTypes = android.buildTypes.collect { type -> type.name } - def productFlavors = android.productFlavors.collect { flavor -> flavor.name } - - // When no product flavors defined, use empty - if (!productFlavors) productFlavors.add('') - - productFlavors.each { productFlavorName -> - buildTypes.each { buildTypeName -> - def sourceName, sourcePath - if (!productFlavorName) { - sourceName = sourcePath = "${buildTypeName}" - } else { - sourceName = "${productFlavorName}${buildTypeName.capitalize()}" - sourcePath = "${productFlavorName}/${buildTypeName}" - } - def testTaskName = "test${sourceName.capitalize()}" - - // Create coverage task of form 'testFlavorTypeCoverage' depending on 'testFlavorTypeUnitTest' - task "${testTaskName}Coverage" (type:JacocoReport) { - group = "Reporting" - description = "Generate Jacoco coverage reports on the ${sourceName.capitalize()} build." - - def excludes = [ - '**/R.class', - '**/R$*.class', - '**/Manifest*.*', - 'android/**/*.*', - '**/BuildConfig.*', - '**/*$ViewBinder*.*', - '**/*$ViewInjector*.*', - '**/Lambda$*.class', - '**/Lambda.class', - '**/*Lambda.class', - '**/*Lambda*.class' - ] - - classDirectories.setFrom(fileTree( - dir: "${project.buildDir}/intermediates/classes/${sourcePath}", - excludes: excludes - ) + fileTree( - dir: "${project.buildDir}/tmp/kotlin-classes/${sourceName}", - excludes: excludes - )) - - def coverageSourceDirs = [ - "src/main/java", - "src/$productFlavorName/java", - "src/$buildTypeName/java", - "src/commonMain/kotlin", - "src/androidLibMain/kotlin" - ] - additionalSourceDirs.setFrom(files(coverageSourceDirs)) - sourceDirectories.setFrom(files(coverageSourceDirs)) - - List coverageFilePaths = [] - - String bitRiseCoveragePath = "$System.env.VDTESTING_DOWNLOADED_FILES_DIR/NexusLowRes-29-en-portrait_artifacts_coverage.ec" - String unitTestCoveragePath = "${project.buildDir}/jacoco/${testTaskName}UnitTest.exec" - String rootCoveragePath = "${project.buildDir}/../jacoco.exec" - String connectedTestCoverageDirectoryPath = "${project.buildDir}/outputs/code_coverage/${buildTypeName}AndroidTest/connected" - - def bitRiseCoverageFile = file(bitRiseCoveragePath) - def unitTestCoverageFile = file(unitTestCoveragePath) - def rootCoverageFile = file(rootCoveragePath) - def connectedTestCoverageDirectoryFile = file(connectedTestCoverageDirectoryPath) - - logger.info( - "Code coverage files found: connectedTests[$connectedTestCoverageDirectoryPath](could be false if empty): ${connectedTestCoverageDirectoryFile.exists() && connectedTestCoverageDirectoryFile.list().length > 0}, " + - "bitRise[$bitRiseCoveragePath](may contain null if env variable not set): ${bitRiseCoverageFile.exists()}, " + - "unitTest[$unitTestCoveragePath]: ${unitTestCoverageFile.exists()}, "+ - "rootTest[$rootCoveragePath]: ${rootCoverageFile.exists()}" - ) - - if (bitRiseCoverageFile.exists()) - coverageFilePaths.add(bitRiseCoveragePath) - if (unitTestCoverageFile.exists()) - coverageFilePaths.add(unitTestCoveragePath) - if (rootCoverageFile.exists()) - coverageFilePaths.add(rootCoveragePath) - if (connectedTestCoverageDirectoryFile.exists()) - connectedTestCoverageDirectoryFile.list().each { - coverageFilePaths.add("$connectedTestCoverageDirectoryPath/$it") - } - - if (!coverageFilePaths.isEmpty()) { - executionData.setFrom(files(coverageFilePaths)) - } - - reports { - xml.enabled = true - html.enabled = true - - xml.destination file("$buildDir/reports/jacoco/$testTaskName/jacoco${testTaskName}.xml") - - } - } - } - } -} diff --git a/gradle/newModule.gradle.kts b/gradle/newModule.gradle.kts index 15284de62..544deee6c 100644 --- a/gradle/newModule.gradle.kts +++ b/gradle/newModule.gradle.kts @@ -15,6 +15,13 @@ */ +import org.gradle.api.DefaultTask +import org.gradle.api.GradleException +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.provider.ListProperty +import org.gradle.api.tasks.Internal +import org.gradle.api.tasks.TaskAction +import java.io.File import java.nio.file.Files import java.util.Calendar @@ -29,11 +36,11 @@ abstract class NewModule : DefaultTask() { sealed class Templates { abstract val subpath: String - abstract val createDirs: Map> + abstract fun createDirs(includeJVM: Boolean, includeJS: Boolean): Map> object Common : Templates() { override val subpath: String = "common" - override val createDirs = mapOf( + override fun createDirs(includeJVM: Boolean, includeJS: Boolean) = listOfNotNull( "androidLibInstrumentedTest" to listOf("kotlin/TestActivity.kt", "AndroidManifest.xml"), "androidLibMain" to emptyList(), "androidLibUnitTest" to emptyList(), @@ -41,25 +48,25 @@ abstract class NewModule : DefaultTask() { "commonTest" to emptyList(), "iosMain" to emptyList(), "iosTest" to emptyList(), - "jsMain" to emptyList(), - "jvmMain" to emptyList() - ) + if (includeJS) { "jsMain" to emptyList() } else { null }, + if (includeJVM) { "jvmMain" to emptyList() } else { null }, + ).toMap() } object Test : Templates() { override val subpath: String = "test" - override val createDirs = mapOf>( + override fun createDirs(includeJVM: Boolean, includeJS: Boolean) = listOfNotNull>>( "androidLibMain" to emptyList(), "commonMain" to emptyList(), "iosMain" to emptyList(), - "jsMain" to emptyList(), - "jvmMain" to emptyList() - ) + if (includeJS) { "jsMain" to emptyList() } else { null }, + if (includeJVM) { "jvmMain" to emptyList() } else { null }, + ).toMap() } object Compose : Templates() { override val subpath: String = "compose" - override val createDirs = mapOf( + override fun createDirs(includeJVM: Boolean, includeJS: Boolean) = mapOf( "androidTest" to listOf("kotlin/TestActivity.kt", "AndroidManifest.xml"), "main" to emptyList(), "test" to emptyList() @@ -68,7 +75,7 @@ abstract class NewModule : DefaultTask() { object Databinding : Templates() { override val subpath: String = "databinding" - override val createDirs = mapOf( + override fun createDirs(includeJVM: Boolean, includeJS: Boolean) = mapOf( "androidTest" to listOf("kotlin/TestActivity.kt", "AndroidManifest.xml"), "main" to emptyList(), "test" to emptyList() @@ -76,7 +83,13 @@ abstract class NewModule : DefaultTask() { } } - data class Configuration(val baseModuleName: String, val basePackageName: String, val template: Templates) { + data class Configuration( + val baseModuleName: String, + val basePackageName: String, + val includeJVM: Boolean, + val includeJS: Boolean, + val template: Templates, + ) { val moduleName: String get() = when (template) { is Templates.Common -> baseModuleName is Templates.Test -> "test-utils-$baseModuleName" @@ -90,6 +103,18 @@ abstract class NewModule : DefaultTask() { is Templates.Compose -> "$basePackageName.compose" is Templates.Databinding -> "$basePackageName.databinding" } + + val targetConfig: String get() = buildString { + if (includeJS || includeJVM) { + appendLine() + } + if (includeJVM) { + appendLine("\tsupportJVM = true") + } + if (includeJS) { + appendLine("\tsupportJS = true") + } + } } @get:Internal @@ -119,7 +144,7 @@ abstract class NewModule : DefaultTask() { !packageName.matches(Regex(VALID_PACKAGE_NAME_REGEX)) -> throw GradleException("`$packageName` is not a valid package name!") else -> { val basePath = "../$TEMPLATE_PATH/${template.subpath}" - template.createDirs.entries.forEach { (path, files) -> + template.createDirs(false, false).entries.forEach { (path, files) -> val dir = outputDir.dir("src/${path}") val kotlinDir = dir.dir("kotlin") Files.createDirectories(kotlinDir.asFile.toPath()) @@ -147,28 +172,31 @@ abstract class NewModule : DefaultTask() { .readText() .replace("%PACKAGE%", configuration.packageName) .replace("%BASEMODULE%", configuration.baseModuleName) + .replace("%TARGET_CONFIG%", configuration.targetConfig) .replace("%YEAR%", "${Calendar.getInstance().get(Calendar.YEAR)}") template.writeText(content) } } -tasks.register("createNewModule") { +tasks.register("createNewModule", NewModule::class) { group = "utils" if (project.hasProperty("module_name")) { rootDir.set(file("./")) val moduleName = project.property("module_name").toString() val packageName = project.property(if (project.hasProperty("package_name")) "package_name" else "module_name").toString() + val includeJVM = project.hasProperty("include-jvm") + val includeJS = project.hasProperty("include-js") configurations.set( listOfNotNull( - NewModule.Configuration(moduleName, packageName, NewModule.Templates.Common), + NewModule.Configuration(moduleName, packageName, includeJVM, includeJS, NewModule.Templates.Common), if (project.hasProperty("create-test-utils")) { - NewModule.Configuration(moduleName, packageName, NewModule.Templates.Test) + NewModule.Configuration(moduleName, packageName, includeJVM, includeJS, NewModule.Templates.Test) } else null, if (project.hasProperty("create-compose")) { - NewModule.Configuration(moduleName, packageName, NewModule.Templates.Compose) + NewModule.Configuration(moduleName, packageName, includeJVM = false, includeJS = false, template = NewModule.Templates.Compose) } else null, if (project.hasProperty("create-databinding")) { - NewModule.Configuration(moduleName, packageName, NewModule.Templates.Databinding) + NewModule.Configuration(moduleName, packageName, includeJVM = false, includeJS = false, template = NewModule.Templates.Databinding) } else null ) ) @@ -181,8 +209,10 @@ tasks.register("createNewTestModule") { rootDir.set(file("./")) val moduleName = project.property("module_name").toString() val packageName = project.property(if (project.hasProperty("package_name")) "package_name" else "module_name").toString() + val includeJVM = project.hasProperty("include-jvm") + val includeJS = project.hasProperty("include-js") configurations.set( - listOf(NewModule.Configuration(moduleName, packageName, NewModule.Templates.Test)) + listOf(NewModule.Configuration(moduleName, packageName, includeJVM, includeJS, NewModule.Templates.Test)) ) } } @@ -194,7 +224,7 @@ tasks.register("createNewComposeModule") { val moduleName = project.property("module_name").toString() val packageName = project.property(if (project.hasProperty("package_name")) "package_name" else "module_name").toString() configurations.set( - listOf(NewModule.Configuration(moduleName, packageName, NewModule.Templates.Compose)) + listOf(NewModule.Configuration(moduleName, packageName, includeJVM = false, includeJS = false, template = NewModule.Templates.Compose)) ) } } @@ -206,7 +236,7 @@ tasks.register("createNewDataBindingModule") { val moduleName = project.property("module_name").toString() val packageName = project.property(if (project.hasProperty("package_name")) "package_name" else "module_name").toString() configurations.set( - listOf(NewModule.Configuration(moduleName, packageName, NewModule.Templates.Databinding)) + listOf(NewModule.Configuration(moduleName, packageName, includeJVM = false, includeJS = false, template = NewModule.Templates.Databinding)) ) } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index afa30cb1b..6f9e6eb69 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Oct 10 09:58:47 CEST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/hud/api/androidLib/hud.api b/hud/api/hud.api similarity index 100% rename from hud/api/androidLib/hud.api rename to hud/api/hud.api diff --git a/hud/api/jvm/hud.api b/hud/api/jvm/hud.api deleted file mode 100644 index f55cfaad1..000000000 --- a/hud/api/jvm/hud.api +++ /dev/null @@ -1,73 +0,0 @@ -public abstract class com/splendo/kaluga/hud/BaseHUD : kotlinx/coroutines/CoroutineScope { - public fun (Lkotlinx/coroutines/CoroutineScope;)V - public abstract fun dismiss (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun dismiss$default (Lcom/splendo/kaluga/hud/BaseHUD;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - public abstract fun getHudConfig ()Lcom/splendo/kaluga/hud/HudConfig; - public abstract fun isVisible ()Z - public abstract fun present (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun present$default (Lcom/splendo/kaluga/hud/BaseHUD;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; -} - -public abstract class com/splendo/kaluga/hud/BaseHUD$Builder : com/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable { - public fun ()V - public abstract fun create (Lcom/splendo/kaluga/hud/HudConfig;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/hud/BaseHUD; -} - -public final class com/splendo/kaluga/hud/HUD : com/splendo/kaluga/hud/BaseHUD { - public fun (Lcom/splendo/kaluga/hud/HudConfig;Lkotlinx/coroutines/CoroutineScope;)V - public fun dismiss (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun getHudConfig ()Lcom/splendo/kaluga/hud/HudConfig; - public fun isVisible ()Z - public fun present (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/hud/HUD$Builder : com/splendo/kaluga/hud/BaseHUD$Builder { - public fun ()V - public synthetic fun create (Lcom/splendo/kaluga/hud/HudConfig;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/hud/BaseHUD; - public fun create (Lcom/splendo/kaluga/hud/HudConfig;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/hud/HUD; -} - -public final class com/splendo/kaluga/hud/HUDKt { - public static final fun build (Lcom/splendo/kaluga/hud/BaseHUD$Builder;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/hud/BaseHUD; - public static synthetic fun build$default (Lcom/splendo/kaluga/hud/BaseHUD$Builder;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/hud/BaseHUD; - public static final fun dismissAfter (Lcom/splendo/kaluga/hud/BaseHUD;JZ)Lcom/splendo/kaluga/hud/BaseHUD; - public static synthetic fun dismissAfter$default (Lcom/splendo/kaluga/hud/BaseHUD;JZILjava/lang/Object;)Lcom/splendo/kaluga/hud/BaseHUD; - public static final fun dismissAfter-8Mi8wO0 (Lcom/splendo/kaluga/hud/BaseHUD;JZ)Lcom/splendo/kaluga/hud/BaseHUD; - public static synthetic fun dismissAfter-8Mi8wO0$default (Lcom/splendo/kaluga/hud/BaseHUD;JZILjava/lang/Object;)Lcom/splendo/kaluga/hud/BaseHUD; - public static final fun getStyle (Lcom/splendo/kaluga/hud/BaseHUD;)Lcom/splendo/kaluga/hud/HUDStyle; - public static final fun getTitle (Lcom/splendo/kaluga/hud/BaseHUD;)Ljava/lang/String; - public static final fun presentDuring (Lcom/splendo/kaluga/hud/BaseHUD;ZLkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun presentDuring$default (Lcom/splendo/kaluga/hud/BaseHUD;ZLkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/hud/HUDStyle : java/lang/Enum { - public static final field CUSTOM Lcom/splendo/kaluga/hud/HUDStyle; - public static final field SYSTEM Lcom/splendo/kaluga/hud/HUDStyle; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/hud/HUDStyle; - public static fun values ()[Lcom/splendo/kaluga/hud/HUDStyle; -} - -public final class com/splendo/kaluga/hud/HudConfig { - public fun ()V - public fun (Lcom/splendo/kaluga/hud/HUDStyle;Ljava/lang/String;)V - public synthetic fun (Lcom/splendo/kaluga/hud/HUDStyle;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/hud/HUDStyle; - public final fun component2 ()Ljava/lang/String; - public final fun copy (Lcom/splendo/kaluga/hud/HUDStyle;Ljava/lang/String;)Lcom/splendo/kaluga/hud/HudConfig; - public static synthetic fun copy$default (Lcom/splendo/kaluga/hud/HudConfig;Lcom/splendo/kaluga/hud/HUDStyle;Ljava/lang/String;ILjava/lang/Object;)Lcom/splendo/kaluga/hud/HudConfig; - public fun equals (Ljava/lang/Object;)Z - public final fun getStyle ()Lcom/splendo/kaluga/hud/HUDStyle; - public final fun getTitle ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/hud/HudConfig$Builder { - public fun ()V - public final fun build ()Lcom/splendo/kaluga/hud/HudConfig; - public final fun setStyle (Lcom/splendo/kaluga/hud/HUDStyle;)Lcom/splendo/kaluga/hud/HudConfig$Builder; - public final fun setTitle (Ljava/lang/String;)Lcom/splendo/kaluga/hud/HudConfig$Builder; -} - diff --git a/hud/build.gradle.kts b/hud/build.gradle.kts index 4fccb25c6..949835b49 100644 --- a/hud/build.gradle.kts +++ b/hud/build.gradle.kts @@ -1,30 +1,24 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("hud") - -dependencies { - implementationDependency(Dependencies.AndroidX.Fragment) - debugImplementationDependency(Dependencies.AndroidX.FragmentKtx) -} - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "hud" + dependencies { + android { + main { + implementation(libs.androidx.fragment) + } + test { + implementation(libs.androidx.fragment.ktx) + } + } + common { + main { implementation(project(":architecture", "")) implementation(project(":base", "")) } - } - - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-hud", "")) } } diff --git a/hud/src/androidLibMain/kotlin/HUD.kt b/hud/src/androidLibMain/kotlin/HUD.kt index 6fa5ab170..513f13faa 100644 --- a/hud/src/androidLibMain/kotlin/HUD.kt +++ b/hud/src/androidLibMain/kotlin/HUD.kt @@ -52,7 +52,7 @@ import kotlin.coroutines.suspendCoroutine */ actual class HUD private constructor( @LayoutRes viewResId: Int, - override val hudConfig: HudConfig, + actual override val hudConfig: HudConfig, lifecycleManagerObserver: LifecycleManagerObserver, coroutineScope: CoroutineScope, ) : BaseHUD(coroutineScope) { @@ -181,9 +181,9 @@ actual class HUD private constructor( } } - override val isVisible get() = loadingDialog.isVisible + actual override val isVisible get() = loadingDialog.isVisible - override suspend fun present(animated: Boolean): HUD { + actual override suspend fun present(animated: Boolean): HUD { return suspendCoroutine { continuation -> loadingDialog.presentCompletionBlock = { continuation.resume(this) @@ -192,7 +192,7 @@ actual class HUD private constructor( } } - override suspend fun dismiss(animated: Boolean) { + actual override suspend fun dismiss(animated: Boolean) { suspendCoroutine { continuation -> loadingDialog.dismissCompletionBlock = { continuation.resume(Unit) diff --git a/hud/src/commonMain/kotlin/HUD.kt b/hud/src/commonMain/kotlin/HUD.kt index 39193c306..4e4ab9de1 100644 --- a/hud/src/commonMain/kotlin/HUD.kt +++ b/hud/src/commonMain/kotlin/HUD.kt @@ -103,6 +103,12 @@ expect class HUD : BaseHUD { */ override fun create(hudConfig: HudConfig, coroutineScope: CoroutineScope): HUD } + + override val isVisible: Boolean + override val hudConfig: HudConfig + + override suspend fun present(animated: Boolean): HUD + override suspend fun dismiss(animated: Boolean) } /** diff --git a/hud/src/iosMain/kotlin/HUD.kt b/hud/src/iosMain/kotlin/HUD.kt index 3158049cd..3022f6d83 100644 --- a/hud/src/iosMain/kotlin/HUD.kt +++ b/hud/src/iosMain/kotlin/HUD.kt @@ -176,10 +176,10 @@ actual class HUD private constructor( return result ?: viewController } - override val hudConfig: HudConfig = containerView.hudConfig - override val isVisible: Boolean get() = hudViewController.presentingViewController() != null + actual override val hudConfig: HudConfig = containerView.hudConfig + actual override val isVisible: Boolean get() = hudViewController.presentingViewController() != null - override suspend fun present(animated: Boolean): HUD = suspendCoroutine { continuation -> + actual override suspend fun present(animated: Boolean): HUD = suspendCoroutine { continuation -> if (!isVisible) { topViewController.presentViewController(hudViewController, animated) { continuation.resume(this) @@ -189,7 +189,7 @@ actual class HUD private constructor( } } - override suspend fun dismiss(animated: Boolean) = suspendCoroutine { continuation -> + actual override suspend fun dismiss(animated: Boolean) = suspendCoroutine { continuation -> if (isVisible) { hudViewController.presentingViewController?.dismissViewControllerAnimated(animated) { continuation.resume(Unit) diff --git a/hud/src/jsMain/kotlin/HUD.kt b/hud/src/jsMain/kotlin/HUD.kt deleted file mode 100644 index aecc97777..000000000 --- a/hud/src/jsMain/kotlin/HUD.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.hud - -import kotlinx.coroutines.CoroutineScope - -/** - * Default [BaseHUD] implementation. - */ -actual class HUD(override val hudConfig: HudConfig, coroutineScope: CoroutineScope) : BaseHUD(coroutineScope) { - - /** - * Builder class for creating a [HUD] - */ - actual class Builder : BaseHUD.Builder() { - - /** - * Creates a [HUD] based on [hudConfig]. - * @param hudConfig The [HudConfig] to apply to the [HUD]. - * @param coroutineScope The [CoroutineScope] managing the lifecycle of the HUD. - * @return the created [HUD] - */ - actual override fun create(hudConfig: HudConfig, coroutineScope: CoroutineScope) = HUD(hudConfig, coroutineScope) - } - - private var _isVisible: Boolean = false - override val isVisible: Boolean get() = _isVisible - - override suspend fun present(animated: Boolean): HUD = apply { - _isVisible = true - } - - override suspend fun dismiss(animated: Boolean) { - _isVisible = false - } -} diff --git a/hud/src/jvmMain/kotlin/HUD.kt b/hud/src/jvmMain/kotlin/HUD.kt deleted file mode 100644 index aecc97777..000000000 --- a/hud/src/jvmMain/kotlin/HUD.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.hud - -import kotlinx.coroutines.CoroutineScope - -/** - * Default [BaseHUD] implementation. - */ -actual class HUD(override val hudConfig: HudConfig, coroutineScope: CoroutineScope) : BaseHUD(coroutineScope) { - - /** - * Builder class for creating a [HUD] - */ - actual class Builder : BaseHUD.Builder() { - - /** - * Creates a [HUD] based on [hudConfig]. - * @param hudConfig The [HudConfig] to apply to the [HUD]. - * @param coroutineScope The [CoroutineScope] managing the lifecycle of the HUD. - * @return the created [HUD] - */ - actual override fun create(hudConfig: HudConfig, coroutineScope: CoroutineScope) = HUD(hudConfig, coroutineScope) - } - - private var _isVisible: Boolean = false - override val isVisible: Boolean get() = _isVisible - - override suspend fun present(animated: Boolean): HUD = apply { - _isVisible = true - } - - override suspend fun dismiss(animated: Boolean) { - _isVisible = false - } -} diff --git a/kaluga-library-components/build.gradle.kts b/kaluga-library-components/build.gradle.kts index f5b6e3214..e104ee84f 100644 --- a/kaluga-library-components/build.gradle.kts +++ b/kaluga-library-components/build.gradle.kts @@ -1,11 +1,12 @@ -import org.jetbrains.kotlin.konan.file.File -import org.jetbrains.kotlin.konan.properties.loadProperties +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-gradle-plugin` `kotlin-dsl` `kotlin-dsl-precompiled-script-plugins` + `version-catalog` `maven-publish` + alias(libs.plugins.kotlinter) } repositories { @@ -15,26 +16,38 @@ repositories { } gradlePlugin { - plugins.register("kaluga-library-components") { - id = "kaluga-library-components" - implementationClass = "LibraryComponentsPlugin" + plugins.register("com.splendo.kaluga.plugin") { + id = "com.splendo.kaluga.plugin" + implementationClass = "com.splendo.kaluga.plugin.MultiplatformLibraryComponentsPlugin" + } + plugins.register("com.splendo.kaluga.plugin.android.compose") { + id = "com.splendo.kaluga.plugin.android.compose" + implementationClass = "com.splendo.kaluga.plugin.ComposeAndroidLibraryComponentsPlugin" + } + plugins.register("com.splendo.kaluga.plugin.android.databinding") { + id = "com.splendo.kaluga.plugin.android.databinding" + implementationClass = "com.splendo.kaluga.plugin.DatabindingAndroidLibraryComponentsPlugin" } } kotlin { - jvmToolchain(17) + jvmToolchain(libs.versions.java.get().toInt()) } dependencies { + implementation(libs.android.gradle) + implementation(libs.compose.gradle) + implementation(libs.dependencycheck.gradle) + implementation(libs.dokka.gradle) + implementation(libs.kotlin.gradle) + implementation(libs.kotlinter.gradle) + implementation(libs.kotlinx.atomicfu.gradle) + implementation(libs.kotlinx.binarycompatibilityvalidator.gradle) + implementation(libs.kotlinx.kover.gradle) +} - val properties = File("${rootDir.absolutePath}/../gradle.properties").loadProperties() - val kotlinVersion = properties["kaluga.kotlinVersion"] as String - val androidGradleVersion = properties["kaluga.androidGradlePluginVersion"] as String - val kotlinterVersion = properties["kaluga.kotlinterGradlePluginVersion"] as String - logger.lifecycle("Kotlin version $kotlinVersion") +val compileKotlin: KotlinCompile by tasks - // mostly migrated to new style plugin declarations, but some cross plugin interaction still requires this - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") - implementation("com.android.tools.build:gradle:$androidGradleVersion") - implementation("org.jmailen.gradle:kotlinter-gradle:$kotlinterVersion") -} +compileKotlin.kotlinOptions { + languageVersion = "2.0" +} \ No newline at end of file diff --git a/convention-plugins/keys/secret-keys.gpg b/kaluga-library-components/keys/secret-keys.gpg similarity index 100% rename from convention-plugins/keys/secret-keys.gpg rename to kaluga-library-components/keys/secret-keys.gpg diff --git a/kaluga-library-components/settings.gradle b/kaluga-library-components/settings.gradle index e69de29bb..0b9fe860d 100644 --- a/kaluga-library-components/settings.gradle +++ b/kaluga-library-components/settings.gradle @@ -0,0 +1,7 @@ +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + from(files("../libs.versions.toml")) + } + } +} \ No newline at end of file diff --git a/kaluga-library-components/src/main/kotlin/Accessors.kt b/kaluga-library-components/src/main/kotlin/Accessors.kt deleted file mode 100644 index db6d26f9c..000000000 --- a/kaluga-library-components/src/main/kotlin/Accessors.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import com.android.build.gradle.LibraryExtension -import com.android.build.gradle.internal.dsl.BaseAppModuleExtension -import org.gradle.api.Action -import org.gradle.api.Project -import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension -import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension - -fun Project.androidApp(action: BaseAppModuleExtension.() -> Unit) { - configureAction("android", action) -} - -fun Project.androidLibrary(action: LibraryExtension.() -> Unit) { - configureAction("android", action) -} - -fun Project.kotlinAndroid(action: KotlinAndroidProjectExtension.() -> Unit) { - configureAction("kotlin", action) -} - -fun Project.kotlinMultiplatform(action: KotlinMultiplatformExtension.() -> Unit) { - configureAction("kotlin", action) -} - -fun Project.publishing(action: org.gradle.api.publish.PublishingExtension.() -> Unit) { - configureAction("publishing", action) -} - -fun LibraryExtension.kotlinOptions(action: org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions.() -> Unit): Unit = - (this as org.gradle.api.plugins.ExtensionAware).configureAction("kotlinOptions", action) - -private inline fun org.gradle.api.plugins.ExtensionAware.configureAction(fieldName: String, crossinline action: T.() -> Unit) { - val optionsAction = object : Action { - override fun execute(t: T) { - t.action() - } - } - extensions.configure(fieldName, optionsAction) -} diff --git a/kaluga-library-components/src/main/kotlin/AndroidCommon.kt b/kaluga-library-components/src/main/kotlin/AndroidCommon.kt deleted file mode 100644 index aeae94f24..000000000 --- a/kaluga-library-components/src/main/kotlin/AndroidCommon.kt +++ /dev/null @@ -1,109 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import com.android.build.gradle.LibraryExtension -import org.gradle.api.JavaVersion -import org.gradle.kotlin.dsl.dependencies - -fun org.gradle.api.Project.commonAndroidComponent(type: ComponentType = ComponentType.Default, packageName: String) { - androidLibrary { - androidCommon(this@commonAndroidComponent, type, packageName) - } - - dependencies { - implementationDependency(Dependencies.KotlinX.Coroutines.Android) - implementationDependency(Dependencies.AndroidX.AppCompat) - implementationDependency(Dependencies.AndroidX.Activity.Ktx) - - testImplementationDependency(Dependencies.JUnit) - testImplementationDependency(Dependencies.Mockito.Core) - testImplementationDependency(Dependencies.ByteBuddy.Agent) - testImplementationDependency(Dependencies.Kotlin.Test) - testImplementationDependency(Dependencies.Kotlin.JUnit) - - androidTestImplementationDependency(Dependencies.Mockito.Core) - androidTestImplementationDependency(Dependencies.Mockito.Android) - androidTestImplementationDependency(Dependencies.ByteBuddy.Android) - androidTestImplementationDependency(Dependencies.ByteBuddy.Agent) - - androidTestImplementationDependency(Dependencies.AndroidX.Test.Core) - androidTestImplementationDependency(Dependencies.AndroidX.Test.CoreKtx) - androidTestImplementationDependency(Dependencies.AndroidX.Test.UIAutomator) - androidTestImplementationDependency(Dependencies.AndroidX.Test.Rules) - androidTestImplementationDependency(Dependencies.AndroidX.Test.JUnit) - androidTestImplementationDependency(Dependencies.AndroidX.Test.Runner) - androidTestImplementationDependency(Dependencies.AndroidX.Test.Espresso) - androidTestImplementationDependency(Dependencies.Kotlin.Test) - androidTestImplementationDependency(Dependencies.Kotlin.JUnit) - } -} - -fun LibraryExtension.androidCommon(project: org.gradle.api.Project, componentType: ComponentType = ComponentType.Default, packageName: String) { - compileSdk = LibraryImpl.Android.compileSdk - buildToolsVersion = LibraryImpl.Android.buildTools - namespace = "${project.Library.group}.$packageName" - - defaultConfig { - minSdk = LibraryImpl.Android.minSdk - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - } - - signingConfigs { - create("stableDebug") { - storeFile = project.rootProject.file("keystore/stableDebug.keystore") - storePassword = "stableDebug" - keyAlias = "stableDebug" - keyPassword = "stableDebug" - } - } - - buildTypes { - release { - isMinifyEnabled = false - } - debug { - signingConfig = signingConfigs.getByName("stableDebug") - } - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - - when (componentType) { - is ComponentType.Compose -> { - project.logger.lifecycle("This project module is a Compose only module") - buildFeatures { - compose = true - } - composeOptions { - kotlinCompilerExtensionVersion = LibraryImpl.Android.composeCompiler - } - } - is ComponentType.DataBinding -> { - project.logger.lifecycle("This project module is a Databinding only module") - buildFeatures { - dataBinding { - enable = true - } - } - } - is ComponentType.Default-> {} - } -} diff --git a/kaluga-library-components/src/main/kotlin/AndroidCompose.kt b/kaluga-library-components/src/main/kotlin/AndroidCompose.kt deleted file mode 100644 index 9e327a5f5..000000000 --- a/kaluga-library-components/src/main/kotlin/AndroidCompose.kt +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import org.gradle.kotlin.dsl.dependencies - -fun org.gradle.api.Project.composeAndroidComponent(packageName: String) { - group = Library.group - version = Library.version - commonAndroidComponent(ComponentType.Compose, packageName) - dependencies { - implementationDependency(Dependencies.AndroidX.Compose.Foundation) - implementationDependency(Dependencies.AndroidX.Compose.UI) - implementationDependency(Dependencies.AndroidX.Compose.UITooling) - implementationDependency(Dependencies.AndroidX.Lifecycle.ViewModelCompose) - implementationDependency(Dependencies.AndroidX.Activity.Compose) - } - - kotlinAndroid { - - sourceSets.all { - languageSettings { - optIn("androidx.compose.material.ExperimentalMaterialApi") - } - } - } - - androidLibrary { - kotlinOptions { - jvmTarget = "11" - } - } - - publish(ComponentType.Compose) -} diff --git a/kaluga-library-components/src/main/kotlin/AndroidDatabinding.kt b/kaluga-library-components/src/main/kotlin/AndroidDatabinding.kt deleted file mode 100644 index 2b9a5cf09..000000000 --- a/kaluga-library-components/src/main/kotlin/AndroidDatabinding.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -fun org.gradle.api.Project.databindingAndroidComponent(packageName: String) { - group = Library.group - version = Library.version - commonAndroidComponent(ComponentType.DataBinding, packageName) - - androidLibrary { - kotlinOptions { - jvmTarget = "11" - } - } - - publish(ComponentType.DataBinding) -} \ No newline at end of file diff --git a/kaluga-library-components/src/main/kotlin/BaseAndroidLibraryComponentsPlugin.kt b/kaluga-library-components/src/main/kotlin/BaseAndroidLibraryComponentsPlugin.kt new file mode 100644 index 000000000..75a5c5add --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/BaseAndroidLibraryComponentsPlugin.kt @@ -0,0 +1,33 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin + +import com.splendo.kaluga.plugin.extensions.BaseKalugaAndroidSubprojectExtension +import org.gradle.api.plugins.PluginManager +import org.gradle.kotlin.dsl.apply +import org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper + +abstract class BaseAndroidLibraryComponentsPlugin : BaseLibraryComponentsPlugin() { + + override fun PluginManager.addSubprojectExtensionPlugins() { + apply(KotlinAndroidPluginWrapper::class) + addAndroidExtensionPlugins() + } + + protected abstract fun PluginManager.addAndroidExtensionPlugins() +} diff --git a/kaluga-library-components/src/main/kotlin/BaseLibraryComponentsPlugin.kt b/kaluga-library-components/src/main/kotlin/BaseLibraryComponentsPlugin.kt new file mode 100644 index 000000000..1c852bc3b --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/BaseLibraryComponentsPlugin.kt @@ -0,0 +1,90 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin + +import com.android.build.gradle.LibraryExtension +import com.android.build.gradle.LibraryPlugin +import com.splendo.kaluga.plugin.extensions.BaseKalugaSubprojectExtension +import com.splendo.kaluga.plugin.extensions.KalugaRootExtension +import kotlinx.kover.gradle.plugin.KoverGradlePlugin +import kotlinx.validation.BinaryCompatibilityValidatorPlugin +import org.gradle.api.InvalidUserDataException +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.UnknownDomainObjectException +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.artifacts.VersionCatalogsExtension +import org.gradle.api.plugins.PluginManager +import org.gradle.api.publish.maven.plugins.MavenPublishPlugin +import org.gradle.kotlin.dsl.apply +import org.gradle.kotlin.dsl.create +import org.gradle.kotlin.dsl.findByType +import org.gradle.plugins.signing.SigningPlugin +import org.jetbrains.dokka.gradle.DokkaPlugin +import org.jmailen.gradle.kotlinter.KotlinterPlugin +import org.owasp.dependencycheck.gradle.DependencyCheckPlugin +import kotlin.reflect.KClass + +abstract class BaseLibraryComponentsPlugin : Plugin { + + companion object { + const val EXTENSION_NAME = "kaluga" + } + + protected abstract val subExtensionClass: KClass + + override fun apply(target: Project) = target.run { + val versionCatalog: VersionCatalog = try { + extensions.getByType(VersionCatalogsExtension::class.java).named("libs") + } catch (e: UnknownDomainObjectException) { + project.logger.error("Missing Version Catalog Extension. Make sure the version catalog provided by this plugin is linked to your project as \"libs\"") + throw e + } catch (e: InvalidUserDataException) { + project.logger.error( + "Missing Version Catalog named \"libs\". " + + "Make sure the version catalog provided by this plugin is linked to your project as \"libs\"", + ) + throw e + } + pluginManager.apply(MavenPublishPlugin::class) + pluginManager.apply(SigningPlugin::class) + pluginManager.apply(KotlinterPlugin::class) + pluginManager.apply(DependencyCheckPlugin::class) + pluginManager.apply(DokkaPlugin::class) + pluginManager.apply(KoverGradlePlugin::class) + + val kalugaExtension = when { + rootProject == this -> { + pluginManager.apply(BinaryCompatibilityValidatorPlugin::class) + extensions.create(EXTENSION_NAME, KalugaRootExtension::class, versionCatalog) + } + else -> { + pluginManager.apply(LibraryPlugin::class) + pluginManager.addSubprojectExtensionPlugins() + extensions.create(EXTENSION_NAME, subExtensionClass, versionCatalog, project.extensions.findByType(LibraryExtension::class)!!) + } + } + + kalugaExtension.beforeProjectEvaluated(this) + afterEvaluate { + kalugaExtension.afterProjectEvaluated(this) + } + } + + protected abstract fun PluginManager.addSubprojectExtensionPlugins() +} diff --git a/kaluga-library-components/src/main/kotlin/Component.kt b/kaluga-library-components/src/main/kotlin/Component.kt deleted file mode 100644 index fa6ac9be9..000000000 --- a/kaluga-library-components/src/main/kotlin/Component.kt +++ /dev/null @@ -1,256 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import com.android.build.gradle.LibraryExtension -import org.gradle.api.NamedDomainObjectContainer -import org.gradle.api.Project -import org.gradle.api.tasks.Copy -import org.gradle.kotlin.dsl.withType -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi -import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions -import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType -import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree -import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettings -import org.jetbrains.kotlin.gradle.plugin.mpp.Framework -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithSimulatorTests -import org.jmailen.gradle.kotlinter.tasks.LintTask - -sealed class ComponentType { - object Default : ComponentType() - object Compose : ComponentType() - object DataBinding : ComponentType() -} - -fun Project.commonComponent( - packageName: String, - iosMainInterop: (NamedDomainObjectContainer.() -> Unit)? = null, - iosTestInterop: (NamedDomainObjectContainer.() -> Unit)? = null, - iosExport: (Framework.() -> Unit)? = null -) { - group = Library.group - version = Library.version - kotlinMultiplatform { - commonMultiplatformComponent(this@commonComponent, iosMainInterop, iosTestInterop, iosExport) - } - - commonAndroidComponent(packageName = packageName) - androidLibrary { - commonMultiplatformComponentAndroid() - } - - task("printConfigurations") { - doLast { - configurations.all { println(this) } - } - } - - // output all reports to a single location - tasks.withType().configureEach { - reports.set(mapOf("plain" to rootProject.layout.buildDirectory.get().asFile.resolve("reports/ktlint/${project.path}-${this.name}.txt"))) - } - - afterEvaluate { - Library.IOS.targets.forEach { target -> - val targetName = target.sourceSetName - if (tasks.names.contains("linkDebugTest${targetName.replaceFirstChar { it.titlecase() } }")) { - // creating copy task for the target - val copyTask = tasks.create("copy${targetName.replaceFirstChar { it.titlecase() } }TestResources", Copy::class.java) { - from("src/iosTest/resources/.") - into("${layout.buildDirectory.get().asFile}/bin/$targetName/debugTest") - } - - // apply copy task to the target - tasks.named("linkDebugTest${targetName.replaceFirstChar { it.titlecase() }}") { - dependsOn(copyTask) - } - } - } - } - - if (Library.enableDependentProjects) { - parent?.subprojects?.filter { - it.name.startsWith("${project.name}-") || it.name.endsWith("-${project.name}") - }?.forEach { module -> - afterEvaluate { - logger.info("[connect_check_expansion] :${project.name}:connectedDebugAndroidTest dependsOn:${module.name}:connectedDebugAndroidTest") - tasks.getByPath("connectedDebugAndroidTest") - .dependsOn(":${module.name}:connectedDebugAndroidTest") - } - } - } -} - -@OptIn(ExperimentalKotlinGradlePluginApi::class) -fun KotlinMultiplatformExtension.commonMultiplatformComponent( - currentProject: Project, - iosMainInterop: (NamedDomainObjectContainer.() -> Unit)? = null, - iosTestInterop: (NamedDomainObjectContainer.() -> Unit)? = null, - iosExport: (Framework.() -> Unit)? = null -) { - targets.configureEach { - compilations.configureEach { - (kotlinOptions as? KotlinJvmOptions)?.jvmTarget = "11" - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" - } - } - - androidTarget("androidLib") { - instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test) - unitTestVariant.sourceSetTree.set(KotlinSourceSetTree.test) - publishAllLibraryVariants() - } - val target: KotlinNativeTarget.() -> Unit = - { - iosMainInterop?.let { mainInterop -> - compilations.getByName("main").cinterops.mainInterop() - } - iosTestInterop?.let { testInterop -> - compilations.getByName("test").cinterops.testInterop() - } - binaries { - iosExport?.let { iosExport -> - framework { - iosExport() - } - } - getTest("DEBUG").apply { - freeCompilerArgs = freeCompilerArgs + listOf("-e", "com.splendo.kaluga.test.base.mainBackground") - } - } - } - val targets = currentProject.Library.IOS.targets - targets.forEach { iosTarget -> - when (iosTarget) { - IOSTarget.X64 -> iosX64(target).applyTestDevice(currentProject) - IOSTarget.Arm64 -> iosArm64(target) - IOSTarget.SimulatorArm64 -> iosSimulatorArm64(target).applyTestDevice(currentProject) - } - } - - jvm() - js(KotlinJsCompilerType.IR) { - browser() - nodejs() - compilations.configureEach { - kotlinOptions { - metaInfo = true - sourceMap = true - moduleKind = "umd" - } - } - binaries.executable() - } - - applyDefaultHierarchyTemplate() - - sourceSets.getByName("commonMain").apply { - dependencies { - implementationDependency(Dependencies.KotlinX.Coroutines.Core) - } - } - - sourceSets.getByName("commonTest").apply { - dependencies { - implementation(kotlin("test")) - implementation(kotlin("test-common")) - implementation(kotlin("test-annotations-common")) - } - } - - sourceSets.getByName("jvmMain").apply { - dependencies { - implementation(kotlin("stdlib")) - implementationDependency(Dependencies.KotlinX.Coroutines.Swing) - } - } - - sourceSets.getByName("jvmTest").apply { - dependencies { - implementation(kotlin("test")) - implementation(kotlin("test-junit")) - } - } - - sourceSets.getByName("jsMain").apply { - dependencies { - implementation(kotlin("stdlib-js")) - implementationDependency(Dependencies.KotlinX.Coroutines.Js) - } - } - - sourceSets.getByName("jsTest").apply { - dependencies { - implementation(kotlin("test-js")) - } - } - - sourceSets.all { - languageSettings { - optIn("kotlinx.coroutines.DelicateCoroutinesApi") - optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - optIn("kotlinx.coroutines.ObsoleteCoroutinesApi") - optIn("kotlinx.coroutines.InternalCoroutinesApi") - optIn("kotlinx.coroutines.FlowPreview") - optIn("kotlin.ExperimentalUnsignedTypes") - optIn("kotlin.ExperimentalStdlibApi") - optIn("kotlin.time.ExperimentalTime") - optIn("kotlin.ExperimentalStdlibApi") - if (this@all.name.lowercase().contains("ios")) { - optIn("kotlinx.cinterop.ExperimentalForeignApi") - optIn("kotlinx.cinterop.BetaInteropApi") - optIn("kotlin.experimental.ExperimentalNativeApi") - } - enableLanguageFeature("InlineClasses") - } - } -} - -fun LibraryExtension.commonMultiplatformComponentAndroid() { - testOptions { - unitTests.isReturnDefaultValues = true - } - - packaging { - resources.excludes.addAll( - listOf( - "META-INF/kotlinx-coroutines-core.kotlin_module", - "META-INF/shared_debug.kotlin_module", - "META-INF/kotlinx-serialization-runtime.kotlin_module", - "META-INF/AL2.0", - "META-INF/LGPL2.1", - // bytebuddy 🤡 - "win32-x86-64/attach_hotspot_windows.dll", - "win32-x86/attach_hotspot_windows.dll", - "META-INF/licenses/ASM", - ), - ) - } -} - -fun KotlinNativeTargetWithSimulatorTests.applyTestDevice(project: Project) { - testRuns.all { - deviceId = project.Library.IOS.TestRunnerDeviceId - } -} - -val IOSTarget.sourceSetName: String get() = when (this) { - IOSTarget.X64 -> "iosX64" - IOSTarget.Arm64 -> "iosArm64" - IOSTarget.SimulatorArm64 -> "iosSimulatorArm64" -} diff --git a/kaluga-library-components/src/main/kotlin/ComposeAndroidLibraryComponentsPlugin.kt b/kaluga-library-components/src/main/kotlin/ComposeAndroidLibraryComponentsPlugin.kt new file mode 100644 index 000000000..49c6d02c7 --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/ComposeAndroidLibraryComponentsPlugin.kt @@ -0,0 +1,32 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin + +import com.splendo.kaluga.plugin.extensions.ComposeKalugaAndroidSubprojectExtension +import org.gradle.api.plugins.PluginManager +import org.gradle.kotlin.dsl.apply +import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradleSubplugin +import kotlin.reflect.KClass + +class ComposeAndroidLibraryComponentsPlugin : BaseAndroidLibraryComponentsPlugin() { + override val subExtensionClass: KClass = ComposeKalugaAndroidSubprojectExtension::class + + override fun PluginManager.addAndroidExtensionPlugins() { + apply(ComposeCompilerGradleSubplugin::class) + } +} diff --git a/kaluga-library-components/src/main/kotlin/DatabindingAndroidLibraryComponentsPlugin.kt b/kaluga-library-components/src/main/kotlin/DatabindingAndroidLibraryComponentsPlugin.kt new file mode 100644 index 000000000..d2f75d38f --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/DatabindingAndroidLibraryComponentsPlugin.kt @@ -0,0 +1,32 @@ + +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin + +import com.android.build.gradle.internal.utils.KOTLIN_KAPT_PLUGIN_ID +import com.splendo.kaluga.plugin.extensions.DatabindingKalugaAndroidSubprojectExtension +import org.gradle.api.plugins.PluginManager +import kotlin.reflect.KClass + +class DatabindingAndroidLibraryComponentsPlugin : BaseAndroidLibraryComponentsPlugin() { + override val subExtensionClass: KClass = DatabindingKalugaAndroidSubprojectExtension::class + + override fun PluginManager.addAndroidExtensionPlugins() { + apply(KOTLIN_KAPT_PLUGIN_ID) + } +} diff --git a/kaluga-library-components/src/main/kotlin/Dependencies.kt b/kaluga-library-components/src/main/kotlin/Dependencies.kt deleted file mode 100644 index 72a8bba36..000000000 --- a/kaluga-library-components/src/main/kotlin/Dependencies.kt +++ /dev/null @@ -1,226 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import org.gradle.api.artifacts.ModuleDependency -import org.gradle.api.artifacts.dsl.DependencyHandler -import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler - -data class Dependency(val group: String, val name: String, val version: String? = null) { - val notation = "$group:$name${version?.let { ":$it" } ?: ""}" -} - -typealias ModuleDependencyHandler = ModuleDependency.() -> Unit - -fun KotlinDependencyHandler.apiDependency(dependency: Dependency, handler: ModuleDependencyHandler? = null) = api(dependency.notation) { - handler?.invoke(this) -} -fun KotlinDependencyHandler.implementationDependency(dependency: Dependency, handler: ModuleDependencyHandler? = null) = implementation(dependency.notation) { - handler?.invoke(this) -} - -fun DependencyHandler.apiDependency(dependency: Dependency, handler: ModuleDependencyHandler? = null) { - add("api", dependency.notation).apply { - (this as? ModuleDependency)?.let { - handler?.invoke(it) - } - } -} -fun DependencyHandler.implementationDependency(dependency: Dependency, handler: ModuleDependencyHandler? = null) { - add("implementation", dependency.notation).apply { - (this as? ModuleDependency)?.let { - handler?.invoke(it) - } - } -} -fun DependencyHandler.debugImplementationDependency(dependency: Dependency, handler: ModuleDependencyHandler? = null) { - add("debugImplementation", dependency.notation).apply { - (this as? ModuleDependency)?.let { - handler?.invoke(it) - } - } -} -fun DependencyHandler.testImplementationDependency(dependency: Dependency, handler: ModuleDependencyHandler? = null) { - add("testImplementation", dependency.notation).apply { - (this as? ModuleDependency)?.let { - handler?.invoke(it) - } - } -} -fun DependencyHandler.androidTestImplementationDependency(dependency: Dependency, handler: ModuleDependencyHandler? = null) { - add("androidTestImplementation", dependency.notation).apply { - (this as? ModuleDependency)?.let { - handler?.invoke(it) - } - } -} - -object Dependencies { - - object Kotlin { - private const val group = "org.jetbrains.kotlin" - val Test = Dependency(group, "kotlin-test") - val JUnit = Dependency(group, "kotlin-test-junit") - } - - object KotlinX { - - private const val group = "org.jetbrains.kotlinx" - - object Coroutines { - private const val version = "1.8.0" - val Android = Dependency(group, "kotlinx-coroutines-android", version) - val Core = Dependency(group, "kotlinx-coroutines-core", version) - val Swing = Dependency(group, "kotlinx-coroutines-swing", version) - val Js = Dependency(group, "kotlinx-coroutines-core-js", version) - val PlayServices = Dependency(group, "kotlinx-coroutines-play-services", version) - val Test = Dependency(group, "kotlinx-coroutines-test", version) - val Debug = Dependency(group, "kotlinx-coroutines-debug", version) - } - - object Serialization { - private const val version = "1.6.3" - val Core = Dependency(group, "kotlinx-serialization-core", version) - val Json = Dependency(group, "kotlinx-serialization-json", version) - } - - val AtomicFu = Dependency(group, "atomicfu", "0.24.0") - } - - object Accompanist { - private const val groupBase = "com.google.accompanist" - private const val version = "0.34.0" - - val DrawablePainter = Dependency(groupBase, "accompanist-drawablepainter", version) - val MaterialThemeAdapter = Dependency(groupBase, "accompanist-themeadapter-material", version) - } - - object Android { - internal const val groupBase = "com.google.android" - private const val materialBase = "$groupBase.material" - - val Material = Dependency(materialBase, "material", "1.12.0") - - object Play { - private const val group = "$groupBase.play" - val Core = Dependency(group, "core", "1.10.3") - val CoreKtx = Dependency(group, "core-ktx", "1.8.1") - } - object PlayServices { - private const val group = "$groupBase.gms" - private const val version = "21.2.0" - val Location = Dependency(group, "play-services-location", version) - } - } - - object AndroidX { - - private const val groupBase = "androidx" - private const val fragmentGroup = "$groupBase.fragment" - private const val fragmentVersion = "1.7.1" - - object Activity { - private const val group = "$groupBase.activity" - private const val version = "1.9.0" - val Activity = Dependency(group, "activity", version) - val Ktx = Dependency(group, "activity-ktx", version) - val Compose = Dependency(group, "activity-compose", version) - } - val AppCompat = Dependency("$groupBase.appcompat", "appcompat", "1.7.0") - val ArchCore = Dependency("$groupBase.arch.core", "core-testing", "2.2.0") - val Browser = Dependency("$groupBase.browser", "browser", "1.8.0") - object Compose { - private const val version = "1.6.7" - private const val uiVersion = "1.6.7" - private const val composeGroupBase = "$groupBase.compose" - - val Foundation = Dependency("$composeGroupBase.foundation", "foundation", version) - val Material = Dependency("$composeGroupBase.material", "material", version) - val UI = Dependency("$composeGroupBase.ui", "ui", uiVersion) - val UITooling = Dependency("$composeGroupBase.ui", "ui-tooling", uiVersion) - val UIToolingPreview = Dependency("$composeGroupBase.ui", "ui-tooling-preview", uiVersion) - } - val ConstraintLayout = Dependency("$groupBase.constraintlayout", "constraintlayout", "2.1.4") - val Core = Dependency("$groupBase.core", "core", "1.13.1") - val Fragment = Dependency(fragmentGroup, "fragment", fragmentVersion) - val FragmentKtx = Dependency(fragmentGroup, "fragment-ktx", fragmentVersion) - object Lifecycle { - private const val group = "$groupBase.lifecycle" - private const val version = "2.8.1" - - val LiveData = Dependency(group, "lifecycle-livedata-ktx", version) - val Runtime = Dependency(group, "lifecycle-runtime-ktx", version) - val Service = Dependency(group, "lifecycle-service", version) - val ViewModel = Dependency(group, "lifecycle-viewmodel-ktx", version) - val ViewModelCompose = Dependency(group, "lifecycle-viewmodel-compose", version) - } - object Navigation { - private const val group = "$groupBase.navigation" - private const val version = "2.7.7" - - val Compose = Dependency(group, "navigation-compose", version) - } - object Test { - private const val group = "$groupBase.test" - private const val versionPostfix = "" - private const val version = "1.5.0$versionPostfix" - private const val runnerVersion = "1.5.2$versionPostfix" - private const val espressoVersion = "3.5.1$versionPostfix" - private const val junitVersion = "1.1.5$versionPostfix" - private const val uiAutomatorVersion = "2.3.0" - - val Core = Dependency(group, "core", version) - val CoreKtx = Dependency(group, "core-ktx", version) - val Espresso = Dependency("$group.espresso", "espresso-core", espressoVersion) - val JUnit = Dependency("$group.ext", "junit", junitVersion) - val Rules = Dependency(group, "rules", version) - val Runner = Dependency(group, "runner", runnerVersion) - val UIAutomator = Dependency("$group.uiautomator", "uiautomator", uiAutomatorVersion) - } - } - - val BLEScanner = Dependency("no.nordicsemi.android.support.v18", "scanner", "1.6.0") - - object Koin { - private const val group = "io.insert-koin" - private const val version = "3.5.6" - private const val androidVersion = "3.5.6" - private const val composeVersion = "3.5.6" - val Android = Dependency(group, "koin-android", androidVersion) - val AndroidXCompose = Dependency(group, "koin-androidx-compose", composeVersion) - val Core = Dependency(group, "koin-core", version) - } - - val Napier = Dependency("io.github.aakira", "napier", "2.7.1") - - val JUnit = Dependency("junit", "junit", "4.13.2") - - object Mockito { - private const val group = "org.mockito" - private const val version = "5.11.0" - - val Android = Dependency(group, "mockito-android", version) - val Core = Dependency(group, "mockito-core", version) - } - - object ByteBuddy { - private const val group = "net.bytebuddy" - private const val version = "1.14.15" - - val Android = Dependency(group, "byte-buddy-android", version) - val Agent = Dependency(group, "byte-buddy-agent", version) - } -} diff --git a/kaluga-library-components/src/main/kotlin/Library.kt b/kaluga-library-components/src/main/kotlin/Library.kt deleted file mode 100644 index 3cb89c626..000000000 --- a/kaluga-library-components/src/main/kotlin/Library.kt +++ /dev/null @@ -1,127 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import org.gradle.api.Project -import org.gradle.api.logging.Logger -import org.gradle.kotlin.dsl.extra -import org.jetbrains.kotlin.konan.file.File -import org.jetbrains.kotlin.konan.properties.Properties -import org.jetbrains.kotlin.konan.properties.loadProperties -import java.io.IOException - -private val libraries: MutableMap = mutableMapOf() - -/** - * Gets a [LibraryImpl] for the [Project]. Only creates a new instance of the Library if none exist yet, to speed up the build process - */ -val Project.Library get() = libraries.getOrPut(this) { LibraryImpl(this) } - -class LibraryImpl(project: Project) { - - private val props: Properties = File("${project.rootProject.layout.buildDirectory.asFile.get().absolutePath}/../local.properties").let { file -> - if (file.exists) { - file.loadProperties() - } else { - Properties() - } - } - private val logger = project.logger - private val baseVersion = "1.4.0" - val group = "com.splendo.kaluga" - val version: String by lazy { - val libraryVersionLocalProperties: String? = props["kaluga.libraryVersion"] as? String - (libraryVersionLocalProperties ?: "$baseVersion${project.GitBranch.kalugaBranchPostfix}").also { - logger.info("Library version $it") - } - } - val kotlinVersion = project.extra["kaluga.kotlinVersion"] as? String ?: kotlin.run { - logger.lifecycle("Missing kotlin version") - throw IOException("Provide kaluga.kotlinVersion in your gradle.properties") - } - - object Android { - const val minSdk = 23 - const val compileSdk = 34 - const val targetSdk = 34 - const val buildTools = "34.0.0" - const val composeCompiler = "1.5.14" - } - - class IOSLibrary(props: Properties, logger: Logger) { - // based on https://github.com/Kotlin/xcode-compat/blob/d677a43edc46c50888bca0a7890a81f976a42809/xcode-compat/src/main/kotlin/org/jetbrains/kotlin/xcodecompat/XcodeCompatPlugin.kt#L16 - val sdkName = System.getenv("SDK_NAME") ?: "unknown" - val isRealIOSDevice = sdkName.startsWith("iphoneos").also { - logger.info("Run on real ios device: $it from sdk: $sdkName") - } - - // Run on IntelliJ - val ideaActive = (System.getProperty("idea.active") == "true").also { - logger.info("Run on IntelliJ: $it") - } - - // Run on apple silicon - val isAppleSilicon = (System.getProperty("os.arch") == "aarch64").also { - logger.info("Run on apple silicon: $it") - } - - val targets = when { - !ideaActive -> IOSTarget.values().toSet() - isRealIOSDevice -> setOf(IOSTarget.Arm64) - isAppleSilicon -> setOf(IOSTarget.SimulatorArm64) - else -> setOf(IOSTarget.X64) - }.also { targets -> - logger.info("Run on ios targets: ${targets.joinToString(" ") { it.name }}") - } - - val TestRunnerDeviceId by lazy { - if (System.getenv().containsKey("IOS_TEST_RUNNER_DEVICE_ID")) { - System.getenv()["IOS_TEST_RUNNER_DEVICE_ID"].also { - logger.lifecycle("System env IOS_TEST_RUNNER_DEVICE_ID set to ${System.getenv()["IOS_TEST_RUNNER_DEVICE_ID"]}, using $it") - }!! - } else { - // load some more from local.properties or set defaults. - val iosTestRunnerDeviceIdLocalProperty: String? = - props["kaluga.iosTestRunnerDeviceIdLocalProperty"] as? String - iosTestRunnerDeviceIdLocalProperty?.also { - logger.lifecycle("local.properties read (kaluga.iosTestRunnerDeviceIdLocalProperty=$iosTestRunnerDeviceIdLocalProperty, using $it)") - } - ?: "iPhone 15".also { - logger.info("local.properties not found, using default value ($it)") - } - } - } - } - val IOS = IOSLibrary(props, logger) - - private val testDependentProjectsEnvName = "TEST_DEPENDENT_PROJECTS" - private val testDependentProjects = System.getenv().containsKey(testDependentProjectsEnvName) - - private val onCiEnvName = "CI" - private val onCI = System.getenv().containsKey(onCiEnvName) - - val enableDependentProjects = (testDependentProjects or onCI).also { - if (it) { - logger.info("Adding extra dependent tasks to test tasks of similarly named modules ($testDependentProjectsEnvName env present: $testDependentProjects $onCiEnvName env present: $onCI)") - } - } -} - -enum class IOSTarget { - X64, - Arm64, - SimulatorArm64, -} diff --git a/kaluga-library-components/src/main/kotlin/MultiplatformLibraryComponentsPlugin.kt b/kaluga-library-components/src/main/kotlin/MultiplatformLibraryComponentsPlugin.kt new file mode 100644 index 000000000..2487da42f --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/MultiplatformLibraryComponentsPlugin.kt @@ -0,0 +1,33 @@ +/* + Copyright 2022 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin + +import com.splendo.kaluga.plugin.extensions.KalugaMultiplatformSubprojectExtension +import org.gradle.api.plugins.PluginManager +import org.gradle.kotlin.dsl.apply +import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper +import kotlin.reflect.KClass + +class MultiplatformLibraryComponentsPlugin : BaseLibraryComponentsPlugin() { + + override val subExtensionClass: KClass = KalugaMultiplatformSubprojectExtension::class + + override fun PluginManager.addSubprojectExtensionPlugins() { + apply(KotlinMultiplatformPluginWrapper::class) + } +} diff --git a/kaluga-library-components/src/main/kotlin/Publish.kt b/kaluga-library-components/src/main/kotlin/Publish.kt deleted file mode 100644 index d37964af8..000000000 --- a/kaluga-library-components/src/main/kotlin/Publish.kt +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import org.gradle.api.Project -import org.gradle.api.publish.maven.MavenPublication -import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven -import org.gradle.plugins.signing.Sign - -fun Project.publish(componentType: ComponentType = ComponentType.Default) { - afterEvaluate { - publishing { - publications { - logger.info("This project module will be published as: $componentType") - when (componentType) { - is ComponentType.Compose, - is ComponentType.DataBinding -> { - create("release", MavenPublication::class.java) { - from(components.getByName("release")) - - artifactId = project.name - groupId = Library.group - version = Library.version - } - create("debug", MavenPublication::class.java) { - from(components.getByName("debug")) - - artifactId = project.name - groupId = Library.group - version = Library.version - } - } - is ComponentType.Default -> { - getByName("kotlinMultiplatform") { - (this as MavenPublication).let { - artifactId = project.name - groupId = Library.group - version = Library.version - } - } - } - } - } - } - } - - tasks.withType(AbstractPublishToMaven::class.java).configureEach { - dependsOn(tasks.withType(Sign::class.java)) - } -} diff --git a/kaluga-library-components/src/main/kotlin/PublishableComponent.kt b/kaluga-library-components/src/main/kotlin/PublishableComponent.kt deleted file mode 100644 index 73c6e3a4e..000000000 --- a/kaluga-library-components/src/main/kotlin/PublishableComponent.kt +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -import org.gradle.api.NamedDomainObjectContainer -import org.gradle.api.Project -import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettings - -fun Project.publishableComponent( - packageName: String, - iosMainInterop: (NamedDomainObjectContainer.() -> Unit)? = null, - iosTestInterop: (NamedDomainObjectContainer.() -> Unit)? = null, -) { - commonComponent(packageName, iosMainInterop, iosTestInterop) - publish() -} \ No newline at end of file diff --git a/kaluga-library-components/src/main/kotlin/container/AppleInteropContainer.kt b/kaluga-library-components/src/main/kotlin/container/AppleInteropContainer.kt new file mode 100644 index 000000000..ece983d4b --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/container/AppleInteropContainer.kt @@ -0,0 +1,39 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.container + +import org.gradle.api.Action +import org.gradle.api.NamedDomainObjectContainer +import org.gradle.api.model.ObjectFactory +import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettings +import javax.inject.Inject + +open class AppleInteropContainer @Inject constructor( + objects: ObjectFactory, +) { + internal val main = mutableListOf>>() + internal val test = mutableListOf>>() + + fun main(action: Action>) { + main.add(action) + } + + fun test(action: Action>) { + test.add(action) + } +} diff --git a/kaluga-library-components/src/main/kotlin/container/MultiplatformDependencyContainer.kt b/kaluga-library-components/src/main/kotlin/container/MultiplatformDependencyContainer.kt new file mode 100644 index 000000000..aee1cee9a --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/container/MultiplatformDependencyContainer.kt @@ -0,0 +1,86 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.container + +import org.gradle.api.Action +import org.gradle.api.model.ObjectFactory +import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler +import javax.inject.Inject + +open class MultiplatformDependencyContainer @Inject constructor( + objects: ObjectFactory, +) { + + sealed class TargetDependencyContainer { + internal val mainDependencies = mutableListOf>() + internal val testDependencies = mutableListOf>() + + fun main(action: Action) { + mainDependencies.add(action) + } + + fun test(action: Action) { + testDependencies.add(action) + } + } + + open class Common : TargetDependencyContainer() + open class Android : TargetDependencyContainer() { + + internal val instrumentedTestDependencies = mutableListOf>() + + fun instrumented(action: Action) { + instrumentedTestDependencies.add(action) + } + } + + open class Apple : TargetDependencyContainer() + open class IOS : TargetDependencyContainer() + open class JS : TargetDependencyContainer() + open class JVM : TargetDependencyContainer() + + internal val common = objects.newInstance(Common::class.java) + internal val android = objects.newInstance(Android::class.java) + internal val apple = objects.newInstance(Apple::class.java) + internal val ios = objects.newInstance(IOS::class.java) + internal val js = objects.newInstance(JS::class.java) + internal val jvm = objects.newInstance(JVM::class.java) + fun common(action: Action) { + action.execute(common) + } + + fun android(action: Action) { + action.execute(android) + } + + fun apple(action: Action) { + action.execute(apple) + } + + fun ios(action: Action) { + action.execute(ios) + } + + fun js(action: Action) { + action.execute(js) + } + + fun jvm(action: Action) { + action.execute(jvm) + } +} diff --git a/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaAndroidSubprojectExtension.kt b/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaAndroidSubprojectExtension.kt new file mode 100644 index 000000000..dd52a2d0c --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaAndroidSubprojectExtension.kt @@ -0,0 +1,89 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.extensions + +import com.android.build.gradle.LibraryExtension +import com.splendo.kaluga.plugin.helpers.jvmTarget +import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.model.ObjectFactory +import org.gradle.api.publish.PublicationContainer +import org.gradle.api.publish.maven.MavenPublication +import org.gradle.kotlin.dsl.DependencyHandlerScope +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.create +import org.gradle.kotlin.dsl.dependencies +import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension +import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder + +abstract class BaseKalugaAndroidSubprojectExtension( + versionCatalog: VersionCatalog, + libraryExtension: LibraryExtension, + namespacePostfix: String, + objects: ObjectFactory, +) : BaseKalugaSubprojectExtension(versionCatalog, libraryExtension, namespacePostfix, objects) { + + override fun Project.setupSubproject() {} + + override fun Project.configureSubproject() { + extensions.configure(KotlinAndroidProjectExtension::class) { + compilerOptions { + jvmTarget.set(versionCatalog.jvmTarget) + } + sourceSets.all { + languageSettings { + languageSettings() + } + } + } + dependencies { + androidMainDependencies.forEach { + add("implementation", it) + } + + commonDependencies() + + androidTestDependencies.forEach { + add("testImplementation", it) + } + androidInstrumentedTestDependencies.forEach { + add("androidTestImplementation", it) + } + } + } + + protected abstract fun LanguageSettingsBuilder.languageSettings() + protected abstract fun DependencyHandlerScope.commonDependencies() + + override fun PublicationContainer.configure(project: Project) { + create("release", MavenPublication::class) { + from(project.components.getByName("release")) + + artifactId = project.name + groupId = BASE_GROUP + version = project.kalugaVersion + } + create("debug", MavenPublication::class) { + from(project.components.getByName("debug")) + + artifactId = project.name + groupId = BASE_GROUP + version = project.kalugaVersion + } + } +} diff --git a/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaExtension.kt b/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaExtension.kt new file mode 100644 index 000000000..c29843d72 --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaExtension.kt @@ -0,0 +1,187 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.extensions + +import com.splendo.kaluga.plugin.helpers.gitBranch +import com.splendo.kaluga.plugin.helpers.jvmTarget +import org.gradle.api.Action +import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.model.ObjectFactory +import org.gradle.api.provider.Property +import org.gradle.api.publish.PublishingExtension +import org.gradle.api.publish.maven.MavenPublication +import org.gradle.api.tasks.testing.Test +import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.gradle.api.tasks.testing.logging.TestLoggingContainer +import org.gradle.jvm.tasks.Jar +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.getValue +import org.gradle.kotlin.dsl.provideDelegate +import org.gradle.kotlin.dsl.registering +import org.gradle.kotlin.dsl.withType +import org.gradle.plugins.signing.SigningExtension +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +/** + * An extension to a [Project] that allows for easily reusing logic in Splendo Health + */ +sealed class BaseKalugaExtension(protected val versionCatalog: VersionCatalog, objects: ObjectFactory) { + + companion object { + const val BASE_GROUP = "com.splendo.kaluga" + private const val OSSRH_USERNAME = "OSSRH_USERNAME" + private const val OSSRH_PASSWORD = "OSSRH_PASSWORD" + private const val SIGNING_KEY_ID = "SIGNING_KEY_ID" + private const val SIGNING_PASSWORD = "SIGNING_PASSWORD" + private const val SIGNING_SECRET_KEY_RING_FILE = "SIGNING_SECRET_KEY_RING_FILE" + } + + val Project.kalugaVersion get() = "${versionCatalog.findVersion("kaluga").get().displayName}${gitBranch.kalugaBranchPostfix}" + internal data class TestLoggingContainerAction(val action: Action) + private val testLogging: Property = objects.property(TestLoggingContainerAction::class.java) + + /** + * Configure a [TestLoggingContainer] + */ + fun testLogging(action: Action) { + testLogging.set(TestLoggingContainerAction(action)) + } + + fun beforeProjectEvaluated(project: Project) { + project.tasks.withType(KotlinCompile::class.java) { + compilerOptions { + jvmTarget.set(versionCatalog.jvmTarget) + freeCompilerArgs.addAll("-Xjvm-default=all") + } + } + project.beforeEvaluated() + } + + protected abstract fun Project.beforeEvaluated() + + /** + * Sets up a [Project] with the configuration of this extension after it has been evaluated. + */ + @OptIn(ExperimentalStdlibApi::class) + @JvmName("handleProjectEvaluated") + fun afterProjectEvaluated(project: Project) { + project.group = BASE_GROUP + project.version = project.kalugaVersion + + project.tasks.withType(Test::class.java) { + testLogging { + events = org.gradle.api.tasks.testing.logging.TestLogEvent.entries.toSet() + exceptionFormat = TestExceptionFormat.FULL + showExceptions = true + showCauses = true + showStackTraces = true + this@BaseKalugaExtension.testLogging.orNull?.action?.execute(this) + } + } + + project.extensions.configure(SigningExtension::class) { + setRequired( + { + project.gradle.taskGraph.hasTask("publish") && project.signingSecretKeyRingFile != null + }, + ) + } + + val jarTask by project.tasks.registering(Jar::class) { + archiveClassifier.set("javadoc") + } + + project.extensions.configure(PublishingExtension::class) { + configureRepositories(project) + // Configure all publications + publications.withType(MavenPublication::class) { + // Stub javadoc.jar artifact + artifact(jarTask.get()) + + // Provide artifacts information requited by Maven Central + pom { + name.set(project.name) + description.set("Collection of Kotlin Flow based libraries") + url.set("https://github.com/splendo/kaluga") + + licenses { + license { + name.set("The Apache Software License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + distribution.set("repo") + } + } + developers { + developer { + id.set("splendo") + name.set("Splendo BV") + } + } + scm { + url.set("https://github.com/splendo/kaluga") + } + } + } + + project.extensions.configure(SigningExtension::class) { + val signingKeyId = project.getStringPropertyOrSystemEnvironment("signingKeyId", SIGNING_KEY_ID) + val signingPassword = project.getStringPropertyOrSystemEnvironment("signingPassword", SIGNING_PASSWORD) + + useInMemoryPgpKeys(signingKeyId, signingPassword, project.signingSecretKeyRingFile) + sign(publications) + } + } + + project.afterProjectEvaluated() + } + + /** + * Abstract setup of a [Project] with the configuration of this extension after it has been evaluated. + */ + protected abstract fun Project.afterProjectEvaluated() + + private fun PublishingExtension.configureRepositories(project: Project) { + val ossrhUsername = project.getStringPropertyOrSystemEnvironment("ossrhUsername", OSSRH_USERNAME) + val ossrhPassword = project.getStringPropertyOrSystemEnvironment("ossrhPassword", OSSRH_PASSWORD) + + repositories { + maven { + name = "sonatype" + setUrl("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") + credentials { + username = ossrhUsername + password = ossrhPassword + } + } + + maven { + name = "snapshots" + setUrl("https://s01.oss.sonatype.org/content/repositories/snapshots/") + credentials { + username = ossrhUsername + password = ossrhPassword + } + } + } + } + + private val Project.signingSecretKeyRingFile: String? get() = getStringPropertyOrSystemEnvironment("signingSecretKeyRingFile", SIGNING_SECRET_KEY_RING_FILE) + private fun Project.getStringPropertyOrSystemEnvironment(propertyName: String, environmentPropertyName: String): String? = + properties[propertyName] as? String ?: System.getenv(environmentPropertyName) +} diff --git a/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaSubprojectExtension.kt b/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaSubprojectExtension.kt new file mode 100644 index 000000000..794745f15 --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/extensions/BaseKalugaSubprojectExtension.kt @@ -0,0 +1,149 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.extensions + +import com.android.build.gradle.LibraryExtension +import org.gradle.api.JavaVersion +import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.model.ObjectFactory +import org.gradle.api.publish.PublicationContainer +import org.gradle.api.publish.PublishingExtension +import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven +import org.gradle.kotlin.dsl.configure +import org.gradle.plugins.signing.Sign + +sealed class BaseKalugaSubprojectExtension( + versionCatalog: VersionCatalog, + private val libraryExtension: LibraryExtension, + private val namespacePostfix: String?, + objects: ObjectFactory, +) : BaseKalugaExtension(versionCatalog, objects) { + + var isPublished: Boolean = true + + var moduleName: String + get() = libraryExtension.namespace.orEmpty() + .removePrefix("$BASE_GROUP.") + .removeSuffix(namespacePostfix?.let { ".$it" } ?: "") + set(value) { + libraryExtension.namespace = listOfNotNull(BASE_GROUP, value, namespacePostfix).joinToString(".") + } + + protected val androidMainDependencies = listOf( + "androidx-activity-ktx", + "androidx-appcompat", + "kotlinx-coroutines-android", + ).map { it.asDependency() } + + protected val androidTestDependencies = listOf( + "bytebuddy-agent", + "junit", + "kotlin-test", + "kotlin-test-junit", + "mockito-core", + ).map { it.asDependency() } + + protected val androidInstrumentedTestDependencies = listOf( + "androidx-test-core", + "androidx-test-core-ktx", + "androidx-test-espresso", + "androidx-test-junit", + "androidx-test-rules", + "androidx-test-runner", + "androidx-test-uiautomator", + "bytebuddy-agent", + "bytebuddy-android", + "kotlin-test", + "kotlin-test-junit", + "mockito-core", + "mockito-android", + ).map { it.asDependency() } + + override fun Project.beforeEvaluated() { + setupSubproject() + libraryExtension.apply { + compileSdk = versionCatalog.findVersion("androidCompileSdk").get().displayName.toInt() + buildToolsVersion = versionCatalog.findVersion("androidBuildTools").get().displayName + + defaultConfig { + minSdk = versionCatalog.findVersion("androidMinSdk").get().displayName.toInt() + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + signingConfigs { + create("stableDebug") { + storeFile = project.rootProject.file("keystore/stableDebug.keystore") + storePassword = "stableDebug" + keyAlias = "stableDebug" + keyPassword = "stableDebug" + } + } + + buildTypes { + release { + isMinifyEnabled = false + } + debug { + signingConfig = signingConfigs.getByName("stableDebug") + } + } + + compileOptions { + val javaVersion = JavaVersion.toVersion(versionCatalog.findVersion("java").get().displayName) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion + } + + configure() + } + } + + protected abstract fun Project.setupSubproject() + + override fun Project.afterProjectEvaluated() { + if (moduleName.isEmpty()) { + throw RuntimeException("moduleName must be configured") + } + + configureSubproject() + if (isPublished) { + setupPublishing() + } + } + + protected abstract fun Project.configureSubproject() + + protected abstract fun LibraryExtension.configure() + fun Project.setupPublishing() { + extensions.configure(PublishingExtension::class) { + publications { + configure(project) + } + } + + tasks.withType(AbstractPublishToMaven::class.java).configureEach { + dependsOn(tasks.withType(Sign::class.java)) + } + } + + protected abstract fun PublicationContainer.configure(project: Project) + + protected fun String.asDependency() = versionCatalog.findLibrary(this).get() +} diff --git a/kaluga-library-components/src/main/kotlin/extensions/ComposeKalugaAndroidSubprojectExtension.kt b/kaluga-library-components/src/main/kotlin/extensions/ComposeKalugaAndroidSubprojectExtension.kt new file mode 100644 index 000000000..c9ad7e67d --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/extensions/ComposeKalugaAndroidSubprojectExtension.kt @@ -0,0 +1,46 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.extensions + +import com.android.build.gradle.LibraryExtension +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.model.ObjectFactory +import org.gradle.kotlin.dsl.DependencyHandlerScope +import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder +import javax.inject.Inject + +open class ComposeKalugaAndroidSubprojectExtension @Inject constructor( + versionCatalog: VersionCatalog, + libraryExtension: LibraryExtension, + objects: ObjectFactory, +) : BaseKalugaAndroidSubprojectExtension(versionCatalog, libraryExtension, "compose", objects) { + + override fun LanguageSettingsBuilder.languageSettings() { + optIn("androidx.compose.material3.ExperimentalMaterial3Api") + } + + override fun DependencyHandlerScope.commonDependencies() { + add("implementation", "androidx-compose-foundation".asDependency()) + add("implementation", "androidx-compose-ui".asDependency()) + add("implementation", "androidx-compose-ui-tooling".asDependency()) + add("implementation", "androidx-lifecycle-viewmodel-compose".asDependency()) + add("implementation", "androidx-activity-compose".asDependency()) + } + override fun LibraryExtension.configure() { + } +} diff --git a/kaluga-library-components/src/main/kotlin/extensions/DatabindingKalugaAndroidSubprojectExtension.kt b/kaluga-library-components/src/main/kotlin/extensions/DatabindingKalugaAndroidSubprojectExtension.kt new file mode 100644 index 000000000..8d3573aa5 --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/extensions/DatabindingKalugaAndroidSubprojectExtension.kt @@ -0,0 +1,39 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.extensions + +import com.android.build.gradle.LibraryExtension +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.model.ObjectFactory +import org.gradle.kotlin.dsl.DependencyHandlerScope +import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder +import javax.inject.Inject + +open class DatabindingKalugaAndroidSubprojectExtension @Inject constructor( + versionCatalog: VersionCatalog, + libraryExtension: LibraryExtension, + objects: ObjectFactory, +) : BaseKalugaAndroidSubprojectExtension(versionCatalog, libraryExtension, "databinding", objects) { + + override fun LanguageSettingsBuilder.languageSettings() {} + + override fun DependencyHandlerScope.commonDependencies() {} + override fun LibraryExtension.configure() { + buildFeatures { dataBinding = true } + } +} diff --git a/kaluga-library-components/src/main/kotlin/extensions/KalugaMultiplatformSubprojectExtension.kt b/kaluga-library-components/src/main/kotlin/extensions/KalugaMultiplatformSubprojectExtension.kt new file mode 100644 index 000000000..b3e6e3484 --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/extensions/KalugaMultiplatformSubprojectExtension.kt @@ -0,0 +1,383 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.extensions + +import com.android.build.gradle.LibraryExtension +import com.splendo.kaluga.plugin.container.AppleInteropContainer +import com.splendo.kaluga.plugin.container.MultiplatformDependencyContainer +import com.splendo.kaluga.plugin.helpers.jvmTarget +import org.gradle.api.Action +import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.model.ObjectFactory +import org.gradle.api.publish.PublicationContainer +import org.gradle.api.publish.maven.MavenPublication +import org.gradle.api.tasks.Copy +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.create +import org.gradle.kotlin.dsl.newInstance +import org.gradle.kotlin.dsl.withType +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.JsModuleKind +import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions +import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension +import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType +import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree +import org.jetbrains.kotlin.gradle.plugin.mpp.Framework +import org.jmailen.gradle.kotlinter.tasks.LintTask +import javax.inject.Inject + +open class KalugaMultiplatformSubprojectExtension @Inject constructor( + versionCatalog: VersionCatalog, + libraryExtension: LibraryExtension, + objects: ObjectFactory, +) : BaseKalugaSubprojectExtension(versionCatalog, libraryExtension, null, objects) { + + companion object { + private val testDependentProjectsEnvName = "TEST_DEPENDENT_PROJECTS" + private val onCiEnvName = "CI" + } + private enum class IOSTarget(val sourceSetName: String) { + X64("iosX64"), + Arm64("iosArm64"), + SimulatorArm64("iosSimulatorArm64"), + } + + var supportJVM: Boolean = false + var supportJS: Boolean = false + + private val multiplatformDependencies = objects.newInstance(MultiplatformDependencyContainer::class) + private val appleInterop = objects.newInstance(AppleInteropContainer::class) + private var frameworkConfig: (Framework.() -> Unit)? = null + + fun dependencies(action: Action) { + action.execute(multiplatformDependencies) + } + + fun appleInterop(action: Action) { + action.execute(appleInterop) + } + + fun appleFramework(action: (Framework.() -> Unit)) { + frameworkConfig = action + } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + override fun Project.setupSubproject() { + // Android Target must be setup before project is evaluated as publishing will break otherwise + extensions.configure(KotlinMultiplatformExtension::class) { + androidTarget("androidLib") { + instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test) + unitTestVariant.sourceSetTree.set(KotlinSourceSetTree.test) + publishAllLibraryVariants() + } + } + } + + override fun Project.configureSubproject() { + extensions.configure(KotlinMultiplatformExtension::class) { + configureMultiplatform(this@configureSubproject) + } + task("printConfigurations") { + doLast { + configurations.all { println(this) } + } + } + + // output all reports to a single location + tasks.withType().configureEach { + reports.set(mapOf("plain" to rootProject.layout.buildDirectory.get().asFile.resolve("reports/ktlint/${project.path}-${this.name}.txt"))) + } + + afterEvaluate { + iosTargets.forEach { target -> + val targetName = target.sourceSetName + if (tasks.names.contains("linkDebugTest${targetName.replaceFirstChar { it.titlecase() } }")) { + // creating copy task for the target + val copyTask = tasks.create("copy${targetName.replaceFirstChar { it.titlecase() } }TestResources", Copy::class) { + from("src/iosTest/resources/.") + into("${layout.buildDirectory.get().asFile}/bin/$targetName/debugTest") + } + + // apply copy task to the target + tasks.named("linkDebugTest${targetName.replaceFirstChar { it.titlecase() }}") { + dependsOn(copyTask) + } + } + } + } + + if (listOf(testDependentProjectsEnvName, onCiEnvName).any { System.getenv().containsKey(it) }) { + parent?.subprojects?.filter { + it.name.startsWith("${project.name}-") || it.name.endsWith("-${project.name}") + }?.forEach { module -> + afterEvaluate { + logger.info("[connect_check_expansion] :${project.name}:connectedDebugAndroidTest dependsOn:${module.name}:connectedDebugAndroidTest") + tasks.getByPath("connectedDebugAndroidTest") + .dependsOn(":${module.name}:connectedDebugAndroidTest") + } + } + } + } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + private fun KotlinMultiplatformExtension.configureMultiplatform(project: Project) { + compilerOptions { + freeCompilerArgs.add("-Xexpect-actual-classes") + } + targets.configureEach { + compilations.configureEach { + compileTaskProvider.configure { + compilerOptions { + if (this is KotlinJvmCompilerOptions) { + jvmTarget.set(versionCatalog.jvmTarget) + } + freeCompilerArgs.add("-Xexpect-actual-classes") + } + } + } + } + + val iosTargets = project.iosTargets.map { iosTarget -> + when (iosTarget) { + IOSTarget.Arm64 -> iosArm64() + IOSTarget.X64 -> iosX64() + IOSTarget.SimulatorArm64 -> iosSimulatorArm64() + } + } + + if (supportJVM) { + jvm() + } + if (supportJS) { + js(KotlinJsCompilerType.IR) { + nodejs() + browser() + compilations.configureEach { + compileTaskProvider.configure { + compilerOptions { + sourceMap.set(true) + moduleKind.set(JsModuleKind.MODULE_UMD) + } + } + } + } + } + + applyDefaultHierarchyTemplate() + + project.afterEvaluate { + sourceSets.getByName("commonMain").apply { + dependencies { + implementation("kotlinx-coroutines-core".asDependency()) + multiplatformDependencies.common.mainDependencies.forEach { it.execute(this) } + } + } + + sourceSets.getByName("commonTest").apply { + dependencies { + implementation(kotlin("test")) + implementation(kotlin("test-common")) + implementation(kotlin("test-annotations-common")) + multiplatformDependencies.common.testDependencies.forEach { it.execute(this) } + } + } + + sourceSets.getByName("androidLibMain").apply { + dependencies { + androidMainDependencies.forEach { implementation(it) } + multiplatformDependencies.android.mainDependencies.forEach { it.execute(this) } + } + } + + sourceSets.getByName("androidLibUnitTest").apply { + dependencies { + androidTestDependencies.forEach { implementation(it) } + multiplatformDependencies.android.testDependencies.forEach { it.execute(this) } + } + } + + sourceSets.getByName("androidLibInstrumentedTest").apply { + dependencies { + androidInstrumentedTestDependencies.forEach { implementation(it) } + multiplatformDependencies.android.instrumentedTestDependencies.forEach { it.execute(this) } + } + } + + if (multiplatformDependencies.apple.mainDependencies.isNotEmpty()) { + sourceSets.getByName("appleMain").apply { + dependencies { + multiplatformDependencies.apple.mainDependencies.forEach { it.execute(this) } + } + } + } + + if (multiplatformDependencies.apple.testDependencies.isNotEmpty()) { + sourceSets.getByName("appleTest").apply { + dependencies { + multiplatformDependencies.apple.testDependencies.forEach { it.execute(this) } + } + } + } + + sourceSets.getByName("iosMain").apply { + dependencies { + multiplatformDependencies.ios.mainDependencies.forEach { it.execute(this) } + } + } + + sourceSets.getByName("iosTest").apply { + dependencies { + multiplatformDependencies.ios.testDependencies.forEach { it.execute(this) } + } + } + + if (supportJVM) { + sourceSets.getByName("jvmMain").apply { + dependencies { + implementation(kotlin("stdlib")) + implementation("kotlinx-coroutines-swing".asDependency()) + multiplatformDependencies.jvm.mainDependencies.forEach { it.execute(this) } + } + } + + sourceSets.getByName("jvmTest").apply { + dependencies { + implementation(kotlin("test")) + implementation(kotlin("test-junit")) + multiplatformDependencies.jvm.testDependencies.forEach { it.execute(this) } + } + } + } + + if (supportJS) { + sourceSets.getByName("jsMain").apply { + dependencies { + implementation(kotlin("stdlib-js")) + implementation("kotlinx-coroutines-js".asDependency()) + multiplatformDependencies.js.mainDependencies.forEach { it.execute(this) } + } + } + + sourceSets.getByName("jsTest").apply { + dependencies { + implementation(kotlin("test-js")) + multiplatformDependencies.js.testDependencies.forEach { it.execute(this) } + } + } + } + + project.configure(iosTargets) { + compilations.getByName("main").cinterops.let { mainInterops -> + appleInterop.main.forEach { it.execute(mainInterops) } + } + compilations.getByName("test").cinterops.let { mainInterops -> + appleInterop.test.forEach { it.execute(mainInterops) } + } + binaries { + frameworkConfig?.let { iosExport -> + framework { iosExport() } + } + getTest("DEBUG").apply { + freeCompilerArgs = freeCompilerArgs + listOf("-e", "com.splendo.kaluga.test.base.mainBackground") + } + } + } + + sourceSets.all { + languageSettings { + optIn("kotlinx.coroutines.DelicateCoroutinesApi") + optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") + optIn("kotlinx.coroutines.ObsoleteCoroutinesApi") + optIn("kotlinx.coroutines.InternalCoroutinesApi") + optIn("kotlinx.coroutines.FlowPreview") + optIn("kotlin.ExperimentalUnsignedTypes") + optIn("kotlin.ExperimentalStdlibApi") + optIn("kotlin.time.ExperimentalTime") + optIn("kotlin.ExperimentalStdlibApi") + if (this@all.name.lowercase().contains("ios")) { + optIn("kotlinx.cinterop.ExperimentalForeignApi") + optIn("kotlinx.cinterop.BetaInteropApi") + optIn("kotlin.experimental.ExperimentalNativeApi") + } + if (pluginManager.hasPlugin(versionCatalog.findPlugin("kotlin-serialization").get().get().pluginId)) { + optIn("kotlinx.serialization.ExperimentalSerializationApi") + } + enableLanguageFeature("InlineClasses") + } + } + } + } + + override fun LibraryExtension.configure() { + @Suppress("UnstableApiUsage") + testOptions { + unitTests.isReturnDefaultValues = true + targetSdk = versionCatalog.findVersion("androidCompileSdk").get().displayName.toInt() + } + + packaging { + resources.excludes.addAll( + listOf( + "META-INF/kotlinx-coroutines-core.kotlin_module", + "META-INF/shared_debug.kotlin_module", + "META-INF/kotlinx-serialization-runtime.kotlin_module", + "META-INF/AL2.0", + "META-INF/LGPL2.1", + // bytebuddy 🤡 + "win32-x86-64/attach_hotspot_windows.dll", + "win32-x86/attach_hotspot_windows.dll", + "META-INF/licenses/ASM", + ), + ) + } + } + override fun PublicationContainer.configure(project: Project) { + getByName("kotlinMultiplatform") { + (this as MavenPublication).let { + artifactId = project.name + groupId = BASE_GROUP + version = project.kalugaVersion + } + } + } + + private val Project.iosTargets: Set get() { + val sdkName = System.getenv("SDK_NAME") ?: "unknown" + val isRealIOSDevice = sdkName.startsWith("iphoneos").also { + logger.info("Run on real ios device: $it from sdk: $sdkName") + } + + // Run on IntelliJ + val ideaActive = (System.getProperty("idea.active") == "true").also { + logger.info("Run on IntelliJ: $it") + } + + // Run on apple silicon + val isAppleSilicon = (System.getProperty("os.arch") == "aarch64").also { + logger.info("Run on apple silicon: $it") + } + + return when { + !ideaActive -> IOSTarget.values().toSet() + isRealIOSDevice -> setOf(IOSTarget.Arm64) + isAppleSilicon -> setOf(IOSTarget.SimulatorArm64) + else -> setOf(IOSTarget.X64) + } + } +} diff --git a/kaluga-library-components/src/main/kotlin/extensions/KalugaRootExtension.kt b/kaluga-library-components/src/main/kotlin/extensions/KalugaRootExtension.kt new file mode 100644 index 000000000..f466b5e96 --- /dev/null +++ b/kaluga-library-components/src/main/kotlin/extensions/KalugaRootExtension.kt @@ -0,0 +1,155 @@ +/* + Copyright 2024 Splendo Consulting B.V. The Netherlands + + 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 com.splendo.kaluga.plugin.extensions + +import kotlinx.validation.ApiValidationExtension +import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.model.ObjectFactory +import org.gradle.kotlin.dsl.closureOf +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.maven +import org.gradle.kotlin.dsl.repositories +import org.owasp.dependencycheck.gradle.extension.AnalyzerExtension +import org.owasp.dependencycheck.gradle.extension.DependencyCheckExtension +import javax.inject.Inject + +/** + * A [BaseSplendoHealthExtension] used for a [Project] that is the root of other projects + */ +open class KalugaRootExtension @Inject constructor( + healthVersionCatalog: VersionCatalog, + objects: ObjectFactory, +) : BaseKalugaExtension(healthVersionCatalog, objects) { + + /** + * When `true` all projects will include Maven Local as a repository + */ + var includeMavenLocal = false + + val additionalMavenRepos = mutableListOf() + + override fun Project.beforeEvaluated() {} + override fun Project.afterProjectEvaluated() { + allprojects { + repositories { + if (includeMavenLocal) { + mavenLocal() + } + additionalMavenRepos.forEach { + maven(it) + } + google() + mavenCentral() + } + } + + generateNonDependentProjectsFileTask() + project.extensions.configure(ApiValidationExtension::class) { + apiExtensions(project) + } + + project.koverModules() + + afterEvaluate { + // owasp dependency checker workaround + + // FIXME: If checks for the root project are enabled, a lot of false positives are picked up. + // In addition it seems like the only working way to skip checks is to create + // a dummy configuration with no dependencies + val configuration = configurations.create("dummy") + + DependencyCheckExtension(this).apply { + analyzers( + closureOf { + assemblyEnabled = false + }, + ) + scanConfigurations = listOf(configuration.name) + } + } + } + + private fun Project.generateNonDependentProjectsFileTask() { + task("generateNonDependentProjectsFile") { + outputs.upToDateWhen { false } + + val file = project.file("non_dependent_projects.properties") + file.delete() + file.appendText("projects=[") + var firstProject = true + + val blacklist = properties["generateNonDependentProjectsFile.blacklist"]?.toString()?.split(',')?.map { it.trim() } ?: listOf() + + subprojects.forEach { thisProject -> + + val dependsOnOtherProject = subprojects.any { otherProject -> + thisProject != otherProject && ( + thisProject.name.startsWith( + otherProject.name, + ) || thisProject.name.endsWith(otherProject.name) + ) + } + val otherProjectsDependOn = subprojects.any { otherProject -> + thisProject != otherProject && ( + otherProject.name.startsWith( + thisProject.name, + ) || otherProject.name.endsWith(thisProject.name) + ) + } + + if (!blacklist.contains(thisProject.name) && (!dependsOnOtherProject || otherProjectsDependOn)) { + logger.debug("main module: ${thisProject.name} dependsOnOtherProject:$dependsOnOtherProject otherProjectsDependOn:$otherProjectsDependOn") + + if (firstProject) { + firstProject = false + } else { + file.appendText(",") + } + file.appendText('"' + thisProject.name + '"') + } else { + logger.debug("not a main module: ${thisProject.name} dependsOnOtherProject:$dependsOnOtherProject otherProjectsDependOn:$otherProjectsDependOn") + } + } + + file.appendText("]") + } + } + + private fun ApiValidationExtension.apiExtensions(project: Project) { + project.subprojects.forEach { subproject -> + val moduleName = subproject.name + ignoredClasses.add("com.splendo.kaluga.$moduleName.BuildConfig") + ignoredClasses.add("com.splendo.kaluga.${moduleName.replace("-", ".")}.BuildConfig") + ignoredClasses.add("com.splendo.kaluga.${moduleName.replace("-", "")}.BuildConfig") + ignoredClasses.add("com.splendo.kaluga.permissions.${moduleName.replace("-permissions", "")}.BuildConfig") + } + ignoredClasses.add("$BASE_GROUP.permissions.BuildConfig") + ignoredClasses.add("$BASE_GROUP.test.BuildConfig") + ignoredClasses.add("$BASE_GROUP.datetime.timer.BuildConfig") + } + + private fun Project.koverModules() { + dependencies { + subprojects.forEach { + add("kover", it) + } + } + } +} diff --git a/kaluga-library-components/src/main/kotlin/GitBranch.kt b/kaluga-library-components/src/main/kotlin/helpers/GitBranch.kt similarity index 62% rename from kaluga-library-components/src/main/kotlin/GitBranch.kt rename to kaluga-library-components/src/main/kotlin/helpers/GitBranch.kt index 1f49f563b..4c82433a7 100644 --- a/kaluga-library-components/src/main/kotlin/GitBranch.kt +++ b/kaluga-library-components/src/main/kotlin/helpers/GitBranch.kt @@ -1,5 +1,5 @@ /* - Copyright 2022 Splendo Consulting B.V. The Netherlands + Copyright 2024 Splendo Consulting B.V. The Netherlands Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,16 +15,18 @@ */ +package com.splendo.kaluga.plugin.helpers + import org.gradle.api.Project import java.util.Locale data class GitBranch(val branch: String, val kalugaBranchPostfix: String) -val Project.GitBranch: GitBranch get() { - val GITHUB_GIT_BRANCH = System.getenv("GITHUB_REF_NAME") // could also be a tag name - val kaluga_branch = System.getProperty("kaluga_branch") - val MAVEN_CENTRAL_RELEASE = System.getenv("MAVEN_CENTRAL_RELEASE") - val release = MAVEN_CENTRAL_RELEASE?.lowercase(Locale.ENGLISH)?.trim() == "true" +val Project.gitBranch: GitBranch get() { + val githubGitBranch = System.getenv("GITHUB_REF_NAME") // could also be a tag name + val kalugaBranch = System.getProperty("kaluga_branch") + val mavenCentralRelease = System.getenv("MAVEN_CENTRAL_RELEASE") + val release = mavenCentralRelease?.lowercase(Locale.ENGLISH)?.trim() == "true" val branchFromGit = run { try { val process = ProcessBuilder().command("git rev-parse --abbrev-ref HEAD".split(" ")).start() @@ -38,7 +40,7 @@ val Project.GitBranch: GitBranch get() { // favour user definition of kaluga_branch (if present), otherwise take it from GIT branch: // - if running on CI: favour github's branch detection // - else: try to get it via the `git` CLI. - val branch = (kaluga_branch ?: GITHUB_GIT_BRANCH ?: branchFromGit).replace('/', '-').trim().lowercase(Locale.ENGLISH).also { + val branch = (kalugaBranch ?: githubGitBranch ?: branchFromGit).replace('/', '-').trim().lowercase(Locale.ENGLISH).also { if (it == "HEAD") { logger.warn("Unable to determine current branch: Project is checked out with detached head!") } @@ -47,11 +49,19 @@ val Project.GitBranch: GitBranch get() { val kalugaBranchPostfix = ( when (branch) { "master", "main", "develop" -> "" - else -> "-" + branch + else -> "-$branch" } + if (!release) "-SNAPSHOT" else "" ).also { - logger.lifecycle("decided branch: '$branch' to postfix '$it', isRelease: $release (from: GITHUB_GIT_BRANCH env: $GITHUB_GIT_BRANCH, kaluga_branch property: $kaluga_branch , MAVEN_CENTRAL_RELEASE env: $MAVEN_CENTRAL_RELEASE , git cli: $branchFromGit)") - } + logger.lifecycle( + "decided branch: '$branch' to postfix '$it', " + + "isRelease: $release (" + + "from: GITHUB_GIT_BRANCH env: $githubGitBranch, " + + "kaluga_branch property: $kalugaBranch , " + + "MAVEN_CENTRAL_RELEASE env: $mavenCentralRelease , " + + "git cli: $branchFromGit" + + ")", + ) + } return GitBranch(branch, kalugaBranchPostfix) } diff --git a/convention-plugins/build.gradle.kts b/kaluga-library-components/src/main/kotlin/helpers/JvmTarget.kt similarity index 65% rename from convention-plugins/build.gradle.kts rename to kaluga-library-components/src/main/kotlin/helpers/JvmTarget.kt index f96653592..4fe88d581 100644 --- a/convention-plugins/build.gradle.kts +++ b/kaluga-library-components/src/main/kotlin/helpers/JvmTarget.kt @@ -1,5 +1,5 @@ /* - Copyright 2022 Splendo Consulting B.V. The Netherlands + Copyright 2024 Splendo Consulting B.V. The Netherlands Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,14 +15,9 @@ */ -plugins { - `kotlin-dsl` // Is needed to turn our build logic written in Kotlin into Gradle Plugin -} +package com.splendo.kaluga.plugin.helpers -kotlin { - jvmToolchain(17) -} +import org.gradle.api.artifacts.VersionCatalog +import org.jetbrains.kotlin.gradle.dsl.JvmTarget -repositories { - gradlePluginPortal() // To use 'maven-publish' and 'signing' plugins in our own plugin -} +val VersionCatalog.jvmTarget: JvmTarget get() = JvmTarget.fromTarget(findVersion("java").get().displayName) diff --git a/keyboard-compose/build.gradle.kts b/keyboard-compose/build.gradle.kts index f64909825..40c7571f7 100644 --- a/keyboard-compose/build.gradle.kts +++ b/keyboard-compose/build.gradle.kts @@ -1,13 +1,10 @@ plugins { - id("com.android.library") - kotlin("android") - id("jacoco") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin.android.compose") } -composeAndroidComponent("keyboard.compose") +kaluga { + moduleName = "keyboard" +} dependencies { implementation(project(":base")) diff --git a/keyboard/api/jvm/keyboard.api b/keyboard/api/jvm/keyboard.api deleted file mode 100644 index 8644026bf..000000000 --- a/keyboard/api/jvm/keyboard.api +++ /dev/null @@ -1,24 +0,0 @@ -public abstract interface class com/splendo/kaluga/keyboard/BaseKeyboardManager { - public abstract fun hide ()V - public abstract fun show (Lcom/splendo/kaluga/keyboard/FocusHandler;)V -} - -public abstract interface class com/splendo/kaluga/keyboard/BaseKeyboardManager$Builder : com/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable { - public abstract fun create (Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/keyboard/BaseKeyboardManager; -} - -public abstract interface class com/splendo/kaluga/keyboard/FocusHandler { -} - -public final class com/splendo/kaluga/keyboard/KeyboardManager : com/splendo/kaluga/keyboard/BaseKeyboardManager { - public fun ()V - public fun hide ()V - public fun show (Lcom/splendo/kaluga/keyboard/FocusHandler;)V -} - -public final class com/splendo/kaluga/keyboard/KeyboardManager$Builder : com/splendo/kaluga/keyboard/BaseKeyboardManager$Builder { - public fun ()V - public synthetic fun create (Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/keyboard/BaseKeyboardManager; - public fun create (Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/keyboard/KeyboardManager; -} - diff --git a/keyboard/api/androidLib/keyboard.api b/keyboard/api/keyboard.api similarity index 100% rename from keyboard/api/androidLib/keyboard.api rename to keyboard/api/keyboard.api diff --git a/keyboard/build.gradle.kts b/keyboard/build.gradle.kts index c551701e6..449055400 100644 --- a/keyboard/build.gradle.kts +++ b/keyboard/build.gradle.kts @@ -1,25 +1,16 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("com.android.library") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("keyboard") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "keyboard" + dependencies { + common { + main { implementation(project(":architecture", "")) implementation(project(":base", "")) } - } - - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-keyboard", "")) } } diff --git a/keyboard/src/androidLibMain/kotlin/FocusHandler.kt b/keyboard/src/androidLibMain/kotlin/FocusHandler.kt index 8e22a80a0..c8ee5db5b 100644 --- a/keyboard/src/androidLibMain/kotlin/FocusHandler.kt +++ b/keyboard/src/androidLibMain/kotlin/FocusHandler.kt @@ -62,6 +62,3 @@ data class ViewFocusHandler( } } } - -@Deprecated("Renamed to ViewFocusHandler", replaceWith = ReplaceWith("ViewFocusHandler")) -typealias AndroidFocusHandler = ViewFocusHandler diff --git a/keyboard/src/jsMain/kotlin/KeyboardManager.kt b/keyboard/src/jsMain/kotlin/KeyboardManager.kt deleted file mode 100644 index 764d5d6f9..000000000 --- a/keyboard/src/jsMain/kotlin/KeyboardManager.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - -Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.keyboard - -import kotlinx.coroutines.CoroutineScope - -/** - * A [BaseKeyboardManager] that takes any [FocusHandler] - */ -class KeyboardManager : BaseKeyboardManager { - - /** - * A [BaseKeyboardManager.Builder] to create a [KeyboardManager] - */ - class Builder : BaseKeyboardManager.Builder { - override fun create(coroutineScope: CoroutineScope) = KeyboardManager() - } - - override fun show(focusHandler: FocusHandler) { - TODO("not implemented") // To change body of created functions use File | Settings | File Templates. - } - - override fun hide() { - TODO("not implemented") // To change body of created functions use File | Settings | File Templates. - } -} diff --git a/keyboard/src/jvmMain/kotlin/KeyboardManager.kt b/keyboard/src/jvmMain/kotlin/KeyboardManager.kt deleted file mode 100644 index 764d5d6f9..000000000 --- a/keyboard/src/jvmMain/kotlin/KeyboardManager.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - -Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.keyboard - -import kotlinx.coroutines.CoroutineScope - -/** - * A [BaseKeyboardManager] that takes any [FocusHandler] - */ -class KeyboardManager : BaseKeyboardManager { - - /** - * A [BaseKeyboardManager.Builder] to create a [KeyboardManager] - */ - class Builder : BaseKeyboardManager.Builder { - override fun create(coroutineScope: CoroutineScope) = KeyboardManager() - } - - override fun show(focusHandler: FocusHandler) { - TODO("not implemented") // To change body of created functions use File | Settings | File Templates. - } - - override fun hide() { - TODO("not implemented") // To change body of created functions use File | Settings | File Templates. - } -} diff --git a/libs.versions.toml b/libs.versions.toml new file mode 100644 index 000000000..ebf51a418 --- /dev/null +++ b/libs.versions.toml @@ -0,0 +1,166 @@ +[versions] +# kotlin version is included since it will affect building +androidGradle = "8.5.0-rc02" +androidBuildTools = "34.0.0" +androidCompileSdk = "34" +androidMinSdk = "24" +kotlin = "2.0.0" +kotlinter = "4.3.0" +kotlinx-kover = "0.8.1" +dependencycheck = "9.1.0" +dokka = "1.9.20" +binarycompatilityvalidator = "0.15.0-Beta.2" +java = "17" +kaluga = "1.5.0" + +kotlinx-atomicfu = "0.24.0" +kotlinx-coroutines = "1.9.0-RC" +kotlinx-serialization = "1.7.0" +accompanist = "0.34.0" +android-material = "1.12.0" +android-play-review = "2.0.1" +android-play-services-location = "21.3.0" +androidx-activity = "1.9.0" +androidx-appcompat = "1.7.0" +androidx-arch-core = "2.2.0" +androidx-browser = "1.8.0" +androidx-compose = "1.6.7" +androidx-compose-ui = "1.6.8" +androidx-compose-material = "1.2.1" +androidx-constraintlayout = "2.1.4" +androidx-core = "1.13.1" +androidx-fragment = "1.8.0" +androidx-lifecycle = "2.8.1" +androidx-navigation = "2.7.7" +androidx-test = "1.5.0" +androidx-test-runner = "1.5.2" +androidx-test-espresso = "3.5.1" +androidx-test-junit = "1.1.5" +androidx-test-uiautomator = "2.3.0" +bytebuddy = "1.14.15" +junit = "4.13.2" +koin = "3.5.6" +koin-compose = "3.5.6" +mockito = "5.11.0" +napier = "2.7.1" +nordic-support = "1.6.0" + + +[libraries] +# Gradle DSL +android-gradle = { module = "com.android.tools.build:gradle", version.ref = "androidGradle"} +compose-gradle = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "kotlin"} +kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +kotlinter-gradle = { module = "org.jmailen.gradle:kotlinter-gradle", version.ref = "kotlinter" } +dependencycheck-gradle = { module = "org.owasp:dependency-check-gradle", version.ref = "dependencycheck" } +kotlinx-atomicfu-gradle = { module = "org.jetbrains.kotlinx:atomicfu-gradle-plugin", version.ref = "kotlinx-atomicfu" } +kotlinx-binarycompatibilityvalidator-gradle = { module = "org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin", version.ref = "binarycompatilityvalidator" } +kotlinx-kover-gradle = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version.ref = "kotlinx-kover" } +dokka-gradle = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } + +# Kotlin +kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } +kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } + +# KotlinX +kotlinx-atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "kotlinx-atomicfu" } + +## Coroutines +kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-js = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-js", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-playservices = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-debug = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-debug", version.ref = "kotlinx-coroutines" } + +## Serialization +kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinx-serialization" } +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } + +# Accompanist +accompanist-drawablepainter = { module = "com.google.accompanist:accompanist-drawablepainter", version.ref = "accompanist" } + +# Android +android-material = { module = "com.google.android.material:material", version.ref = "android-material" } +android-play-review = { module = "com.google.android.play:review", version.ref = "android-play-review" } +android-play-review-ktx = { module = "com.google.android.play:review-ktx", version.ref = "android-play-review" } +android-play-services-location = { module = "com.google.android.gms:play-services-location", version.ref = "android-play-services-location" } + +# AndroidX + +## Activity +androidx-activity = { module = "androidx.activity:activity", version.ref = "androidx-activity" } +androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" } +androidx-activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" } + +androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" } +androidx-arch-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidx-arch-core" } +androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" } + +# ByteBuddy +bytebuddy-agent = { module = "net.bytebuddy:byte-buddy-agent", version.ref = "bytebuddy" } +bytebuddy-android = { module = "net.bytebuddy:byte-buddy-android", version.ref = "bytebuddy" } + +## Compose +androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidx-compose" } +androidx-compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "androidx-compose-material" } +androidx-compose-ui = { module = "androidx.compose.ui:ui", version.ref = "androidx-compose-ui" } +androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidx-compose-ui" } +androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "androidx-compose-ui" } + +androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" } +androidx-core = { module = "androidx.core:core", version.ref = "androidx-core" } + +## Fragment +androidx-fragment = { module = "androidx.fragment:fragment", version.ref = "androidx-fragment" } +androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" } + +## Lifecycle +androidx-lifecycle-livedata = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle" } +androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" } +androidx-lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "androidx-lifecycle" } +androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" } +androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } + +androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "androidx-navigation" } + +## Test +androidx-test-core = { module = "androidx.test:core", version.ref = "androidx-test" } +androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidx-test" } +androidx-test-espresso = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-test-espresso" } +androidx-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-test-junit" } +androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidx-test" } +androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test-runner" } +androidx-test-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version.ref = "androidx-test-uiautomator" } + +junit = { module = "junit:junit", version.ref = "junit" } + +# Koin +koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" } +koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" } +koin-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin-compose" } + +napier = { module = "io.github.aakira:napier", version.ref = "napier" } +nordic-support-scanner = { module = "no.nordicsemi.android.support.v18:scanner", version.ref = "nordic-support" } + +# Mockito +mockito-android = { module = "org.mockito:mockito-android", version.ref = "mockito" } +mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" } + +[plugins] +android-library = { id = "com.android.library", version.ref = "androidGradle" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } +kotlinter = { id = "org.jmailen.kotlinter", version.ref = "kotlinter" } +dependencycheck = { id = "org.owasp.dependencycheck", version.ref = "dependencycheck" } +dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } + +kotlinx-binarycompatibilityvalidator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "binarycompatilityvalidator" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +kotlinx-atomicfu = { id = "kotlinx-atomicfu", version.ref = "kotlinx-atomicfu" } +kotlinx-kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kotlinx-kover"} +compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +[bundles] + diff --git a/links/api/jvm/links.api b/links/api/jvm/links.api deleted file mode 100644 index 55cac19ae..000000000 --- a/links/api/jvm/links.api +++ /dev/null @@ -1,32 +0,0 @@ -public final class com/splendo/kaluga/links/DefaultLinksManager : com/splendo/kaluga/links/LinksManager { - public fun (Lcom/splendo/kaluga/links/handler/LinksHandler;)V - public fun handleIncomingLink (Ljava/lang/String;Lkotlinx/serialization/KSerializer;)Ljava/lang/Object; - public fun validateLink (Ljava/lang/String;)Ljava/lang/String; -} - -public final class com/splendo/kaluga/links/DefaultLinksManager$Builder : com/splendo/kaluga/links/LinksManager$Builder { - public fun ()V - public fun (Lcom/splendo/kaluga/links/handler/LinksHandler;)V - public fun create ()Lcom/splendo/kaluga/links/LinksManager; -} - -public abstract interface class com/splendo/kaluga/links/LinksManager { - public abstract fun handleIncomingLink (Ljava/lang/String;Lkotlinx/serialization/KSerializer;)Ljava/lang/Object; - public abstract fun validateLink (Ljava/lang/String;)Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/links/LinksManager$Builder { - public abstract fun create ()Lcom/splendo/kaluga/links/LinksManager; -} - -public abstract interface class com/splendo/kaluga/links/handler/LinksHandler { - public abstract fun extractQueryAsList (Ljava/lang/String;)Ljava/util/List; - public abstract fun isValid (Ljava/lang/String;)Z -} - -public final class com/splendo/kaluga/links/handler/PlatformLinksHandler : com/splendo/kaluga/links/handler/LinksHandler { - public fun ()V - public fun extractQueryAsList (Ljava/lang/String;)Ljava/util/List; - public fun isValid (Ljava/lang/String;)Z -} - diff --git a/links/api/androidLib/links.api b/links/api/links.api similarity index 100% rename from links/api/androidLib/links.api rename to links/api/links.api diff --git a/links/build.gradle.kts b/links/build.gradle.kts index b03d0a5e8..7fe191be1 100644 --- a/links/build.gradle.kts +++ b/links/build.gradle.kts @@ -16,33 +16,19 @@ */ plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") + alias(libs.plugins.kotlin.serialization) } -publishableComponent("links") - -kotlin { - sourceSets { - sourceSets.all { - languageSettings { - optIn("kotlinx.serialization.ExperimentalSerializationApi") - } - } - - commonMain { - dependencies { +kaluga { + moduleName = "links" + dependencies { + common { + main { implementation(project(":base", "")) - apiDependency(Dependencies.KotlinX.Serialization.Core) + api(libs.kotlinx.serialization.core) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-base", "")) } } diff --git a/links/src/androidLibMain/kotlin/handler/PlatformLinksHandler.kt b/links/src/androidLibMain/kotlin/handler/PlatformLinksHandler.kt index e46ed672f..cd16ddbdb 100644 --- a/links/src/androidLibMain/kotlin/handler/PlatformLinksHandler.kt +++ b/links/src/androidLibMain/kotlin/handler/PlatformLinksHandler.kt @@ -24,9 +24,9 @@ import android.webkit.URLUtil * Android implementation of [LinksHandler] */ actual class PlatformLinksHandler : LinksHandler { - override fun isValid(url: String): Boolean = URLUtil.isValidUrl(url) + actual override fun isValid(url: String): Boolean = URLUtil.isValidUrl(url) - override fun extractQueryAsList(url: String): List { + actual override fun extractQueryAsList(url: String): List { val params = UrlQuerySanitizer(url) if (params.parameterList == null) { diff --git a/links/src/commonMain/kotlin/handler/PlatformLinksHandler.kt b/links/src/commonMain/kotlin/handler/PlatformLinksHandler.kt index 253f94b55..20706c624 100644 --- a/links/src/commonMain/kotlin/handler/PlatformLinksHandler.kt +++ b/links/src/commonMain/kotlin/handler/PlatformLinksHandler.kt @@ -20,4 +20,7 @@ package com.splendo.kaluga.links.handler /** * Platform specific implementation of [LinksHandler] */ -expect class PlatformLinksHandler constructor() : LinksHandler +expect class PlatformLinksHandler constructor() : LinksHandler { + override fun isValid(url: String): Boolean + override fun extractQueryAsList(url: String): List +} diff --git a/links/src/iosMain/kotlin/handler/PlatformLinksHandler.kt b/links/src/iosMain/kotlin/handler/PlatformLinksHandler.kt index 5e7e37007..a6812d7eb 100644 --- a/links/src/iosMain/kotlin/handler/PlatformLinksHandler.kt +++ b/links/src/iosMain/kotlin/handler/PlatformLinksHandler.kt @@ -27,12 +27,12 @@ import platform.Foundation.NSURLRequest * iOS implementation of [LinksHandler] */ actual class PlatformLinksHandler : LinksHandler { - override fun isValid(url: String): Boolean { + actual override fun isValid(url: String): Boolean { val nsUrl = NSURL.URLWithString(url) ?: return false return NSURLConnection.canHandleRequest(NSURLRequest.requestWithURL(nsUrl)) } - override fun extractQueryAsList(url: String): List { + actual override fun extractQueryAsList(url: String): List { val components = NSURLComponents(url) return components.queryItems.orEmpty().mapNotNull { (it as? NSURLQueryItem)?.value } } diff --git a/links/src/jsMain/kotlin/handler/PlatformLinksHandler.kt b/links/src/jsMain/kotlin/handler/PlatformLinksHandler.kt deleted file mode 100644 index 7c316289e..000000000 --- a/links/src/jsMain/kotlin/handler/PlatformLinksHandler.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.links.handler - -/** - * JavaScript implementation of [LinksHandler]. - * Not implemented - */ -actual class PlatformLinksHandler : LinksHandler { - override fun isValid(url: String): Boolean { - TODO("Not yet implemented") - } - - override fun extractQueryAsList(url: String): List { - TODO("Not yet implemented") - } -} diff --git a/links/src/jvmMain/kotlin/handler/PlatformLinksHandler.kt b/links/src/jvmMain/kotlin/handler/PlatformLinksHandler.kt deleted file mode 100644 index 00c65daec..000000000 --- a/links/src/jvmMain/kotlin/handler/PlatformLinksHandler.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.links.handler - -/** - * Java implementation of [LinksHandler] - * Not implemented - */ -actual class PlatformLinksHandler : LinksHandler { - override fun isValid(url: String): Boolean { - TODO("Not yet implemented") - } - - override fun extractQueryAsList(url: String): List { - TODO("Not yet implemented") - } -} diff --git a/location-permissions/api/jvm/location-permissions.api b/location-permissions/api/jvm/location-permissions.api deleted file mode 100644 index d516eee0c..000000000 --- a/location-permissions/api/jvm/location-permissions.api +++ /dev/null @@ -1,51 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/location/DefaultLocationPermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/location/LocationPermission : com/splendo/kaluga/permissions/base/Permission { - public fun ()V - public fun (ZZ)V - public synthetic fun (ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Z - public final fun component2 ()Z - public final fun copy (ZZ)Lcom/splendo/kaluga/permissions/location/LocationPermission; - public static synthetic fun copy$default (Lcom/splendo/kaluga/permissions/location/LocationPermission;ZZILjava/lang/Object;)Lcom/splendo/kaluga/permissions/location/LocationPermission; - public fun equals (Ljava/lang/Object;)Z - public final fun getBackground ()Z - public fun getName ()Ljava/lang/String; - public final fun getPrecise ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/location/LocationPermissionManagerBuilder : com/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/location/LocationPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/permissions/location/PermissionKt { - public static final fun registerLocationPermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; - public static synthetic fun registerLocationPermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; - public static final fun registerLocationPermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; - public static synthetic fun registerLocationPermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; - public static final fun registerLocationPermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; - public static synthetic fun registerLocationPermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; - public static final fun registerLocationPermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; - public static synthetic fun registerLocationPermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder; -} - diff --git a/location-permissions/api/androidLib/location-permissions.api b/location-permissions/api/location-permissions.api similarity index 98% rename from location-permissions/api/androidLib/location-permissions.api rename to location-permissions/api/location-permissions.api index 4e40c3fa6..191e85673 100644 --- a/location-permissions/api/androidLib/location-permissions.api +++ b/location-permissions/api/location-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/location/BaseLocationPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/location-permissions/build.gradle.kts b/location-permissions/build.gradle.kts index a65196ad4..48f0f5ff3 100644 --- a/location-permissions/build.gradle.kts +++ b/location-permissions/build.gradle.kts @@ -1,27 +1,20 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.location") - -dependencies { - implementationDependency(Dependencies.Android.PlayServices.Location) -} - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { - api(project(":base-permissions", "")) +kaluga { + moduleName = "permissions.location" + dependencies { + android { + main { + implementation(libs.android.play.services.location) } } - getByName("commonTest") { - dependencies { + common { + main { + api(project(":base-permissions", "")) + } + test { api(project(":test-utils-base", "")) } } diff --git a/location-permissions/src/androidLibMain/kotlin/LocationPermissionManager.kt b/location-permissions/src/androidLibMain/kotlin/LocationPermissionManager.kt index 791b18d18..e8273ca26 100644 --- a/location-permissions/src/androidLibMain/kotlin/LocationPermissionManager.kt +++ b/location-permissions/src/androidLibMain/kotlin/LocationPermissionManager.kt @@ -50,15 +50,15 @@ actual class DefaultLocationPermissionManager( private val permissionHandler = DefaultAndroidPermissionStateHandler(eventChannel, logTag, logger) private val permissionsManager = AndroidPermissionsManager(context, permissions, coroutineScope, logTag, logger, permissionHandler) - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { permissionsManager.requestPermissions() } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { permissionsManager.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { permissionsManager.stopMonitoring() } } @@ -69,7 +69,7 @@ actual class DefaultLocationPermissionManager( */ actual class LocationPermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseLocationPermissionManagerBuilder { - override fun create(locationPermission: LocationPermission, settings: Settings, coroutineScope: CoroutineScope): LocationPermissionManager { + actual override fun create(locationPermission: LocationPermission, settings: Settings, coroutineScope: CoroutineScope): LocationPermissionManager { return DefaultLocationPermissionManager(context.context, locationPermission, settings, coroutineScope) } } diff --git a/location-permissions/src/commonMain/kotlin/LocationPermission.kt b/location-permissions/src/commonMain/kotlin/LocationPermission.kt index a409223c3..bcc0970a6 100644 --- a/location-permissions/src/commonMain/kotlin/LocationPermission.kt +++ b/location-permissions/src/commonMain/kotlin/LocationPermission.kt @@ -35,7 +35,11 @@ typealias LocationPermissionManager = PermissionManager /** * The [BasePermissionManager] to use as a default for [LocationPermission] */ -expect class DefaultLocationPermissionManager : BasePermissionManager +expect class DefaultLocationPermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * A [BasePermissionsBuilder] for [LocationPermission] @@ -60,7 +64,9 @@ interface BaseLocationPermissionManagerBuilder : BasePermissionsBuilder(locationPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseLocationPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class LocationPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseLocationPermissionManagerBuilder { - - override fun create(locationPermission: LocationPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultLocationPermissionManager(locationPermission, settings, coroutineScope) - } -} diff --git a/location-permissions/src/jvmMain/kotlin/LocationPermissionManager.kt b/location-permissions/src/jvmMain/kotlin/LocationPermissionManager.kt deleted file mode 100644 index cdfcf4a8b..000000000 --- a/location-permissions/src/jvmMain/kotlin/LocationPermissionManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.location - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [LocationPermission] - * @param locationPermission the [LocationPermission] to manage - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultLocationPermissionManager( - locationPermission: LocationPermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(locationPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseLocationPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class LocationPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseLocationPermissionManagerBuilder { - - override fun create(locationPermission: LocationPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultLocationPermissionManager(locationPermission, settings, coroutineScope) - } -} diff --git a/location/api/jvm/location.api b/location/api/jvm/location.api deleted file mode 100644 index 82ca319d3..000000000 --- a/location/api/jvm/location.api +++ /dev/null @@ -1,351 +0,0 @@ -public abstract class com/splendo/kaluga/location/BaseLocationManager : com/splendo/kaluga/location/LocationManager, kotlinx/coroutines/CoroutineScope { - public static final field Companion Lcom/splendo/kaluga/location/BaseLocationManager$Companion; - public fun (Lcom/splendo/kaluga/location/BaseLocationManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - public fun getEvents ()Lkotlinx/coroutines/flow/Flow; - protected abstract fun getLocationMonitor ()Lcom/splendo/kaluga/location/LocationMonitor; - public fun getLocationPermission ()Lcom/splendo/kaluga/permissions/location/LocationPermission; - public fun getLocations ()Lkotlinx/coroutines/flow/Flow; - protected final fun getSharedLocations ()Lkotlinx/coroutines/flow/MutableSharedFlow; - protected fun handleLocationChanged (Lcom/splendo/kaluga/location/Location$KnownLocation;)V - protected fun handleLocationChanged (Ljava/util/List;)V - public fun isLocationEnabled ()Z - public fun startMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class com/splendo/kaluga/location/BaseLocationManager$Builder { - public abstract fun create (Lcom/splendo/kaluga/location/BaseLocationManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/location/BaseLocationManager; -} - -public final class com/splendo/kaluga/location/BaseLocationManager$Companion { -} - -public final class com/splendo/kaluga/location/BaseLocationManager$Settings { - public fun (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/Permissions;ZZIFLcom/splendo/kaluga/logging/Logger;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/Permissions;ZZIFLcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/permissions/location/LocationPermission; - public final fun component2 ()Lcom/splendo/kaluga/permissions/base/Permissions; - public final fun component3 ()Z - public final fun component4 ()Z - public final fun component5 ()I - public final fun component6 ()F - public final fun component7 ()Lcom/splendo/kaluga/logging/Logger; - public final fun copy (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/Permissions;ZZIFLcom/splendo/kaluga/logging/Logger;)Lcom/splendo/kaluga/location/BaseLocationManager$Settings; - public static synthetic fun copy$default (Lcom/splendo/kaluga/location/BaseLocationManager$Settings;Lcom/splendo/kaluga/permissions/location/LocationPermission;Lcom/splendo/kaluga/permissions/base/Permissions;ZZIFLcom/splendo/kaluga/logging/Logger;ILjava/lang/Object;)Lcom/splendo/kaluga/location/BaseLocationManager$Settings; - public fun equals (Ljava/lang/Object;)Z - public final fun getAutoEnableLocations ()Z - public final fun getAutoRequestPermission ()Z - public final fun getLocationBufferCapacity ()I - public final fun getLocationPermission ()Lcom/splendo/kaluga/permissions/location/LocationPermission; - public final fun getLogger ()Lcom/splendo/kaluga/logging/Logger; - public final fun getMinUpdateDistanceMeters ()F - public final fun getPermissions ()Lcom/splendo/kaluga/permissions/base/Permissions; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/location/BaseLocationStateRepo : com/splendo/kaluga/base/state/ColdStateFlowRepo { - public fun (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/CoroutineContext;)V -} - -public abstract interface class com/splendo/kaluga/location/BaseLocationStateRepoBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/location/LocationStateRepo; -} - -public final class com/splendo/kaluga/location/BaseLocationStateRepoBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/location/BaseLocationStateRepoBuilder;Lcom/splendo/kaluga/permissions/location/LocationPermission;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;ILjava/lang/Object;)Lcom/splendo/kaluga/location/LocationStateRepo; -} - -public final class com/splendo/kaluga/location/DMSCoordinate { - public static final field Companion Lcom/splendo/kaluga/location/DMSCoordinate$Companion; - public fun (IIDLcom/splendo/kaluga/location/DMSCoordinate$WindDirection;)V - public final fun component1 ()I - public final fun component2 ()I - public final fun component3 ()D - public final fun component4 ()Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; - public final fun copy (IIDLcom/splendo/kaluga/location/DMSCoordinate$WindDirection;)Lcom/splendo/kaluga/location/DMSCoordinate; - public static synthetic fun copy$default (Lcom/splendo/kaluga/location/DMSCoordinate;IIDLcom/splendo/kaluga/location/DMSCoordinate$WindDirection;ILjava/lang/Object;)Lcom/splendo/kaluga/location/DMSCoordinate; - public fun equals (Ljava/lang/Object;)Z - public final fun getDecimalDegrees ()D - public final fun getDegrees ()I - public final fun getMinutes ()I - public final fun getSeconds ()D - public final fun getWindDirection ()Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/location/DMSCoordinate$Companion { - public final fun fromLatitude (D)Lcom/splendo/kaluga/location/DMSCoordinate; - public final fun fromLongitude (D)Lcom/splendo/kaluga/location/DMSCoordinate; -} - -public final class com/splendo/kaluga/location/DMSCoordinate$WindDirection : java/lang/Enum { - public static final field East Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; - public static final field North Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; - public static final field South Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; - public static final field West Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; - public static fun values ()[Lcom/splendo/kaluga/location/DMSCoordinate$WindDirection; -} - -public final class com/splendo/kaluga/location/DefaultLocationManager : com/splendo/kaluga/location/BaseLocationManager { - public fun (Lcom/splendo/kaluga/location/BaseLocationManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V - public fun requestEnableLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/location/DefaultLocationManager$Builder : com/splendo/kaluga/location/BaseLocationManager$Builder { - public fun ()V - public fun create (Lcom/splendo/kaluga/location/BaseLocationManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/location/BaseLocationManager; -} - -public final class com/splendo/kaluga/location/DefaultLocationMonitor : com/splendo/kaluga/service/DefaultServiceMonitor, com/splendo/kaluga/location/LocationMonitor { - public fun ()V - public fun isServiceEnabled ()Z -} - -public abstract class com/splendo/kaluga/location/Location { -} - -public final class com/splendo/kaluga/location/Location$KnownLocation : com/splendo/kaluga/location/Location { - public fun (DDLjava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/splendo/kaluga/base/utils/KalugaDate;)V - public synthetic fun (DDLjava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/splendo/kaluga/base/utils/KalugaDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()D - public final fun component2 ()D - public final fun component3 ()Ljava/lang/Double; - public final fun component4 ()Ljava/lang/Double; - public final fun component5 ()Ljava/lang/Double; - public final fun component6 ()Ljava/lang/Double; - public final fun component7 ()Ljava/lang/Double; - public final fun component8 ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun copy (DDLjava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/splendo/kaluga/base/utils/KalugaDate;)Lcom/splendo/kaluga/location/Location$KnownLocation; - public static synthetic fun copy$default (Lcom/splendo/kaluga/location/Location$KnownLocation;DDLjava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/splendo/kaluga/base/utils/KalugaDate;ILjava/lang/Object;)Lcom/splendo/kaluga/location/Location$KnownLocation; - public fun equals (Ljava/lang/Object;)Z - public final fun getAltitude ()Ljava/lang/Double; - public final fun getCourse ()Ljava/lang/Double; - public final fun getHorizontalAccuracy ()Ljava/lang/Double; - public final fun getLatitude ()D - public final fun getLatitudeDMS ()Lcom/splendo/kaluga/location/DMSCoordinate; - public final fun getLongitude ()D - public final fun getLongitudeDMS ()Lcom/splendo/kaluga/location/DMSCoordinate; - public final fun getSpeed ()Ljava/lang/Double; - public final fun getTime ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun getVerticalAccuracy ()Ljava/lang/Double; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/location/Location$UnknownLocation : com/splendo/kaluga/location/Location { - public synthetic fun (Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun getReason ()Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; -} - -public final class com/splendo/kaluga/location/Location$UnknownLocation$Reason : java/lang/Enum { - public static final field NOT_CLEAR Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public static final field NO_GPS Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public static final field PERMISSION_DENIED Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public static fun values ()[Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; -} - -public final class com/splendo/kaluga/location/Location$UnknownLocation$WithLastLocation : com/splendo/kaluga/location/Location$UnknownLocation { - public fun (Lcom/splendo/kaluga/location/Location$KnownLocation;Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;)V - public final fun component1 ()Lcom/splendo/kaluga/location/Location$KnownLocation; - public final fun component2 ()Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public final fun copy (Lcom/splendo/kaluga/location/Location$KnownLocation;Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;)Lcom/splendo/kaluga/location/Location$UnknownLocation$WithLastLocation; - public static synthetic fun copy$default (Lcom/splendo/kaluga/location/Location$UnknownLocation$WithLastLocation;Lcom/splendo/kaluga/location/Location$KnownLocation;Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;ILjava/lang/Object;)Lcom/splendo/kaluga/location/Location$UnknownLocation$WithLastLocation; - public fun equals (Ljava/lang/Object;)Z - public final fun getLastKnownLocation ()Lcom/splendo/kaluga/location/Location$KnownLocation; - public fun getReason ()Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/location/Location$UnknownLocation$WithoutLastLocation : com/splendo/kaluga/location/Location$UnknownLocation { - public fun (Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;)V - public final fun component1 ()Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public final fun copy (Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;)Lcom/splendo/kaluga/location/Location$UnknownLocation$WithoutLastLocation; - public static synthetic fun copy$default (Lcom/splendo/kaluga/location/Location$UnknownLocation$WithoutLastLocation;Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;ILjava/lang/Object;)Lcom/splendo/kaluga/location/Location$UnknownLocation$WithoutLastLocation; - public fun equals (Ljava/lang/Object;)Z - public fun getReason ()Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/location/LocationKt { - public static final fun getKnown (Lcom/splendo/kaluga/location/Location;)Lcom/splendo/kaluga/location/Location$KnownLocation; - public static final fun getOrUnknown (Lcom/splendo/kaluga/location/Location$KnownLocation;)Lcom/splendo/kaluga/location/Location; - public static final fun unknownLocationOf (Lcom/splendo/kaluga/location/Location;Lcom/splendo/kaluga/location/Location$UnknownLocation$Reason;)Lcom/splendo/kaluga/location/Location$UnknownLocation; -} - -public abstract interface class com/splendo/kaluga/location/LocationManager { - public abstract fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getLocationPermission ()Lcom/splendo/kaluga/permissions/location/LocationPermission; - public abstract fun getLocations ()Lkotlinx/coroutines/flow/Flow; - public abstract fun isLocationEnabled ()Z - public abstract fun requestEnableLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract class com/splendo/kaluga/location/LocationManager$Event { -} - -public final class com/splendo/kaluga/location/LocationManager$Event$LocationDisabled : com/splendo/kaluga/location/LocationManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/location/LocationManager$Event$LocationDisabled; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/location/LocationManager$Event$LocationEnabled : com/splendo/kaluga/location/LocationManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/location/LocationManager$Event$LocationEnabled; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/location/LocationManager$Event$PermissionChanged : com/splendo/kaluga/location/LocationManager$Event { - public fun (Z)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/location/LocationManager$Event$PermissionChanged; - public static synthetic fun copy$default (Lcom/splendo/kaluga/location/LocationManager$Event$PermissionChanged;ZILjava/lang/Object;)Lcom/splendo/kaluga/location/LocationManager$Event$PermissionChanged; - public fun equals (Ljava/lang/Object;)Z - public final fun getHasPermission ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/location/LocationMonitor : com/splendo/kaluga/service/ServiceMonitor { -} - -public final class com/splendo/kaluga/location/LocationMonitor$Builder { - public fun ()V - public final fun create ()Lcom/splendo/kaluga/location/LocationMonitor; -} - -public abstract interface class com/splendo/kaluga/location/LocationState : com/splendo/kaluga/base/state/KalugaState { - public abstract fun getLocation ()Lcom/splendo/kaluga/location/Location; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Active : com/splendo/kaluga/location/LocationState { - public abstract fun getDeinitialized ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Active;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Deinitialized : com/splendo/kaluga/location/LocationState$Inactive { - public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Disabled : com/splendo/kaluga/location/LocationState$Initialized { -} - -public final class com/splendo/kaluga/location/LocationState$Disabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Disabled;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Disabled$NoGPS : com/splendo/kaluga/location/LocationState$Disabled, com/splendo/kaluga/location/LocationState$Permitted { - public abstract fun getEnable ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$Disabled$NoGPS$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Disabled$NoGPS;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Disabled$NotPermitted : com/splendo/kaluga/location/LocationState$Disabled { - public abstract fun permit (Z)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$Disabled$NotPermitted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Disabled$NotPermitted;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Enabled : com/splendo/kaluga/location/LocationState$Permitted { - public abstract fun getDisable ()Lkotlin/jvm/functions/Function1; - public abstract fun updateWithLocation (Lcom/splendo/kaluga/location/Location$KnownLocation;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$Enabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Enabled;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/location/LocationState { -} - -public final class com/splendo/kaluga/location/LocationState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Inactive;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Initialized : com/splendo/kaluga/location/LocationState$Active { -} - -public final class com/splendo/kaluga/location/LocationState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Initialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/location/LocationState$Active { - public abstract fun initialize (ZZ)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Initializing;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$NotInitialized : com/splendo/kaluga/location/LocationState$Inactive { -} - -public final class com/splendo/kaluga/location/LocationState$NotInitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$NotInitialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/location/LocationState$Permitted : com/splendo/kaluga/location/LocationState$Initialized { - public abstract fun getRevokePermission ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$Permitted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Permitted;)Lkotlin/jvm/functions/Function1; -} - -public class com/splendo/kaluga/location/LocationStateImplRepo : com/splendo/kaluga/location/BaseLocationStateRepo { - public fun (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/location/LocationStateKt { - public static final fun known-HG0u8IE (Lkotlinx/coroutines/flow/Flow;J)Lkotlinx/coroutines/flow/Flow; - public static synthetic fun known-HG0u8IE$default (Lkotlinx/coroutines/flow/Flow;JILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; - public static final fun location (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; -} - -public final class com/splendo/kaluga/location/LocationStateRepo : com/splendo/kaluga/location/LocationStateImplRepo { - public fun (Lkotlin/jvm/functions/Function2;Lcom/splendo/kaluga/location/BaseLocationManager$Builder;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/location/LocationStateRepoBuilder : com/splendo/kaluga/location/BaseLocationStateRepoBuilder { - public fun ()V - public fun (Lkotlin/jvm/functions/Function2;)V - public synthetic fun (Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/location/LocationStateRepo; -} - diff --git a/location/api/androidLib/location.api b/location/api/location.api similarity index 90% rename from location/api/androidLib/location.api rename to location/api/location.api index 41de0332a..ae8fa0cfa 100644 --- a/location/api/androidLib/location.api +++ b/location/api/location.api @@ -53,9 +53,6 @@ public abstract class com/splendo/kaluga/location/BaseLocationStateRepo : com/sp public abstract interface class com/splendo/kaluga/location/BaseLocationStateRepoBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/location/LocationStateRepo; -} - -public final class com/splendo/kaluga/location/BaseLocationStateRepoBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/location/BaseLocationStateRepoBuilder;Lcom/splendo/kaluga/permissions/location/LocationPermission;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;ILjava/lang/Object;)Lcom/splendo/kaluga/location/LocationStateRepo; } @@ -291,91 +288,43 @@ public abstract interface class com/splendo/kaluga/location/LocationState$Active public abstract fun getDeinitialized ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/location/LocationState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Active;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/location/LocationState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Deinitialized : com/splendo/kaluga/location/LocationState$Inactive { public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/location/LocationState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Disabled : com/splendo/kaluga/location/LocationState$Initialized { } -public final class com/splendo/kaluga/location/LocationState$Disabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Disabled;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Disabled$NoGPS : com/splendo/kaluga/location/LocationState$Disabled, com/splendo/kaluga/location/LocationState$Permitted { public abstract fun getEnable ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/location/LocationState$Disabled$NoGPS$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Disabled$NoGPS;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Disabled$NotPermitted : com/splendo/kaluga/location/LocationState$Disabled { public abstract fun permit (Z)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/location/LocationState$Disabled$NotPermitted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Disabled$NotPermitted;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Enabled : com/splendo/kaluga/location/LocationState$Permitted { public abstract fun getDisable ()Lkotlin/jvm/functions/Function1; public abstract fun updateWithLocation (Lcom/splendo/kaluga/location/Location$KnownLocation;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/location/LocationState$Enabled$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Enabled;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/location/LocationState { } -public final class com/splendo/kaluga/location/LocationState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Inactive;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Initialized : com/splendo/kaluga/location/LocationState$Active { } -public final class com/splendo/kaluga/location/LocationState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Initialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/location/LocationState$Active { public abstract fun initialize (ZZ)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/location/LocationState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Initializing;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$NotInitialized : com/splendo/kaluga/location/LocationState$Inactive { } -public final class com/splendo/kaluga/location/LocationState$NotInitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$NotInitialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/location/LocationState$Permitted : com/splendo/kaluga/location/LocationState$Initialized { public abstract fun getRevokePermission ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/location/LocationState$Permitted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/location/LocationState$Permitted;)Lkotlin/jvm/functions/Function1; -} - public class com/splendo/kaluga/location/LocationStateImplRepo : com/splendo/kaluga/location/BaseLocationStateRepo { public fun (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V } diff --git a/location/build.gradle.kts b/location/build.gradle.kts index 2d18dc83c..06ae38677 100644 --- a/location/build.gradle.kts +++ b/location/build.gradle.kts @@ -1,31 +1,24 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) } -publishableComponent("location") - -dependencies { - implementationDependency(Dependencies.Android.PlayServices.Location) - implementationDependency(Dependencies.KotlinX.Coroutines.PlayServices) - implementationDependency(Dependencies.KotlinX.AtomicFu) -} - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "location" + dependencies { + android { + main { + implementation(libs.android.play.services.location) + implementation(libs.kotlinx.coroutines.playservices) + implementation(libs.kotlinx.atomicfu) + } + } + common { + main { implementation(project(":service")) api(project(":location-permissions", "")) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-location", "")) } } diff --git a/location/src/androidLibMain/kotlin/location/LocationManager.kt b/location/src/androidLibMain/kotlin/location/LocationManager.kt index 45b62b456..1a3a4b12b 100644 --- a/location/src/androidLibMain/kotlin/location/LocationManager.kt +++ b/location/src/androidLibMain/kotlin/location/LocationManager.kt @@ -96,15 +96,15 @@ actual class DefaultLocationManager( } } - override val locationMonitor: LocationMonitor = LocationMonitor.Builder(context, locationManager).create() + actual override val locationMonitor: LocationMonitor = LocationMonitor.Builder(context, locationManager).create() private val monitoringMutex = Mutex() private var monitoringLocationJob: Job? = null - override suspend fun requestEnableLocation() { + actual override suspend fun requestEnableLocation() { EnableServiceActivity.showEnableServiceActivity(context, hashCode().toString(), Intent(ACTION_LOCATION_SOURCE_SETTINGS)).await() } - override suspend fun startMonitoringLocation() { + actual override suspend fun startMonitoringLocation() { monitoringMutex.withLock { if (monitoringLocationJob != null) return // optimization to skip making a job @@ -119,7 +119,7 @@ actual class DefaultLocationManager( } } - override suspend fun stopMonitoringLocation() { + actual override suspend fun stopMonitoringLocation() { monitoringMutex.withLock { monitoringLocationJob?.let { monitoringLocationJob = null @@ -183,7 +183,7 @@ actual class LocationStateRepoBuilder( }, ) - override fun create( + actual override fun create( locationPermission: LocationPermission, settingsBuilder: (LocationPermission, Permissions) -> Settings, coroutineContext: CoroutineContext, diff --git a/location/src/commonMain/kotlin/location/LocationManager.kt b/location/src/commonMain/kotlin/location/LocationManager.kt index 78575ec48..aebf457af 100644 --- a/location/src/commonMain/kotlin/location/LocationManager.kt +++ b/location/src/commonMain/kotlin/location/LocationManager.kt @@ -286,4 +286,10 @@ abstract class BaseLocationManager( /** * A default implementation of [BaseLocationManager] */ -expect class DefaultLocationManager : BaseLocationManager +expect class DefaultLocationManager : BaseLocationManager { + override val locationMonitor: LocationMonitor + + override suspend fun requestEnableLocation() + override suspend fun startMonitoringLocation() + override suspend fun stopMonitoringLocation() +} diff --git a/location/src/commonMain/kotlin/location/LocationStateRepo.kt b/location/src/commonMain/kotlin/location/LocationStateRepo.kt index 6d648eedf..1828ac8cf 100644 --- a/location/src/commonMain/kotlin/location/LocationStateRepo.kt +++ b/location/src/commonMain/kotlin/location/LocationStateRepo.kt @@ -179,4 +179,10 @@ interface BaseLocationStateRepoBuilder { /** * Default [BaseLocationStateRepoBuilder] */ -expect class LocationStateRepoBuilder : BaseLocationStateRepoBuilder +expect class LocationStateRepoBuilder : BaseLocationStateRepoBuilder { + override fun create( + locationPermission: LocationPermission, + settingsBuilder: (LocationPermission, Permissions) -> BaseLocationManager.Settings, + coroutineContext: CoroutineContext, + ): LocationStateRepo +} diff --git a/location/src/iosMain/kotlin/location/LocationManager.kt b/location/src/iosMain/kotlin/location/LocationManager.kt index 1872cdbf7..6763d25c5 100644 --- a/location/src/iosMain/kotlin/location/LocationManager.kt +++ b/location/src/iosMain/kotlin/location/LocationManager.kt @@ -79,7 +79,7 @@ actual class DefaultLocationManager( } } - override val locationMonitor: LocationMonitor = LocationMonitor.Builder(CLLocationManager()).create() + actual override val locationMonitor: LocationMonitor = LocationMonitor.Builder(CLLocationManager()).create() private val locationManager = MainCLLocationManagerAccessor { desiredAccuracy = if (locationPermission.precise) kCLLocationAccuracyBest else kCLLocationAccuracyReduced distanceFilter = settings.minUpdateDistanceMeters.toDouble() @@ -91,12 +91,12 @@ actual class DefaultLocationManager( locationUpdateDelegate = Delegate(sharedLocations) } - override suspend fun requestEnableLocation() { + actual override suspend fun requestEnableLocation() { // No access to UIApplication.openSettingsURLString // We have to fallback to alert then? } - override suspend fun startMonitoringLocation() { + actual override suspend fun startMonitoringLocation() { val locationUpdateDelegate = locationUpdateDelegate locationManager.updateLocationManager { delegate = locationUpdateDelegate @@ -104,7 +104,7 @@ actual class DefaultLocationManager( } } - override suspend fun stopMonitoringLocation() { + actual override suspend fun stopMonitoringLocation() { launch { locationManager.updateLocationManager { stopUpdatingLocation() @@ -140,7 +140,7 @@ actual class LocationStateRepoBuilder( }, ) - override fun create( + actual override fun create( locationPermission: LocationPermission, settingsBuilder: (LocationPermission, Permissions) -> Settings, coroutineContext: CoroutineContext, diff --git a/location/src/jsMain/kotlin/LocationManager.kt b/location/src/jsMain/kotlin/LocationManager.kt deleted file mode 100644 index 546dd18f2..000000000 --- a/location/src/jsMain/kotlin/LocationManager.kt +++ /dev/null @@ -1,83 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.location - -import com.splendo.kaluga.location.BaseLocationManager.Settings -import com.splendo.kaluga.permissions.base.Permissions -import com.splendo.kaluga.permissions.base.PermissionsBuilder -import com.splendo.kaluga.permissions.location.LocationPermission -import com.splendo.kaluga.permissions.location.registerLocationPermissionIfNotRegistered -import kotlinx.coroutines.CoroutineScope -import kotlin.coroutines.CoroutineContext - -/** - * A default implementation of [BaseLocationManager] - * @param settings the [Settings] to configure this location manager - * @param coroutineScope the [CoroutineScope] this location manager runs on - */ -actual class DefaultLocationManager( - settings: Settings, - coroutineScope: CoroutineScope, -) : BaseLocationManager(settings, coroutineScope) { - - /** - * Builder for creating a [DefaultLocationManager] - */ - class Builder : BaseLocationManager.Builder { - override fun create(settings: Settings, coroutineScope: CoroutineScope): BaseLocationManager { - return DefaultLocationManager(settings, coroutineScope) - } - } - - override val locationMonitor: LocationMonitor = LocationMonitor.Builder().create() - - override suspend fun requestEnableLocation() { - TODO("Not yet implemented") - } - - override suspend fun startMonitoringLocation() { - TODO("not implemented") - } - - override suspend fun stopMonitoringLocation() { - TODO("not implemented") - } -} - -/** - * Default [BaseLocationStateRepoBuilder] - * @param permissionsBuilder a method for creating the [Permissions] object to manage the Location permissions. - * Needs to have [com.splendo.kaluga.permissions.location.LocationPermission] registered. - */ -actual class LocationStateRepoBuilder( - private val permissionsBuilder: suspend (CoroutineContext) -> Permissions = { context -> - Permissions( - PermissionsBuilder().apply { registerLocationPermissionIfNotRegistered() }, - context, - ) - }, -) : BaseLocationStateRepoBuilder { - - override fun create( - locationPermission: LocationPermission, - settingsBuilder: (LocationPermission, Permissions) -> Settings, - coroutineContext: CoroutineContext, - ): LocationStateRepo { - return LocationStateRepo({ settingsBuilder(locationPermission, permissionsBuilder(it)) }, DefaultLocationManager.Builder(), coroutineContext) - } -} diff --git a/location/src/jsMain/kotlin/LocationMonitor.kt b/location/src/jsMain/kotlin/LocationMonitor.kt deleted file mode 100644 index f31d19aec..000000000 --- a/location/src/jsMain/kotlin/LocationMonitor.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.location - -import com.splendo.kaluga.service.DefaultServiceMonitor -import com.splendo.kaluga.service.ServiceMonitor - -/** - * A [ServiceMonitor] that monitors whether the location service is enabled - */ -actual interface LocationMonitor : ServiceMonitor { - - /** - * Builder for creating a [LocationMonitor] - */ - actual class Builder { - - /** - * Creates the [LocationMonitor] - * @return the created [LocationMonitor] - */ - actual fun create(): LocationMonitor = DefaultLocationMonitor() - } -} - -/** - * Default implementation of [LocationMonitor] - */ -class DefaultLocationMonitor : DefaultServiceMonitor(), LocationMonitor { - override val isServiceEnabled: Boolean - get() = TODO("Not yet implemented") - - override fun monitoringDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} diff --git a/location/src/jvmMain/kotlin/LocationManager.kt b/location/src/jvmMain/kotlin/LocationManager.kt deleted file mode 100644 index 546dd18f2..000000000 --- a/location/src/jvmMain/kotlin/LocationManager.kt +++ /dev/null @@ -1,83 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.location - -import com.splendo.kaluga.location.BaseLocationManager.Settings -import com.splendo.kaluga.permissions.base.Permissions -import com.splendo.kaluga.permissions.base.PermissionsBuilder -import com.splendo.kaluga.permissions.location.LocationPermission -import com.splendo.kaluga.permissions.location.registerLocationPermissionIfNotRegistered -import kotlinx.coroutines.CoroutineScope -import kotlin.coroutines.CoroutineContext - -/** - * A default implementation of [BaseLocationManager] - * @param settings the [Settings] to configure this location manager - * @param coroutineScope the [CoroutineScope] this location manager runs on - */ -actual class DefaultLocationManager( - settings: Settings, - coroutineScope: CoroutineScope, -) : BaseLocationManager(settings, coroutineScope) { - - /** - * Builder for creating a [DefaultLocationManager] - */ - class Builder : BaseLocationManager.Builder { - override fun create(settings: Settings, coroutineScope: CoroutineScope): BaseLocationManager { - return DefaultLocationManager(settings, coroutineScope) - } - } - - override val locationMonitor: LocationMonitor = LocationMonitor.Builder().create() - - override suspend fun requestEnableLocation() { - TODO("Not yet implemented") - } - - override suspend fun startMonitoringLocation() { - TODO("not implemented") - } - - override suspend fun stopMonitoringLocation() { - TODO("not implemented") - } -} - -/** - * Default [BaseLocationStateRepoBuilder] - * @param permissionsBuilder a method for creating the [Permissions] object to manage the Location permissions. - * Needs to have [com.splendo.kaluga.permissions.location.LocationPermission] registered. - */ -actual class LocationStateRepoBuilder( - private val permissionsBuilder: suspend (CoroutineContext) -> Permissions = { context -> - Permissions( - PermissionsBuilder().apply { registerLocationPermissionIfNotRegistered() }, - context, - ) - }, -) : BaseLocationStateRepoBuilder { - - override fun create( - locationPermission: LocationPermission, - settingsBuilder: (LocationPermission, Permissions) -> Settings, - coroutineContext: CoroutineContext, - ): LocationStateRepo { - return LocationStateRepo({ settingsBuilder(locationPermission, permissionsBuilder(it)) }, DefaultLocationManager.Builder(), coroutineContext) - } -} diff --git a/location/src/jvmMain/kotlin/LocationMonitor.kt b/location/src/jvmMain/kotlin/LocationMonitor.kt deleted file mode 100644 index f31d19aec..000000000 --- a/location/src/jvmMain/kotlin/LocationMonitor.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.location - -import com.splendo.kaluga.service.DefaultServiceMonitor -import com.splendo.kaluga.service.ServiceMonitor - -/** - * A [ServiceMonitor] that monitors whether the location service is enabled - */ -actual interface LocationMonitor : ServiceMonitor { - - /** - * Builder for creating a [LocationMonitor] - */ - actual class Builder { - - /** - * Creates the [LocationMonitor] - * @return the created [LocationMonitor] - */ - actual fun create(): LocationMonitor = DefaultLocationMonitor() - } -} - -/** - * Default implementation of [LocationMonitor] - */ -class DefaultLocationMonitor : DefaultServiceMonitor(), LocationMonitor { - override val isServiceEnabled: Boolean - get() = TODO("Not yet implemented") - - override fun monitoringDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} diff --git a/logging/api/androidLib/logging.api b/logging/api/androidLib/logging.api index 2fddda1f4..6a746d2bd 100644 --- a/logging/api/androidLib/logging.api +++ b/logging/api/androidLib/logging.api @@ -95,9 +95,6 @@ public final class com/splendo/kaluga/logging/LogLevel : java/lang/Enum { public abstract interface class com/splendo/kaluga/logging/Logger { public abstract fun log (Lcom/splendo/kaluga/logging/LogLevel;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V -} - -public final class com/splendo/kaluga/logging/Logger$DefaultImpls { public static synthetic fun log$default (Lcom/splendo/kaluga/logging/Logger;Lcom/splendo/kaluga/logging/LogLevel;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V } diff --git a/logging/api/jvm/logging.api b/logging/api/jvm/logging.api index f075987c8..d75aa304d 100644 --- a/logging/api/jvm/logging.api +++ b/logging/api/jvm/logging.api @@ -95,9 +95,6 @@ public final class com/splendo/kaluga/logging/LogLevel : java/lang/Enum { public abstract interface class com/splendo/kaluga/logging/Logger { public abstract fun log (Lcom/splendo/kaluga/logging/LogLevel;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V -} - -public final class com/splendo/kaluga/logging/Logger$DefaultImpls { public static synthetic fun log$default (Lcom/splendo/kaluga/logging/Logger;Lcom/splendo/kaluga/logging/LogLevel;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V } diff --git a/logging/build.gradle.kts b/logging/build.gradle.kts index c474a754c..458da649c 100644 --- a/logging/build.gradle.kts +++ b/logging/build.gradle.kts @@ -1,30 +1,28 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("com.android.library") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) } -publishableComponent("logging") +kaluga { + moduleName = "logging" -dependencies { - implementationDependency(Dependencies.KotlinX.AtomicFu) -} + supportJVM = true + supportJS = true -kotlin { - sourceSets { - commonMain { - dependencies { - implementationDependency(Dependencies.Napier) + dependencies { + android { + main { + implementation(libs.kotlinx.atomicfu) } } - commonTest { - dependencies { + common { + main { + implementation(libs.napier) + } + test { api(project(":test-utils-base", "")) } } + } } diff --git a/media/api/jvm/media.api b/media/api/jvm/media.api deleted file mode 100644 index 7a14b8f7e..000000000 --- a/media/api/jvm/media.api +++ /dev/null @@ -1,566 +0,0 @@ -public abstract class com/splendo/kaluga/media/BaseMediaManager : com/splendo/kaluga/media/MediaManager, kotlinx/coroutines/CoroutineScope { - public fun (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lkotlin/coroutines/CoroutineContext;)V - protected abstract fun cleanUp ()V - public fun close ()V - public final fun createPlayableMedia (Lcom/splendo/kaluga/media/MediaSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - public fun getEvents ()Lkotlinx/coroutines/flow/Flow; - protected fun handleCompleted ()V - protected abstract fun handleCreatePlayableMedia (Lcom/splendo/kaluga/media/MediaSource;)Lcom/splendo/kaluga/media/PlayableMedia; - protected fun handleError (Lcom/splendo/kaluga/media/PlaybackError;)V - protected fun handlePrepared (Lcom/splendo/kaluga/media/PlayableMedia;)V - protected fun handleRateChanged (F)V - protected abstract fun handleReset ()V - protected fun handleSeekCompleted (Z)V - public final fun reset ()V - public final fun seekTo-VtjQ1oo (JLkotlin/coroutines/Continuation;)Ljava/lang/Object; - protected abstract fun startSeek-LRDsOJo (J)V -} - -public abstract interface class com/splendo/kaluga/media/BaseMediaManager$Builder { - public abstract fun create (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/media/BaseMediaManager; -} - -public abstract class com/splendo/kaluga/media/BasePlaybackStateRepo : com/splendo/kaluga/base/state/HotStateFlowRepo { - public fun (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/media/DefaultMediaManager : com/splendo/kaluga/media/BaseMediaManager { - public fun (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lkotlin/coroutines/CoroutineContext;)V - public fun getCurrentVolume ()Lkotlinx/coroutines/flow/Flow; - public fun initialize (Lcom/splendo/kaluga/media/PlayableMedia;)V - public fun pause ()V - public fun play (F)V - public fun renderVideoOnSurface (Lcom/splendo/kaluga/media/MediaSurface;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stop ()V - public fun updateVolume (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/media/DefaultMediaManager$Builder : com/splendo/kaluga/media/BaseMediaManager$Builder { - public fun ()V - public synthetic fun create (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/media/BaseMediaManager; - public fun create (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/media/DefaultMediaManager; -} - -public final class com/splendo/kaluga/media/DefaultMediaPlayer : com/splendo/kaluga/media/MediaPlayer, kotlinx/coroutines/CoroutineScope { - public fun (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lcom/splendo/kaluga/media/BaseMediaManager$Builder;Lkotlin/coroutines/CoroutineContext;)V - public fun (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V - public fun awaitCompletion (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun close ()V - public fun forceStart (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun getControls ()Lkotlinx/coroutines/flow/Flow; - public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; - public fun getCurrentVolume ()Lkotlinx/coroutines/flow/Flow; - public fun getPlayableMedia ()Lkotlinx/coroutines/flow/Flow; - public fun initializeFor (Lcom/splendo/kaluga/media/MediaSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun renderVideoOnSurface (Lcom/splendo/kaluga/media/MediaSurface;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun reset (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun updateVolume (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/media/DefaultPlayableMedia : com/splendo/kaluga/media/PlayableMedia { - public fun (Lcom/splendo/kaluga/media/MediaSource;)V - public fun getCurrentPlayTime-UwyO8pc ()J - public fun getDuration-UwyO8pc ()J - public fun getResolution ()Lkotlinx/coroutines/flow/Flow; - public fun getSource ()Lcom/splendo/kaluga/media/MediaSource; - public fun getTracks ()Ljava/util/List; -} - -public abstract interface class com/splendo/kaluga/media/MediaManager : com/splendo/kaluga/media/MediaSurfaceController, com/splendo/kaluga/media/VolumeController { - public abstract fun close ()V - public abstract fun createPlayableMedia (Lcom/splendo/kaluga/media/MediaSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public abstract fun initialize (Lcom/splendo/kaluga/media/PlayableMedia;)V - public abstract fun pause ()V - public abstract fun play (F)V - public abstract fun reset ()V - public abstract fun seekTo-VtjQ1oo (JLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stop ()V -} - -public abstract class com/splendo/kaluga/media/MediaManager$Event { -} - -public final class com/splendo/kaluga/media/MediaManager$Event$DidComplete : com/splendo/kaluga/media/MediaManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/media/MediaManager$Event$DidComplete; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/MediaManager$Event$DidEnd : com/splendo/kaluga/media/MediaManager$Event { - public static final field INSTANCE Lcom/splendo/kaluga/media/MediaManager$Event$DidEnd; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/MediaManager$Event$DidFailWithError : com/splendo/kaluga/media/MediaManager$Event { - public fun (Lcom/splendo/kaluga/media/PlaybackError;)V - public final fun component1 ()Lcom/splendo/kaluga/media/PlaybackError; - public final fun copy (Lcom/splendo/kaluga/media/PlaybackError;)Lcom/splendo/kaluga/media/MediaManager$Event$DidFailWithError; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/MediaManager$Event$DidFailWithError;Lcom/splendo/kaluga/media/PlaybackError;ILjava/lang/Object;)Lcom/splendo/kaluga/media/MediaManager$Event$DidFailWithError; - public fun equals (Ljava/lang/Object;)Z - public final fun getError ()Lcom/splendo/kaluga/media/PlaybackError; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/MediaManager$Event$DidPrepare : com/splendo/kaluga/media/MediaManager$Event { - public fun (Lcom/splendo/kaluga/media/PlayableMedia;)V - public final fun component1 ()Lcom/splendo/kaluga/media/PlayableMedia; - public final fun copy (Lcom/splendo/kaluga/media/PlayableMedia;)Lcom/splendo/kaluga/media/MediaManager$Event$DidPrepare; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/MediaManager$Event$DidPrepare;Lcom/splendo/kaluga/media/PlayableMedia;ILjava/lang/Object;)Lcom/splendo/kaluga/media/MediaManager$Event$DidPrepare; - public fun equals (Ljava/lang/Object;)Z - public final fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/MediaManager$Event$RateDidChange : com/splendo/kaluga/media/MediaManager$Event { - public fun (F)V - public final fun component1 ()F - public final fun copy (F)Lcom/splendo/kaluga/media/MediaManager$Event$RateDidChange; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/MediaManager$Event$RateDidChange;FILjava/lang/Object;)Lcom/splendo/kaluga/media/MediaManager$Event$RateDidChange; - public fun equals (Ljava/lang/Object;)Z - public final fun getNewRate ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/media/MediaPlayer : com/splendo/kaluga/media/MediaSurfaceController, com/splendo/kaluga/media/VolumeController { - public abstract fun awaitCompletion (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun close ()V - public abstract fun forceStart (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun getControls ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getPlayableMedia ()Lkotlinx/coroutines/flow/Flow; - public abstract fun initializeFor (Lcom/splendo/kaluga/media/MediaSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun reset (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls { - public fun ()V - public fun (Lcom/splendo/kaluga/media/MediaPlayer$Controls$Play;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Pause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Unpause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Stop;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Seek;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetRate;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetLoopMode;Lcom/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation;Lcom/splendo/kaluga/media/MediaPlayer$Controls$DisplayError;)V - public synthetic fun (Lcom/splendo/kaluga/media/MediaPlayer$Controls$Play;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Pause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Unpause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Stop;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Seek;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetRate;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetLoopMode;Lcom/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation;Lcom/splendo/kaluga/media/MediaPlayer$Controls$DisplayError;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Play; - public final fun component2 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Pause; - public final fun component3 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Unpause; - public final fun component4 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Stop; - public final fun component5 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Seek; - public final fun component6 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetRate; - public final fun component7 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetLoopMode; - public final fun component8 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation; - public final fun component9 ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$DisplayError; - public final fun copy (Lcom/splendo/kaluga/media/MediaPlayer$Controls$Play;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Pause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Unpause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Stop;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Seek;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetRate;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetLoopMode;Lcom/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation;Lcom/splendo/kaluga/media/MediaPlayer$Controls$DisplayError;)Lcom/splendo/kaluga/media/MediaPlayer$Controls; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/MediaPlayer$Controls;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Play;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Pause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Unpause;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Stop;Lcom/splendo/kaluga/media/MediaPlayer$Controls$Seek;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetRate;Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetLoopMode;Lcom/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation;Lcom/splendo/kaluga/media/MediaPlayer$Controls$DisplayError;ILjava/lang/Object;)Lcom/splendo/kaluga/media/MediaPlayer$Controls; - public fun equals (Ljava/lang/Object;)Z - public final fun getAwaitPreparation ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation; - public final fun getControlTypes ()Ljava/util/Set; - public final fun getDisplayError ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$DisplayError; - public final fun getPause ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Pause; - public final fun getPlay ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Play; - public final fun getSeek ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Seek; - public final fun getSetLoopMode ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetLoopMode; - public final fun getSetRate ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$SetRate; - public final fun getStop ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Stop; - public final fun getUnpause ()Lcom/splendo/kaluga/media/MediaPlayer$Controls$Unpause; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; - public final fun tryPause (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun tryPlay (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun tryPlay$default (Lcom/splendo/kaluga/media/MediaPlayer$Controls;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public final fun trySeek-VtjQ1oo (JLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun trySetLoopMode (Lcom/splendo/kaluga/media/PlaybackState$LoopMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun trySetRate (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun tryStop (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun tryUnpause (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public static final field INSTANCE Lcom/splendo/kaluga/media/MediaPlayer$Controls$AwaitPreparation; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$DisplayError : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (Lcom/splendo/kaluga/media/PlaybackError;)V - public final fun getError ()Lcom/splendo/kaluga/media/PlaybackError; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$Pause : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (Lkotlin/jvm/functions/Function1;)V - public final fun getPerform ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$Play : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (Lkotlin/jvm/functions/Function2;)V - public final fun getPerform ()Lkotlin/jvm/functions/Function2; - public final fun performDefault (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$Seek : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (Lkotlin/jvm/functions/Function2;)V - public final fun getPerform ()Lkotlin/jvm/functions/Function2; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$SetLoopMode : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (Lcom/splendo/kaluga/media/PlaybackState$LoopMode;Lkotlin/jvm/functions/Function2;)V - public final fun getCurrentLoopMode ()Lcom/splendo/kaluga/media/PlaybackState$LoopMode; - public final fun getPerform ()Lkotlin/jvm/functions/Function2; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$SetRate : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (FLkotlin/jvm/functions/Function2;)V - public final fun getCurrentRate ()F - public final fun getPerform ()Lkotlin/jvm/functions/Function2; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$Stop : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (Lkotlin/jvm/functions/Function1;)V - public final fun getPerform ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/MediaPlayer$Controls$Unpause : com/splendo/kaluga/media/MediaPlayer$Controls$ControlType { - public fun (Lkotlin/jvm/functions/Function1;)V - public final fun getPerform ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/MediaPlayer$DefaultImpls { - public static synthetic fun forceStart$default (Lcom/splendo/kaluga/media/MediaPlayer;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/media/MediaPlayerKt { - public static final fun getDuration (Lcom/splendo/kaluga/media/MediaPlayer;)Lkotlinx/coroutines/flow/Flow; - public static final fun play (Lcom/splendo/kaluga/media/MediaPlayer;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun play$default (Lcom/splendo/kaluga/media/MediaPlayer;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun playTime-HG0u8IE (Lcom/splendo/kaluga/media/MediaPlayer;J)Lkotlinx/coroutines/flow/Flow; -} - -public abstract class com/splendo/kaluga/media/MediaSource { -} - -public final class com/splendo/kaluga/media/MediaSource$URL : com/splendo/kaluga/media/MediaSource { - public fun (Ljava/lang/String;)V - public final fun component1 ()Ljava/lang/String; - public final fun copy (Ljava/lang/String;)Lcom/splendo/kaluga/media/MediaSource$URL; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/MediaSource$URL;Ljava/lang/String;ILjava/lang/Object;)Lcom/splendo/kaluga/media/MediaSource$URL; - public fun equals (Ljava/lang/Object;)Z - public final fun getUrl ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/MediaSourceKt { - public static final fun mediaSourceFromUrl (Ljava/lang/String;)Lcom/splendo/kaluga/media/MediaSource; -} - -public final class com/splendo/kaluga/media/MediaSurface { - public fun ()V -} - -public abstract interface class com/splendo/kaluga/media/MediaSurfaceController { - public abstract fun renderVideoOnSurface (Lcom/splendo/kaluga/media/MediaSurface;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class com/splendo/kaluga/media/MediaSurfaceProvider : com/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable { - public abstract fun getSurface ()Lkotlinx/coroutines/flow/Flow; -} - -public abstract interface class com/splendo/kaluga/media/PlayableMedia { - public abstract fun getCurrentPlayTime-UwyO8pc ()J - public abstract fun getDuration-UwyO8pc ()J - public abstract fun getResolution ()Lkotlinx/coroutines/flow/Flow; - public abstract fun getSource ()Lcom/splendo/kaluga/media/MediaSource; - public abstract fun getTracks ()Ljava/util/List; -} - -public final class com/splendo/kaluga/media/PlayableMediaKt { - public static final fun isVideo (Lcom/splendo/kaluga/media/PlayableMedia;)Z -} - -public abstract class com/splendo/kaluga/media/PlaybackError : java/lang/Exception { -} - -public final class com/splendo/kaluga/media/PlaybackError$IO : com/splendo/kaluga/media/PlaybackError { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackError$IO; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackError$MalformedMediaSource : com/splendo/kaluga/media/PlaybackError { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackError$MalformedMediaSource; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackError$PlaybackHasEnded : com/splendo/kaluga/media/PlaybackError { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackError$PlaybackHasEnded; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackError$TimedOut : com/splendo/kaluga/media/PlaybackError { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackError$TimedOut; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackError$Uninitalized : com/splendo/kaluga/media/PlaybackError { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackError$Uninitalized; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackError$Unknown : com/splendo/kaluga/media/PlaybackError { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackError$Unknown; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackError$Unsupported : com/splendo/kaluga/media/PlaybackError { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackError$Unsupported; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState : com/splendo/kaluga/base/state/KalugaState { -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Active : com/splendo/kaluga/media/PlaybackState { - public abstract fun failWithError (Lcom/splendo/kaluga/media/PlaybackError;)Lkotlin/jvm/functions/Function1; - public abstract fun getEnd ()Lkotlin/jvm/functions/Function1; - public abstract fun getMediaSurfaceController ()Lcom/splendo/kaluga/media/MediaSurfaceController; - public abstract fun getReset ()Lkotlin/jvm/functions/Function1; - public abstract fun getVolumeController ()Lcom/splendo/kaluga/media/VolumeController; -} - -public final class com/splendo/kaluga/media/PlaybackState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Active;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Closed : com/splendo/kaluga/base/flow/SpecialFlowValue$Last, com/splendo/kaluga/media/PlaybackState { -} - -public final class com/splendo/kaluga/media/PlaybackState$Closed$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Closed;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Completed : com/splendo/kaluga/media/PlaybackState$PlayingOrCompleted { - public abstract fun start (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Completed$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Completed;)Lkotlin/jvm/functions/Function1; - public static synthetic fun start$default (Lcom/splendo/kaluga/media/PlaybackState$Completed;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Error : com/splendo/kaluga/media/PlaybackState$InitializedOrError { - public abstract fun getError ()Lcom/splendo/kaluga/media/PlaybackError; -} - -public final class com/splendo/kaluga/media/PlaybackState$Error$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Error;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Idle : com/splendo/kaluga/media/PlaybackState$Prepared { - public abstract fun play (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Idle$DefaultImpls { - public static synthetic fun play$default (Lcom/splendo/kaluga/media/PlaybackState$Idle;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Idle;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Initialized : com/splendo/kaluga/media/PlaybackState$InitializedOrError { - public abstract fun getSource ()Lcom/splendo/kaluga/media/MediaSource; - public abstract fun prepared (Lcom/splendo/kaluga/media/PlayableMedia;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Initialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$InitializedOrError : com/splendo/kaluga/media/PlaybackState$Active { -} - -public final class com/splendo/kaluga/media/PlaybackState$InitializedOrError$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$InitializedOrError;)Lkotlin/jvm/functions/Function1; -} - -public abstract class com/splendo/kaluga/media/PlaybackState$LoopMode { -} - -public final class com/splendo/kaluga/media/PlaybackState$LoopMode$LoopingForFixedNumber : com/splendo/kaluga/media/PlaybackState$LoopMode { - public synthetic fun (ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1-pVg5ArA ()I - public final fun copy-WZ4Q5Ns (I)Lcom/splendo/kaluga/media/PlaybackState$LoopMode$LoopingForFixedNumber; - public static synthetic fun copy-WZ4Q5Ns$default (Lcom/splendo/kaluga/media/PlaybackState$LoopMode$LoopingForFixedNumber;IILjava/lang/Object;)Lcom/splendo/kaluga/media/PlaybackState$LoopMode$LoopingForFixedNumber; - public fun equals (Ljava/lang/Object;)Z - public final fun getLoops-pVg5ArA ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackState$LoopMode$LoopingForever : com/splendo/kaluga/media/PlaybackState$LoopMode { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackState$LoopMode$LoopingForever; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/PlaybackState$LoopMode$NotLooping : com/splendo/kaluga/media/PlaybackState$LoopMode { - public static final field INSTANCE Lcom/splendo/kaluga/media/PlaybackState$LoopMode$NotLooping; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Paused : com/splendo/kaluga/media/PlaybackState$Started { - public abstract fun getPlay ()Lkotlin/jvm/functions/Function1; - public abstract fun playWithUpdatedPlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public abstract fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Paused$DefaultImpls { - public static fun playWithUpdatedPlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$Paused;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Paused;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$PlaybackParameters { - public fun ()V - public fun (FLcom/splendo/kaluga/media/PlaybackState$LoopMode;)V - public synthetic fun (FLcom/splendo/kaluga/media/PlaybackState$LoopMode;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()F - public final fun component2 ()Lcom/splendo/kaluga/media/PlaybackState$LoopMode; - public final fun copy (FLcom/splendo/kaluga/media/PlaybackState$LoopMode;)Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;FLcom/splendo/kaluga/media/PlaybackState$LoopMode;ILjava/lang/Object;)Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; - public fun equals (Ljava/lang/Object;)Z - public final fun getLoopMode ()Lcom/splendo/kaluga/media/PlaybackState$LoopMode; - public final fun getRate ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Playing : com/splendo/kaluga/media/PlaybackState$PlayingOrCompleted, com/splendo/kaluga/media/PlaybackState$Started { - public abstract fun getCompletedLoop ()Lkotlin/jvm/functions/Function1; - public abstract fun getPause ()Lkotlin/jvm/functions/Function1; - public abstract fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Playing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Playing;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$PlayingOrCompleted : com/splendo/kaluga/media/PlaybackState$Prepared { -} - -public final class com/splendo/kaluga/media/PlaybackState$PlayingOrCompleted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$PlayingOrCompleted;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Prepared : com/splendo/kaluga/media/PlaybackState$Active { - public abstract fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; - public abstract fun getStop ()Lkotlin/jvm/functions/Function1; - public abstract fun seekTo-VtjQ1oo (JLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/media/PlaybackState$Prepared$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Prepared;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Started : com/splendo/kaluga/media/PlaybackState$Prepared { - public abstract fun getPlaybackParameters ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; - public abstract fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Started$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Started;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Stopped : com/splendo/kaluga/media/PlaybackState$Active { - public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Stopped$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Stopped;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/media/PlaybackState$Uninitialized : com/splendo/kaluga/media/PlaybackState$Active { - public abstract fun initialize (Lcom/splendo/kaluga/media/MediaSource;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Uninitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Uninitialized;)Lkotlin/jvm/functions/Function1; -} - -public class com/splendo/kaluga/media/PlaybackStateRepo : com/splendo/kaluga/media/BasePlaybackStateRepo { - public fun (Lcom/splendo/kaluga/media/MediaManager;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/media/Resolution { - public static final field Companion Lcom/splendo/kaluga/media/Resolution$Companion; - public fun (II)V - public final fun component1 ()I - public final fun component2 ()I - public final fun copy (II)Lcom/splendo/kaluga/media/Resolution; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/Resolution;IIILjava/lang/Object;)Lcom/splendo/kaluga/media/Resolution; - public fun equals (Ljava/lang/Object;)Z - public final fun getAspectRatio ()Ljava/lang/String; - public final fun getHeight ()I - public final fun getWidth ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/Resolution$Companion { - public final fun getZERO ()Lcom/splendo/kaluga/media/Resolution; -} - -public final class com/splendo/kaluga/media/TrackInfo { - public fun (ILcom/splendo/kaluga/media/TrackInfo$Type;Ljava/lang/String;)V - public final fun component1 ()I - public final fun component2 ()Lcom/splendo/kaluga/media/TrackInfo$Type; - public final fun component3 ()Ljava/lang/String; - public final fun copy (ILcom/splendo/kaluga/media/TrackInfo$Type;Ljava/lang/String;)Lcom/splendo/kaluga/media/TrackInfo; - public static synthetic fun copy$default (Lcom/splendo/kaluga/media/TrackInfo;ILcom/splendo/kaluga/media/TrackInfo$Type;Ljava/lang/String;ILjava/lang/Object;)Lcom/splendo/kaluga/media/TrackInfo; - public fun equals (Ljava/lang/Object;)Z - public final fun getId ()I - public final fun getLanguage ()Ljava/lang/String; - public final fun getType ()Lcom/splendo/kaluga/media/TrackInfo$Type; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/media/TrackInfo$Type : java/lang/Enum { - public static final field AUDIO Lcom/splendo/kaluga/media/TrackInfo$Type; - public static final field METADATA Lcom/splendo/kaluga/media/TrackInfo$Type; - public static final field SUBTITLE Lcom/splendo/kaluga/media/TrackInfo$Type; - public static final field TIMED_TEXT Lcom/splendo/kaluga/media/TrackInfo$Type; - public static final field UNKNOWN Lcom/splendo/kaluga/media/TrackInfo$Type; - public static final field VIDEO Lcom/splendo/kaluga/media/TrackInfo$Type; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/media/TrackInfo$Type; - public static fun values ()[Lcom/splendo/kaluga/media/TrackInfo$Type; -} - -public abstract interface class com/splendo/kaluga/media/VolumeController { - public abstract fun getCurrentVolume ()Lkotlinx/coroutines/flow/Flow; - public abstract fun updateVolume (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - diff --git a/media/api/androidLib/media.api b/media/api/media.api similarity index 91% rename from media/api/androidLib/media.api rename to media/api/media.api index 197fbfbfe..a02ce7fa6 100644 --- a/media/api/androidLib/media.api +++ b/media/api/media.api @@ -142,6 +142,7 @@ public abstract interface class com/splendo/kaluga/media/MediaPlayer : com/splen public abstract fun awaitCompletion (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun close ()V public abstract fun forceStart (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun forceStart$default (Lcom/splendo/kaluga/media/MediaPlayer;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public abstract fun getControls ()Lkotlinx/coroutines/flow/Flow; public abstract fun getPlayableMedia ()Lkotlinx/coroutines/flow/Flow; public abstract fun initializeFor (Lcom/splendo/kaluga/media/MediaSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -239,10 +240,6 @@ public final class com/splendo/kaluga/media/MediaPlayer$Controls$Unpause : com/s public final fun getPerform ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/MediaPlayer$DefaultImpls { - public static synthetic fun forceStart$default (Lcom/splendo/kaluga/media/MediaPlayer;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; -} - public final class com/splendo/kaluga/media/MediaPlayerKt { public static final fun getDuration (Lcom/splendo/kaluga/media/MediaPlayer;)Lkotlinx/coroutines/flow/Flow; public static final fun play (Lcom/splendo/kaluga/media/MediaPlayer;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -402,45 +399,21 @@ public abstract interface class com/splendo/kaluga/media/PlaybackState$Active : public abstract fun getVolumeController ()Lcom/splendo/kaluga/media/VolumeController; } -public final class com/splendo/kaluga/media/PlaybackState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Active;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Closed : com/splendo/kaluga/base/flow/SpecialFlowValue$Last, com/splendo/kaluga/media/PlaybackState { } -public final class com/splendo/kaluga/media/PlaybackState$Closed$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Closed;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Completed : com/splendo/kaluga/media/PlaybackState$PlayingOrCompleted { public abstract fun start (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Completed$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Completed;)Lkotlin/jvm/functions/Function1; public static synthetic fun start$default (Lcom/splendo/kaluga/media/PlaybackState$Completed;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/PlaybackState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Error : com/splendo/kaluga/media/PlaybackState$InitializedOrError { public abstract fun getError ()Lcom/splendo/kaluga/media/PlaybackError; } -public final class com/splendo/kaluga/media/PlaybackState$Error$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Error;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Idle : com/splendo/kaluga/media/PlaybackState$Prepared { public abstract fun play (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/media/PlaybackState$Idle$DefaultImpls { public static synthetic fun play$default (Lcom/splendo/kaluga/media/PlaybackState$Idle;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Idle;)Lkotlin/jvm/functions/Function1; } public abstract interface class com/splendo/kaluga/media/PlaybackState$Initialized : com/splendo/kaluga/media/PlaybackState$InitializedOrError { @@ -448,17 +421,9 @@ public abstract interface class com/splendo/kaluga/media/PlaybackState$Initializ public abstract fun prepared (Lcom/splendo/kaluga/media/PlayableMedia;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/PlaybackState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Initialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$InitializedOrError : com/splendo/kaluga/media/PlaybackState$Active { } -public final class com/splendo/kaluga/media/PlaybackState$InitializedOrError$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$InitializedOrError;)Lkotlin/jvm/functions/Function1; -} - public abstract class com/splendo/kaluga/media/PlaybackState$LoopMode { } @@ -489,15 +454,10 @@ public final class com/splendo/kaluga/media/PlaybackState$LoopMode$NotLooping : public abstract interface class com/splendo/kaluga/media/PlaybackState$Paused : com/splendo/kaluga/media/PlaybackState$Started { public abstract fun getPlay ()Lkotlin/jvm/functions/Function1; - public abstract fun playWithUpdatedPlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; + public fun playWithUpdatedPlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; public abstract fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/PlaybackState$Paused$DefaultImpls { - public static fun playWithUpdatedPlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$Paused;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Paused;)Lkotlin/jvm/functions/Function1; -} - public final class com/splendo/kaluga/media/PlaybackState$PlaybackParameters { public fun ()V public fun (FLcom/splendo/kaluga/media/PlaybackState$LoopMode;)V @@ -519,52 +479,28 @@ public abstract interface class com/splendo/kaluga/media/PlaybackState$Playing : public abstract fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/PlaybackState$Playing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Playing;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$PlayingOrCompleted : com/splendo/kaluga/media/PlaybackState$Prepared { } -public final class com/splendo/kaluga/media/PlaybackState$PlayingOrCompleted$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$PlayingOrCompleted;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Prepared : com/splendo/kaluga/media/PlaybackState$Active { public abstract fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; public abstract fun getStop ()Lkotlin/jvm/functions/Function1; public abstract fun seekTo-VtjQ1oo (JLkotlin/coroutines/Continuation;)Ljava/lang/Object; } -public final class com/splendo/kaluga/media/PlaybackState$Prepared$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Prepared;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Started : com/splendo/kaluga/media/PlaybackState$Prepared { public abstract fun getPlaybackParameters ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; public abstract fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/PlaybackState$Started$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Started;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Stopped : com/splendo/kaluga/media/PlaybackState$Active { public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/PlaybackState$Stopped$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Stopped;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/media/PlaybackState$Uninitialized : com/splendo/kaluga/media/PlaybackState$Active { public abstract fun initialize (Lcom/splendo/kaluga/media/MediaSource;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/media/PlaybackState$Uninitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/media/PlaybackState$Uninitialized;)Lkotlin/jvm/functions/Function1; -} - public class com/splendo/kaluga/media/PlaybackStateRepo : com/splendo/kaluga/media/BasePlaybackStateRepo { public fun (Lcom/splendo/kaluga/media/MediaManager;Lkotlin/coroutines/CoroutineContext;)V } diff --git a/media/build.gradle.kts b/media/build.gradle.kts index c0f3ad416..6589f66ed 100644 --- a/media/build.gradle.kts +++ b/media/build.gradle.kts @@ -1,27 +1,17 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("media") - -dependencies { } - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "media" + dependencies { + common { + main { implementation(project(":base")) implementation(project(":architecture")) implementation(project(":logging")) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-media")) } } diff --git a/media/src/androidLibMain/kotlin/DefaultMediaManager.kt b/media/src/androidLibMain/kotlin/DefaultMediaManager.kt index b06641030..6c6ccc9f1 100644 --- a/media/src/androidLibMain/kotlin/DefaultMediaManager.kt +++ b/media/src/androidLibMain/kotlin/DefaultMediaManager.kt @@ -40,14 +40,14 @@ typealias AndroidTrackInfo = android.media.MediaPlayer.TrackInfo * @param source the [MediaSource] on which the media is found * @param mediaPlayer the [android.media.MediaPlayer] playing the media */ -actual class DefaultPlayableMedia(override val source: MediaSource, private val mediaPlayer: AndroidMediaPlayer) : PlayableMedia { - override val duration: Duration get() = mediaPlayer.duration.milliseconds - override val currentPlayTime: Duration get() = mediaPlayer.currentPosition.milliseconds - override val tracks get() = mediaPlayer.trackInfo.mapIndexed { index, trackInfo -> trackInfo.asTrackInfo(index) } +actual class DefaultPlayableMedia(actual override val source: MediaSource, private val mediaPlayer: AndroidMediaPlayer) : PlayableMedia { + actual override val duration: Duration get() = mediaPlayer.duration.milliseconds + actual override val currentPlayTime: Duration get() = mediaPlayer.currentPosition.milliseconds + actual override val tracks get() = mediaPlayer.trackInfo.mapIndexed { index, trackInfo -> trackInfo.asTrackInfo(index) } private val mutex = Mutex() private var videoSizeListener: android.media.MediaPlayer.OnVideoSizeChangedListener? = null private val _resolution = MutableStateFlow(Resolution.ZERO) - override val resolution: Flow = _resolution.asSharedFlow().onSubscription { + actual override val resolution: Flow = _resolution.asSharedFlow().onSubscription { mutex.withLock { if (_resolution.subscriptionCount.value > 0 && videoSizeListener == null) { videoSizeListener = MediaPlayer.OnVideoSizeChangedListener { _, width, height -> @@ -97,8 +97,8 @@ actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, co private val mediaPlayer = AndroidMediaPlayer() private val volume = MutableStateFlow(1.0f) - override val currentVolume: Flow = volume.asSharedFlow() - override suspend fun updateVolume(volume: Float) { + actual override val currentVolume: Flow = volume.asSharedFlow() + actual override suspend fun updateVolume(volume: Float) { mediaPlayer.setVolume(volume, volume) this.volume.value = volume } @@ -122,17 +122,13 @@ actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, co } } - override fun cleanUp() { + actual override fun cleanUp() { mediaPlayer.release() } - override fun handleCreatePlayableMedia(source: MediaSource): PlayableMedia? = try { + actual override fun handleCreatePlayableMedia(source: MediaSource): PlayableMedia? = try { when (source) { - is MediaSource.Asset -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - mediaPlayer.setDataSource(source.descriptor) - } else { - mediaPlayer.setDataSource(source.descriptor.fileDescriptor) - } + is MediaSource.Asset -> mediaPlayer.setDataSource(source.descriptor) is MediaSource.File -> mediaPlayer.setDataSource(source.descriptor) is MediaSource.Url -> mediaPlayer.setDataSource(source.url.toExternalForm()) is MediaSource.Content -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -152,7 +148,7 @@ actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, co } } - override fun initialize(playableMedia: PlayableMedia) { + actual override fun initialize(playableMedia: PlayableMedia) { mediaPlayer.setOnPreparedListener { mediaPlayer.setOnPreparedListener(null) handlePrepared(DefaultPlayableMedia(playableMedia.source, it)) @@ -160,7 +156,7 @@ actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, co mediaPlayer.prepareAsync() } - override suspend fun renderVideoOnSurface(surface: MediaSurface?) { + actual override suspend fun renderVideoOnSurface(surface: MediaSurface?) { try { mediaPlayer.setDisplay(surface?.holder) } catch (e: IllegalStateException) { @@ -168,7 +164,7 @@ actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, co } } - override fun play(rate: Float) { + actual override fun play(rate: Float) { try { mediaPlayer.playbackParams = PlaybackParams().apply { speed = rate @@ -181,25 +177,25 @@ actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, co } } - override fun pause() = try { + actual override fun pause() = try { mediaPlayer.pause() } catch (e: IllegalStateException) { handleError(PlaybackError.Unknown) } - override fun stop() = try { + actual override fun stop() = try { mediaPlayer.stop() } catch (e: IllegalStateException) { handleError(PlaybackError.Unknown) } - override fun startSeek(duration: Duration) = try { + actual override fun startSeek(duration: Duration) = try { mediaPlayer.seekTo(duration.inWholeMilliseconds.toInt()) } catch (e: IllegalStateException) { handleSeekCompleted(false) } - override fun handleReset() { + actual override fun handleReset() { mediaPlayer.reset() } } diff --git a/media/src/commonMain/kotlin/MediaManager.kt b/media/src/commonMain/kotlin/MediaManager.kt index 1f336ed66..5c2e030bc 100644 --- a/media/src/commonMain/kotlin/MediaManager.kt +++ b/media/src/commonMain/kotlin/MediaManager.kt @@ -276,4 +276,17 @@ abstract class BaseMediaManager(private val mediaSurfaceProvider: MediaSurfacePr /** * Default implementation of [BaseMediaManager] */ -expect class DefaultMediaManager : BaseMediaManager +expect class DefaultMediaManager : BaseMediaManager { + override val currentVolume: Flow + + override fun handleCreatePlayableMedia(source: MediaSource): PlayableMedia? + override fun initialize(playableMedia: PlayableMedia) + override fun play(rate: Float) + override fun pause() + override fun stop() + override suspend fun updateVolume(volume: Float) + override fun startSeek(duration: Duration) + override suspend fun renderVideoOnSurface(surface: MediaSurface?) + override fun handleReset() + override fun cleanUp() +} diff --git a/media/src/commonMain/kotlin/PlayableMedia.kt b/media/src/commonMain/kotlin/PlayableMedia.kt index 162c65da6..a726b3e87 100644 --- a/media/src/commonMain/kotlin/PlayableMedia.kt +++ b/media/src/commonMain/kotlin/PlayableMedia.kt @@ -39,7 +39,13 @@ interface PlayableMedia { /** * Default implementation of [PlayableMedia] */ -expect class DefaultPlayableMedia : PlayableMedia +expect class DefaultPlayableMedia : PlayableMedia { + override val source: MediaSource + override val duration: Duration + override val currentPlayTime: Duration + override val resolution: Flow + override val tracks: List +} /** * If `true` this [PlayableMedia] has a video component diff --git a/media/src/iosMain/kotlin/DefaultMediaManager.kt b/media/src/iosMain/kotlin/DefaultMediaManager.kt index 38f25d564..41ef384c2 100644 --- a/media/src/iosMain/kotlin/DefaultMediaManager.kt +++ b/media/src/iosMain/kotlin/DefaultMediaManager.kt @@ -115,11 +115,11 @@ import kotlin.time.DurationUnit * @param source the [MediaSource] on which the media is found * @param avPlayerItem the [AVPlayerItem] associated with the media */ -actual class DefaultPlayableMedia(override val source: MediaSource, internal val avPlayerItem: AVPlayerItem) : PlayableMedia { - override val duration: Duration get() = CMTimeGetSeconds(avPlayerItem.duration).seconds - override val currentPlayTime: Duration get() = CMTimeGetSeconds(avPlayerItem.currentTime()).seconds - override val tracks: List get() = avPlayerItem.tracks.mapNotNull { (it as? AVPlayerItemTrack).asTrackInfo() } - override val resolution: Flow = avPlayerItem.observeKeyValueAsFlow( +actual class DefaultPlayableMedia(actual override val source: MediaSource, internal val avPlayerItem: AVPlayerItem) : PlayableMedia { + actual override val duration: Duration get() = CMTimeGetSeconds(avPlayerItem.duration).seconds + actual override val currentPlayTime: Duration get() = CMTimeGetSeconds(avPlayerItem.currentTime()).seconds + actual override val tracks: List get() = avPlayerItem.tracks.mapNotNull { (it as? AVPlayerItemTrack).asTrackInfo() } + actual override val resolution: Flow = avPlayerItem.observeKeyValueAsFlow( "presentationSize", NSKeyValueObservingOptionInitial or NSKeyValueObservingOptionNew, ).map { _ -> @@ -190,8 +190,8 @@ actual class DefaultMediaManager( new?.bind?.invoke(avPlayer) } - override val currentVolume: Flow = avPlayer.observeKeyValueAsFlow("volume", NSKeyValueObservingOptionInitial or NSKeyValueObservingOptionNew) - override suspend fun updateVolume(volume: Float) { + actual override val currentVolume: Flow = avPlayer.observeKeyValueAsFlow("volume", NSKeyValueObservingOptionInitial or NSKeyValueObservingOptionNew) + actual override suspend fun updateVolume(volume: Float) { avPlayer.volume = volume } @@ -218,12 +218,12 @@ actual class DefaultMediaManager( } } - override fun handleCreatePlayableMedia(source: MediaSource): PlayableMedia = DefaultPlayableMedia( + actual override fun handleCreatePlayableMedia(source: MediaSource): PlayableMedia? = DefaultPlayableMedia( source, source.avPlayerItem, ) - override fun initialize(playableMedia: PlayableMedia) { + actual override fun initialize(playableMedia: PlayableMedia) { removeObservers() observers.value = createObservers() val avPlayerItem = playableMedia.source.avPlayerItem @@ -298,11 +298,11 @@ actual class DefaultMediaManager( is MediaSource.URL -> AVPlayerItem(AVURLAsset.URLAssetWithURL(url, options.associate { it.entry })) } - override suspend fun renderVideoOnSurface(surface: MediaSurface?) { + actual override suspend fun renderVideoOnSurface(surface: MediaSurface?) { this.surface = surface } - override fun play(rate: Float) { + actual override fun play(rate: Float) { avPlayer.defaultRate = rate avPlayer.rate = rate handleIfPlayingInBackgroundEnabled { error -> @@ -310,8 +310,8 @@ actual class DefaultMediaManager( } } - override fun pause() = avPlayer.pause() - override fun stop() { + actual override fun pause() = avPlayer.pause() + actual override fun stop() { avPlayer.seekToTime(kCMTimeZero.readValue(), kCMTimeZero.readValue(), kCMTimeZero.readValue()) {} avPlayer.replaceCurrentItemWithPlayerItem(null) handleIfPlayingInBackgroundEnabled { error -> @@ -319,13 +319,13 @@ actual class DefaultMediaManager( } } - override fun cleanUp() { + actual override fun cleanUp() { surface = null handleReset() cancel() } - override fun startSeek(duration: Duration) = avPlayer.seekToTime( + actual override fun startSeek(duration: Duration) = avPlayer.seekToTime( CMTimeMakeWithSeconds(duration.toDouble(DurationUnit.SECONDS), 1000), kCMTimeZero.readValue(), kCMTimeZero.readValue(), @@ -333,7 +333,7 @@ actual class DefaultMediaManager( handleSeekCompleted(it) } - override fun handleReset() { + actual override fun handleReset() { removeObservers() avPlayer.replaceCurrentItemWithPlayerItem(null) handleIfPlayingInBackgroundEnabled { error -> diff --git a/media/src/jsMain/kotlin/DefaultMediaManager.kt b/media/src/jsMain/kotlin/DefaultMediaManager.kt deleted file mode 100644 index 6202f06fd..000000000 --- a/media/src/jsMain/kotlin/DefaultMediaManager.kt +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.media - -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asSharedFlow -import kotlinx.coroutines.flow.flowOf -import kotlin.coroutines.CoroutineContext -import kotlin.time.Duration - -/** - * Default implementation of [PlayableMedia] - * @param source the [MediaSource] on which the media is found - */ -actual class DefaultPlayableMedia(override val source: MediaSource) : PlayableMedia { - override val duration: Duration = Duration.ZERO - override val currentPlayTime: Duration = Duration.ZERO - override val tracks: List = emptyList() - override val resolution: Flow = flowOf(Resolution.ZERO) -} - -/** - * Default implementation of [BaseMediaManager] - * @param mediaSurfaceProvider a [MediaSurfaceProvider] that will automatically call [renderVideoOnSurface] for the latest [MediaSurface] - * @param coroutineContext the [CoroutineContext] on which the media will be managed - */ -actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, coroutineContext: CoroutineContext) : BaseMediaManager(mediaSurfaceProvider, coroutineContext) { - - /** - * Builder for creating a [DefaultMediaManager] - */ - class Builder : BaseMediaManager.Builder { - override fun create(mediaSurfaceProvider: MediaSurfaceProvider?, coroutineContext: CoroutineContext): DefaultMediaManager = DefaultMediaManager( - mediaSurfaceProvider, - coroutineContext, - ) - } - - private var mediaSurface: MediaSurface? = null - private val volume = MutableStateFlow(1.0f) - override val currentVolume: Flow = volume.asSharedFlow() - override suspend fun updateVolume(volume: Float) { - this.volume.value = volume - } - - override fun handleCreatePlayableMedia(source: MediaSource): PlayableMedia = DefaultPlayableMedia(source) - - override fun initialize(playableMedia: PlayableMedia) { - handlePrepared(playableMedia) - } - - override suspend fun renderVideoOnSurface(surface: MediaSurface?) { - this.mediaSurface = surface - } - - override fun play(rate: Float) { - TODO("Not yet implemented") - } - - override fun pause() { - TODO("Not yet implemented") - } - - override fun stop() { - TODO("Not yet implemented") - } - - override fun startSeek(duration: Duration) { - TODO("Not yet implemented") - } - - override fun cleanUp() { - TODO("Not yet implemented") - } - - override fun handleReset() { - TODO("Not yet implemented") - } -} diff --git a/media/src/jsMain/kotlin/MediaSource.kt b/media/src/jsMain/kotlin/MediaSource.kt deleted file mode 100644 index dd64f3fdf..000000000 --- a/media/src/jsMain/kotlin/MediaSource.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.media - -/** - * The source at which [PlayableMedia] can be found - */ -actual sealed class MediaSource { - - /** - * A [MediaSource] for a url string - * @property url the url string of the media source - */ - data class URL(val url: String) : MediaSource() -} - -/** - * Attempts to create a [MediaSource] from a url string - * @param url the url String of the media source - * @return the [MediaSource] associated with [url] or `null` if none could be created - */ -actual fun mediaSourceFromUrl(url: String): MediaSource? = MediaSource.URL(url) diff --git a/media/src/jsMain/kotlin/MediaSurface.kt b/media/src/jsMain/kotlin/MediaSurface.kt deleted file mode 100644 index a03c478a1..000000000 --- a/media/src/jsMain/kotlin/MediaSurface.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.media - -/** - * A surface on which the video component of a [PlayableMedia] can be rendered - */ -actual class MediaSurface diff --git a/media/src/jvmMain/kotlin/DefaultMediaManager.kt b/media/src/jvmMain/kotlin/DefaultMediaManager.kt deleted file mode 100644 index 6202f06fd..000000000 --- a/media/src/jvmMain/kotlin/DefaultMediaManager.kt +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.media - -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asSharedFlow -import kotlinx.coroutines.flow.flowOf -import kotlin.coroutines.CoroutineContext -import kotlin.time.Duration - -/** - * Default implementation of [PlayableMedia] - * @param source the [MediaSource] on which the media is found - */ -actual class DefaultPlayableMedia(override val source: MediaSource) : PlayableMedia { - override val duration: Duration = Duration.ZERO - override val currentPlayTime: Duration = Duration.ZERO - override val tracks: List = emptyList() - override val resolution: Flow = flowOf(Resolution.ZERO) -} - -/** - * Default implementation of [BaseMediaManager] - * @param mediaSurfaceProvider a [MediaSurfaceProvider] that will automatically call [renderVideoOnSurface] for the latest [MediaSurface] - * @param coroutineContext the [CoroutineContext] on which the media will be managed - */ -actual class DefaultMediaManager(mediaSurfaceProvider: MediaSurfaceProvider?, coroutineContext: CoroutineContext) : BaseMediaManager(mediaSurfaceProvider, coroutineContext) { - - /** - * Builder for creating a [DefaultMediaManager] - */ - class Builder : BaseMediaManager.Builder { - override fun create(mediaSurfaceProvider: MediaSurfaceProvider?, coroutineContext: CoroutineContext): DefaultMediaManager = DefaultMediaManager( - mediaSurfaceProvider, - coroutineContext, - ) - } - - private var mediaSurface: MediaSurface? = null - private val volume = MutableStateFlow(1.0f) - override val currentVolume: Flow = volume.asSharedFlow() - override suspend fun updateVolume(volume: Float) { - this.volume.value = volume - } - - override fun handleCreatePlayableMedia(source: MediaSource): PlayableMedia = DefaultPlayableMedia(source) - - override fun initialize(playableMedia: PlayableMedia) { - handlePrepared(playableMedia) - } - - override suspend fun renderVideoOnSurface(surface: MediaSurface?) { - this.mediaSurface = surface - } - - override fun play(rate: Float) { - TODO("Not yet implemented") - } - - override fun pause() { - TODO("Not yet implemented") - } - - override fun stop() { - TODO("Not yet implemented") - } - - override fun startSeek(duration: Duration) { - TODO("Not yet implemented") - } - - override fun cleanUp() { - TODO("Not yet implemented") - } - - override fun handleReset() { - TODO("Not yet implemented") - } -} diff --git a/media/src/jvmMain/kotlin/MediaSource.kt b/media/src/jvmMain/kotlin/MediaSource.kt deleted file mode 100644 index dd64f3fdf..000000000 --- a/media/src/jvmMain/kotlin/MediaSource.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.media - -/** - * The source at which [PlayableMedia] can be found - */ -actual sealed class MediaSource { - - /** - * A [MediaSource] for a url string - * @property url the url string of the media source - */ - data class URL(val url: String) : MediaSource() -} - -/** - * Attempts to create a [MediaSource] from a url string - * @param url the url String of the media source - * @return the [MediaSource] associated with [url] or `null` if none could be created - */ -actual fun mediaSourceFromUrl(url: String): MediaSource? = MediaSource.URL(url) diff --git a/media/src/jvmMain/kotlin/MediaSurface.kt b/media/src/jvmMain/kotlin/MediaSurface.kt deleted file mode 100644 index a03c478a1..000000000 --- a/media/src/jvmMain/kotlin/MediaSurface.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.media - -/** - * A surface on which the video component of a [PlayableMedia] can be rendered - */ -actual class MediaSurface diff --git a/microphone-permissions/api/jvm/microphone-permissions.api b/microphone-permissions/api/jvm/microphone-permissions.api deleted file mode 100644 index 8fb72995b..000000000 --- a/microphone-permissions/api/jvm/microphone-permissions.api +++ /dev/null @@ -1,43 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/microphone/DefaultMicrophonePermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/microphone/MicrophonePermission : com/splendo/kaluga/permissions/base/Permission { - public static final field INSTANCE Lcom/splendo/kaluga/permissions/microphone/MicrophonePermission; - public fun equals (Ljava/lang/Object;)Z - public fun getName ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/microphone/MicrophonePermissionManagerBuilder : com/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/microphone/MicrophonePermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/permissions/microphone/PermissionKt { - public static final fun registerMicrophonePermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; - public static synthetic fun registerMicrophonePermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; - public static final fun registerMicrophonePermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; - public static synthetic fun registerMicrophonePermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; - public static final fun registerMicrophonePermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; - public static synthetic fun registerMicrophonePermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; - public static final fun registerMicrophonePermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; - public static synthetic fun registerMicrophonePermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder; -} - diff --git a/microphone-permissions/api/androidLib/microphone-permissions.api b/microphone-permissions/api/microphone-permissions.api similarity index 97% rename from microphone-permissions/api/androidLib/microphone-permissions.api rename to microphone-permissions/api/microphone-permissions.api index 90e6c6540..af0ff4db7 100644 --- a/microphone-permissions/api/androidLib/microphone-permissions.api +++ b/microphone-permissions/api/microphone-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/microphone/BaseMicrophonePermissionManagerBuilder;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/microphone-permissions/build.gradle.kts b/microphone-permissions/build.gradle.kts index 48a9967f1..6917a1ba8 100644 --- a/microphone-permissions/build.gradle.kts +++ b/microphone-permissions/build.gradle.kts @@ -1,23 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.microphone") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "permissions.microphone" + dependencies { + common { + main { api(project(":base-permissions", "")) } - } - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-base", "")) } } diff --git a/microphone-permissions/src/androidLibMain/kotlin/MicrophonePermissionManager.kt b/microphone-permissions/src/androidLibMain/kotlin/MicrophonePermissionManager.kt index 8cd8297cd..8db1737c3 100644 --- a/microphone-permissions/src/androidLibMain/kotlin/MicrophonePermissionManager.kt +++ b/microphone-permissions/src/androidLibMain/kotlin/MicrophonePermissionManager.kt @@ -45,7 +45,7 @@ actual class DefaultMicrophonePermissionManager( private val permissionsManager = AndroidPermissionsManager(context, arrayOf(Manifest.permission.RECORD_AUDIO), coroutineScope, logTag, logger, permissionHandler) private val supported = context.packageManager.hasSystemFeature(PackageManager.FEATURE_MICROPHONE) - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { if (supported) { permissionsManager.requestPermissions() } else { @@ -53,7 +53,7 @@ actual class DefaultMicrophonePermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { if (supported) { permissionsManager.startMonitoring(interval) } else { @@ -61,7 +61,7 @@ actual class DefaultMicrophonePermissionManager( } } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { if (supported) { permissionsManager.stopMonitoring() } @@ -74,7 +74,7 @@ actual class DefaultMicrophonePermissionManager( */ actual class MicrophonePermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseMicrophonePermissionManagerBuilder { - override fun create(settings: Settings, coroutineScope: CoroutineScope): MicrophonePermissionManager { + actual override fun create(settings: Settings, coroutineScope: CoroutineScope): MicrophonePermissionManager { return DefaultMicrophonePermissionManager(context.context, settings, coroutineScope) } } diff --git a/microphone-permissions/src/commonMain/kotlin/MicrophonePermission.kt b/microphone-permissions/src/commonMain/kotlin/MicrophonePermission.kt index 6e6de698e..c196dc848 100644 --- a/microphone-permissions/src/commonMain/kotlin/MicrophonePermission.kt +++ b/microphone-permissions/src/commonMain/kotlin/MicrophonePermission.kt @@ -35,7 +35,11 @@ typealias MicrophonePermissionManager = PermissionManager /** * The [BasePermissionManager] to use as a default for [MicrophonePermission] */ -expect class DefaultMicrophonePermissionManager : BasePermissionManager +expect class DefaultMicrophonePermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * A [BasePermissionsBuilder] for [MicrophonePermission] @@ -55,7 +59,9 @@ interface BaseMicrophonePermissionManagerBuilder : BasePermissionsBuilder(MicrophonePermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseMicrophonePermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class MicrophonePermissionManagerBuilder actual constructor(context: PermissionContext) : BaseMicrophonePermissionManagerBuilder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultMicrophonePermissionManager(settings, coroutineScope) - } -} diff --git a/microphone-permissions/src/jvmMain/kotlin/MicrophonePermissionManager.kt b/microphone-permissions/src/jvmMain/kotlin/MicrophonePermissionManager.kt deleted file mode 100644 index eaab78038..000000000 --- a/microphone-permissions/src/jvmMain/kotlin/MicrophonePermissionManager.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.microphone - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [MicrophonePermission] - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultMicrophonePermissionManager( - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(MicrophonePermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseMicrophonePermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class MicrophonePermissionManagerBuilder actual constructor(context: PermissionContext) : BaseMicrophonePermissionManagerBuilder { - - override fun create(settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultMicrophonePermissionManager(settings, coroutineScope) - } -} diff --git a/notifications-permissions/api/jvm/notifications-permissions.api b/notifications-permissions/api/jvm/notifications-permissions.api deleted file mode 100644 index 4ff0a5694..000000000 --- a/notifications-permissions/api/jvm/notifications-permissions.api +++ /dev/null @@ -1,53 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/notifications/DefaultNotificationsPermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/notifications/NotificationOptions { - public fun ()V -} - -public final class com/splendo/kaluga/permissions/notifications/NotificationsPermission : com/splendo/kaluga/permissions/base/Permission { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/notifications/NotificationOptions;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/notifications/NotificationOptions;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/permissions/notifications/NotificationOptions; - public final fun copy (Lcom/splendo/kaluga/permissions/notifications/NotificationOptions;)Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission; - public static synthetic fun copy$default (Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/notifications/NotificationOptions;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission; - public fun equals (Ljava/lang/Object;)Z - public fun getName ()Ljava/lang/String; - public final fun getOptions ()Lcom/splendo/kaluga/permissions/notifications/NotificationOptions; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/notifications/NotificationsPermissionManagerBuilder : com/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/notifications/NotificationsPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - -public final class com/splendo/kaluga/permissions/notifications/PermissionKt { - public static final fun registerNotificationsPermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; - public static synthetic fun registerNotificationsPermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; - public static final fun registerNotificationsPermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; - public static synthetic fun registerNotificationsPermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; - public static final fun registerNotificationsPermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; - public static synthetic fun registerNotificationsPermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; - public static final fun registerNotificationsPermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; - public static synthetic fun registerNotificationsPermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder; -} - diff --git a/notifications-permissions/api/androidLib/notifications-permissions.api b/notifications-permissions/api/notifications-permissions.api similarity index 98% rename from notifications-permissions/api/androidLib/notifications-permissions.api rename to notifications-permissions/api/notifications-permissions.api index c2f9bbadc..8f797b15a 100644 --- a/notifications-permissions/api/androidLib/notifications-permissions.api +++ b/notifications-permissions/api/notifications-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/notifications/BaseNotificationsPermissionManagerBuilder;Lcom/splendo/kaluga/permissions/notifications/NotificationsPermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/notifications-permissions/build.gradle.kts b/notifications-permissions/build.gradle.kts index 418fdb696..0d8af5a73 100644 --- a/notifications-permissions/build.gradle.kts +++ b/notifications-permissions/build.gradle.kts @@ -1,23 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.notifications") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "permissions.notifications" + dependencies { + common { + main { api(project(":base-permissions", "")) } - } - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-base", "")) } } diff --git a/notifications-permissions/src/androidLibMain/kotlin/NotificationsPermissionManager.kt b/notifications-permissions/src/androidLibMain/kotlin/NotificationsPermissionManager.kt index 7727d6231..d0c2f9f65 100644 --- a/notifications-permissions/src/androidLibMain/kotlin/NotificationsPermissionManager.kt +++ b/notifications-permissions/src/androidLibMain/kotlin/NotificationsPermissionManager.kt @@ -63,7 +63,7 @@ actual class DefaultNotificationsPermissionManager( permissionHandler, ) - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { permissionsManager.requestPermissions() } else { @@ -71,7 +71,7 @@ actual class DefaultNotificationsPermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { permissionsManager.startMonitoring(interval) } else { @@ -79,7 +79,7 @@ actual class DefaultNotificationsPermissionManager( } } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { permissionsManager.stopMonitoring() } @@ -92,7 +92,7 @@ actual class DefaultNotificationsPermissionManager( */ actual class NotificationsPermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseNotificationsPermissionManagerBuilder { - override fun create(notificationsPermission: NotificationsPermission, settings: Settings, coroutineScope: CoroutineScope): NotificationsPermissionManager { + actual override fun create(notificationsPermission: NotificationsPermission, settings: Settings, coroutineScope: CoroutineScope): NotificationsPermissionManager { return DefaultNotificationsPermissionManager(context.context, notificationsPermission, settings, coroutineScope) } } diff --git a/notifications-permissions/src/commonMain/kotlin/NotificationsPermission.kt b/notifications-permissions/src/commonMain/kotlin/NotificationsPermission.kt index 5f0f58eb8..0bb4f9fcc 100644 --- a/notifications-permissions/src/commonMain/kotlin/NotificationsPermission.kt +++ b/notifications-permissions/src/commonMain/kotlin/NotificationsPermission.kt @@ -40,7 +40,11 @@ typealias NotificationsPermissionManager = PermissionManager +expect class DefaultNotificationsPermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * A [BasePermissionsBuilder] for [NotificationsPermission] @@ -65,7 +69,9 @@ interface BaseNotificationsPermissionManagerBuilder : BasePermissionsBuilder() notificationCenter.requestAuthorizationWithOptions( @@ -100,11 +100,11 @@ actual class DefaultNotificationsPermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { timerHelper.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { timerHelper.stopMonitoring() } } @@ -115,7 +115,7 @@ actual class DefaultNotificationsPermissionManager( */ actual class NotificationsPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseNotificationsPermissionManagerBuilder { - override fun create(notificationsPermission: NotificationsPermission, settings: Settings, coroutineScope: CoroutineScope): NotificationsPermissionManager { + actual override fun create(notificationsPermission: NotificationsPermission, settings: Settings, coroutineScope: CoroutineScope): NotificationsPermissionManager { return DefaultNotificationsPermissionManager(notificationsPermission, settings, coroutineScope) } } diff --git a/notifications-permissions/src/jsMain/kotlin/NotificationsPermissionManager.kt b/notifications-permissions/src/jsMain/kotlin/NotificationsPermissionManager.kt deleted file mode 100644 index fd71b4c92..000000000 --- a/notifications-permissions/src/jsMain/kotlin/NotificationsPermissionManager.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.notifications - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * Options for configuring a [NotificationsPermission] - */ -actual class NotificationOptions - -/** - * The [BasePermissionManager] to use as a default for [NotificationsPermission] - * @param notificationsPermission the [NotificationsPermission] to manage - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultNotificationsPermissionManager( - notificationsPermission: NotificationsPermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(notificationsPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseNotificationsPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class NotificationsPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseNotificationsPermissionManagerBuilder { - - override fun create(notificationsPermission: NotificationsPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultNotificationsPermissionManager(notificationsPermission, settings, coroutineScope) - } -} diff --git a/notifications-permissions/src/jvmMain/kotlin/NotificationsPermissionManager.kt b/notifications-permissions/src/jvmMain/kotlin/NotificationsPermissionManager.kt deleted file mode 100644 index fd71b4c92..000000000 --- a/notifications-permissions/src/jvmMain/kotlin/NotificationsPermissionManager.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.notifications - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * Options for configuring a [NotificationsPermission] - */ -actual class NotificationOptions - -/** - * The [BasePermissionManager] to use as a default for [NotificationsPermission] - * @param notificationsPermission the [NotificationsPermission] to manage - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultNotificationsPermissionManager( - notificationsPermission: NotificationsPermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(notificationsPermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseNotificationsPermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class NotificationsPermissionManagerBuilder actual constructor(context: PermissionContext) : BaseNotificationsPermissionManagerBuilder { - - override fun create(notificationsPermission: NotificationsPermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultNotificationsPermissionManager(notificationsPermission, settings, coroutineScope) - } -} diff --git a/permissions/api/jvm/permissions.api b/permissions/api/jvm/permissions.api deleted file mode 100644 index 3ecb4fd24..000000000 --- a/permissions/api/jvm/permissions.api +++ /dev/null @@ -1,7 +0,0 @@ -public final class com/splendo/kaluga/permissions/RegisterAllPermissionsKt { - public static final fun registerAllPermissions-8Mi8wO0 (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)V - public static synthetic fun registerAllPermissions-8Mi8wO0$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)V - public static final fun registerAllPermissionsNotRegistered-dWUq8MI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun registerAllPermissionsNotRegistered-dWUq8MI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; -} - diff --git a/permissions/api/androidLib/permissions.api b/permissions/api/permissions.api similarity index 100% rename from permissions/api/androidLib/permissions.api rename to permissions/api/permissions.api diff --git a/permissions/build.gradle.kts b/permissions/build.gradle.kts index ab6f8acc5..957e637b7 100644 --- a/permissions/build.gradle.kts +++ b/permissions/build.gradle.kts @@ -1,18 +1,12 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "permissions" + dependencies { + common { + main { api(project(":bluetooth-permissions")) api(project(":calendar-permissions")) api(project(":location-permissions")) @@ -22,9 +16,7 @@ kotlin { api(project(":microphone-permissions")) api(project(":camera-permissions")) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-base")) } } diff --git a/resources-compose/api/resources-compose.api b/resources-compose/api/resources-compose.api index cb5683431..341f05e05 100644 --- a/resources-compose/api/resources-compose.api +++ b/resources-compose/api/resources-compose.api @@ -15,7 +15,7 @@ public final class com/splendo/kaluga/resources/compose/GradientStyleKt { } public final class com/splendo/kaluga/resources/compose/KalugaButtonKt { - public static final fun Composable (Lcom/splendo/kaluga/resources/view/KalugaButton;Landroidx/compose/ui/Modifier;Landroidx/compose/material/ButtonElevation;Landroidx/compose/runtime/Composer;II)V + public static final fun Composable (Lcom/splendo/kaluga/resources/view/KalugaButton;Landroidx/compose/ui/Modifier;Landroidx/compose/material3/ButtonElevation;Landroidx/compose/runtime/Composer;II)V public static final fun PreviewKalugaButton (Landroidx/compose/runtime/Composer;I)V } diff --git a/resources-compose/build.gradle.kts b/resources-compose/build.gradle.kts index 596e7a156..122808bc7 100644 --- a/resources-compose/build.gradle.kts +++ b/resources-compose/build.gradle.kts @@ -16,23 +16,16 @@ */ plugins { - id("com.android.library") - kotlin("android") - id("jacoco") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin.android.compose") } -composeAndroidComponent("resources.compose") +kaluga { + moduleName = "resources" +} dependencies { implementation(project(":base")) api(project(":resources")) - implementationDependency(Dependencies.AndroidX.Compose.Foundation) - implementationDependency(Dependencies.AndroidX.Compose.Material) - implementationDependency(Dependencies.AndroidX.Compose.UI) - implementationDependency(Dependencies.AndroidX.Compose.UITooling) - implementationDependency(Dependencies.KotlinX.Coroutines.Core) - implementationDependency(Dependencies.Accompanist.DrawablePainter) + implementation(libs.androidx.compose.material3) + implementation(libs.accompanist.drawablepainter) } diff --git a/resources-compose/src/main/kotlin/BackgroundStyle.kt b/resources-compose/src/main/kotlin/BackgroundStyle.kt index 803229bb0..6af2a802d 100644 --- a/resources-compose/src/main/kotlin/BackgroundStyle.kt +++ b/resources-compose/src/main/kotlin/BackgroundStyle.kt @@ -21,7 +21,7 @@ import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.layout.Box -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Brush diff --git a/resources-compose/src/main/kotlin/KalugaButton.kt b/resources-compose/src/main/kotlin/KalugaButton.kt index d3e92c9ad..4ef8dc11e 100644 --- a/resources-compose/src/main/kotlin/KalugaButton.kt +++ b/resources-compose/src/main/kotlin/KalugaButton.kt @@ -18,7 +18,6 @@ package com.splendo.kaluga.resources.compose import android.graphics.Typeface -import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.collectIsPressedAsState import androidx.compose.foundation.layout.Arrangement @@ -28,36 +27,21 @@ import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.ButtonElevation -import androidx.compose.material.LocalMinimumInteractiveComponentEnforcement -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonColors +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.ButtonElevation import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.drawWithCache -import androidx.compose.ui.draw.shadow -import androidx.compose.ui.graphics.ClipOp -import androidx.compose.ui.graphics.Path -import androidx.compose.ui.graphics.RectangleShape +import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape -import androidx.compose.ui.graphics.addOutline -import androidx.compose.ui.graphics.drawscope.clipPath -import androidx.compose.ui.layout.Layout import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalLayoutDirection -import androidx.compose.ui.semantics.Role -import androidx.compose.ui.semantics.role -import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.Constraints -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import com.splendo.kaluga.resources.DefaultColors @@ -79,55 +63,43 @@ import com.splendo.kaluga.resources.view.KalugaLabel * @param modifier the [Modifier] to be applied to the button * @param elevation the [ButtonElevation] used to resolve the elevation for this button in different states. * This controls the size of the shadow below the button. Pass `null` here to disable elevation for this button. - * See [ButtonDefaults.elevation]. + * See [ButtonDefaults.buttonElevation]. */ @Composable -fun KalugaButton.Composable(modifier: Modifier, elevation: ButtonElevation = ButtonDefaults.elevation()) { +fun KalugaButton.Composable(modifier: Modifier, elevation: ButtonElevation = ButtonDefaults.buttonElevation()) { val interactionSource: MutableInteractionSource = remember { MutableInteractionSource() } val pressed by interactionSource.collectIsPressedAsState() val stateStyle = style.getStateStyle(isEnabled, pressed) - val elevationState by elevation.elevation(enabled = isEnabled, interactionSource = interactionSource) - // Default Button has some issues with transparency & sizes below a minimum size. - // Using custom implementation instead - ShadowBox( - elevation = elevationState, - modifier = modifier, + Button( + action, + Modifier.backgroundStyle(stateStyle.backgroundStyle).then(modifier), + isEnabled, shape = stateStyle.backgroundStyle.shape.shape, + ButtonColors(Color.Transparent, Color.Transparent, Color.Transparent, Color.Transparent), + elevation, + contentPadding = PaddingValues(style.padding.start.dp, style.padding.top.dp, style.padding.end.dp, style.padding.bottom.dp), + interactionSource = interactionSource, ) { - Box( - modifier = Modifier - .semantics { role = Role.Button } - .clickable( - interactionSource = interactionSource, - indication = rememberRipple(), - enabled = isEnabled, - onClick = action, - ) - .backgroundStyle(stateStyle.backgroundStyle) - .padding(with(style.padding) { PaddingValues(start = start.dp, top = top.dp, end = end.dp, bottom = bottom.dp) }) - .then(modifier), - ) { - when (this@Composable) { - is KalugaButton.WithoutText -> when (val style = style) { - is KalugaButtonStyle.WithoutContent -> Spacer(modifier = modifier) - is KalugaButtonStyle.ImageOnly -> Box(modifier = modifier) { - style.Composable(isEnabled = isEnabled, isPressed = pressed) - } + when (this@Composable) { + is KalugaButton.WithoutText -> when (val style = style) { + is KalugaButtonStyle.WithoutContent -> Spacer(modifier = modifier) + is KalugaButtonStyle.ImageOnly -> Box(modifier = modifier) { + style.Composable(isEnabled = isEnabled, isPressed = pressed) } + } - is KalugaButton.WithText -> { - val createLabel: (KalugaTextStyle) -> KalugaLabel = { textStyle -> - when (this@Composable) { - is KalugaButton.Plain -> KalugaLabel.Plain(text, textStyle) - is KalugaButton.Styled -> KalugaLabel.Styled(text, textStyle) - } - } - when (val style = style) { - is KalugaButtonStyle.TextOnly -> style.Composable(modifier = modifier, isEnabled = isEnabled, isPressed = pressed, createLabel) - is KalugaButtonStyle.WithImageAndText -> style.Composable(modifier = modifier, isEnabled = isEnabled, isPressed = pressed, createLabel) + is KalugaButton.WithText -> { + val createLabel: (KalugaTextStyle) -> KalugaLabel = { textStyle -> + when (this@Composable) { + is KalugaButton.Plain -> KalugaLabel.Plain(text, textStyle) + is KalugaButton.Styled -> KalugaLabel.Styled(text, textStyle) } } + when (val style = style) { + is KalugaButtonStyle.TextOnly -> style.Composable(modifier = modifier, isEnabled = isEnabled, isPressed = pressed, createLabel) + is KalugaButtonStyle.WithImageAndText -> style.Composable(modifier = modifier, isEnabled = isEnabled, isPressed = pressed, createLabel) + } } } } @@ -224,49 +196,3 @@ fun PreviewKalugaButton() { ) } } - -// Workaround for Elevation not working well with transparency -@Composable -private fun ShadowBox(elevation: Dp, modifier: Modifier = Modifier, shape: Shape = RectangleShape, wrappedTarget: @Composable () -> Unit) { - Layout( - { - ClippedShadow(elevation, modifier, shape) - CompositionLocalProvider( - LocalMinimumInteractiveComponentEnforcement provides false, - wrappedTarget, - ) - }, - modifier = modifier, - ) { measurables, constraints -> - require(measurables.size == 2) - val shadow = measurables[0] - val target = measurables[1] - val targetPlaceable = target.measure(constraints) - val width = targetPlaceable.width - val height = targetPlaceable.height - val shadowPlaceable = shadow.measure(Constraints.fixed(width, height)) - layout(width, height) { - shadowPlaceable.place(0, 0) - targetPlaceable.place(0, 0) - } - } -} - -@Composable -private fun ClippedShadow(elevation: Dp, modifier: Modifier = Modifier, shape: Shape = RectangleShape) { - Layout( - modifier - .drawWithCache { - val outline = shape.createOutline(size, layoutDirection, this) - val path = Path().apply { addOutline(outline) } - onDrawWithContent { - clipPath(path, ClipOp.Difference) { - this@onDrawWithContent.drawContent() - } - } - } - .shadow(elevation, shape, false), - ) { _, constraints -> - layout(constraints.maxWidth, constraints.maxHeight) {} - } -} diff --git a/resources-compose/src/main/kotlin/KalugaLabel.kt b/resources-compose/src/main/kotlin/KalugaLabel.kt index ad68aba5a..920eee560 100644 --- a/resources-compose/src/main/kotlin/KalugaLabel.kt +++ b/resources-compose/src/main/kotlin/KalugaLabel.kt @@ -20,7 +20,7 @@ import android.widget.TextView import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.size -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext diff --git a/resources-databinding/build.gradle.kts b/resources-databinding/build.gradle.kts index 61f5500bb..1918b145f 100644 --- a/resources-databinding/build.gradle.kts +++ b/resources-databinding/build.gradle.kts @@ -16,19 +16,15 @@ */ plugins { - id("com.android.library") - kotlin("android") - kotlin("kapt") - id("jacoco") - id("convention.publication") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin.android.databinding") } -databindingAndroidComponent("resources.databinding") +kaluga { + moduleName = "resources" +} dependencies { implementation(project(":base")) api(project(":resources")) - implementationDependency(Dependencies.Android.Material) + implementation(libs.android.material) } diff --git a/resources/api/jvm/resources.api b/resources/api/jvm/resources.api deleted file mode 100644 index 859deaa5d..000000000 --- a/resources/api/jvm/resources.api +++ /dev/null @@ -1,1643 +0,0 @@ -public abstract class com/splendo/kaluga/resources/BlendMode { - public abstract fun blendColor (II)I -} - -public final class com/splendo/kaluga/resources/BlendMode$ColorBlend : com/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$ColorBlend; - public fun blendColor (II)I - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$ColorBurn : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$ColorBurn; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$ColorDodge : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$ColorDodge; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Darken : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Darken; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Difference : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Difference; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Exclusion : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Exclusion; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$HardLight : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$HardLight; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Hue : com/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Hue; - public fun blendColor (II)I - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Lighten : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Lighten; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Luminosity : com/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Luminosity; - public fun blendColor (II)I - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Multiply : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Multiply; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode : com/splendo/kaluga/resources/BlendMode { - protected final fun getLumination (I)D - protected final fun getSaturation (I)D - protected final fun setLumination (ID)I - protected final fun setSaturation (ID)I -} - -protected final class com/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode$UnboundColor { - public fun (DDD)V - public final fun component1 ()D - public final fun component2 ()D - public final fun component3 ()D - public final fun copy (DDD)Lcom/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode$UnboundColor; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode$UnboundColor;DDDILjava/lang/Object;)Lcom/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode$UnboundColor; - public fun equals (Ljava/lang/Object;)Z - public final fun getBlue ()D - public final fun getClip ()I - public final fun getGreen ()D - public final fun getLumination ()D - public final fun getRed ()D - public fun hashCode ()I - public final fun setLumination (D)Lcom/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode$UnboundColor; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Normal : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Normal; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Overlay : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Overlay; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Saturation : com/splendo/kaluga/resources/BlendMode$NonSeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Saturation; - public fun blendColor (II)I - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/BlendMode$Screen : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$Screen; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/BlendMode$SeparableBlendMode : com/splendo/kaluga/resources/BlendMode { - public fun blendColor (II)I - public abstract fun blendColorChannel (DD)D -} - -public final class com/splendo/kaluga/resources/BlendMode$SoftLight : com/splendo/kaluga/resources/BlendMode$SeparableBlendMode { - public static final field INSTANCE Lcom/splendo/kaluga/resources/BlendMode$SoftLight; - public fun blendColorChannel (DD)D - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/ColorBlendingKt { - public static final fun burn (II)I - public static final fun colorBlend (II)I - public static final fun darken (II)I - public static final fun difference (II)I - public static final fun dodge (II)I - public static final fun exclude (II)I - public static final fun hardLight (II)I - public static final fun hue (II)I - public static final fun lighten (II)I - public static final fun luminate (II)I - public static final fun multiply (II)I - public static final fun normal (II)I - public static final fun overlay (II)I - public static final fun saturate (II)I - public static final fun screen (II)I - public static final fun softLight (II)I -} - -public final class com/splendo/kaluga/resources/ColorCommonKt { - public static final fun colorFrom (Ljava/lang/String;)Ljava/lang/Integer; - public static final fun getHexString (I)Ljava/lang/String; - public static final fun getInverted (I)I - public static final fun getSerializable (I)Lcom/splendo/kaluga/resources/SerializableColor; -} - -public class com/splendo/kaluga/resources/ColorSerializer : kotlinx/serialization/KSerializer { - public fun ()V - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/resources/SerializableColor; - public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/resources/SerializableColor;)V - public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V -} - -public final class com/splendo/kaluga/resources/DarkModeKt { - public static final fun isInDarkMode ()Z -} - -public final class com/splendo/kaluga/resources/DefaultColorLoader : com/splendo/kaluga/resources/KalugaColorLoader { - public fun ()V - public fun (Lkotlin/jvm/functions/Function1;)V - public fun loadColor (Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer; -} - -public final class com/splendo/kaluga/resources/DefaultColors { - public static final field INSTANCE Lcom/splendo/kaluga/resources/DefaultColors; - public final fun getAliceBlue ()I - public final fun getAntiqueWhite ()I - public final fun getAqua ()I - public final fun getAquamarine ()I - public final fun getAzure ()I - public final fun getBeige ()I - public final fun getBisque ()I - public final fun getBlack ()I - public final fun getBlanchedAlmond ()I - public final fun getBlue ()I - public final fun getBlueViolet ()I - public final fun getBrown ()I - public final fun getBurlyWood ()I - public final fun getCadetBlue ()I - public final fun getChartreuse ()I - public final fun getChocolate ()I - public final fun getClear ()I - public final fun getCoral ()I - public final fun getCornflowerBlue ()I - public final fun getCornsilk ()I - public final fun getCrimson ()I - public final fun getCyan ()I - public final fun getDarkBlue ()I - public final fun getDarkCyan ()I - public final fun getDarkGoldenrod ()I - public final fun getDarkGray ()I - public final fun getDarkGreen ()I - public final fun getDarkKhaki ()I - public final fun getDarkMagenta ()I - public final fun getDarkOliveGreen ()I - public final fun getDarkOrange ()I - public final fun getDarkOrchid ()I - public final fun getDarkRed ()I - public final fun getDarkSalmon ()I - public final fun getDarkSeaGreen ()I - public final fun getDarkSlateBlue ()I - public final fun getDarkSlateGray ()I - public final fun getDarkTurquoise ()I - public final fun getDarkViolet ()I - public final fun getDeepPink ()I - public final fun getDeepSkyBlue ()I - public final fun getDimGray ()I - public final fun getDodgerBlue ()I - public final fun getFireBrick ()I - public final fun getFloralWhite ()I - public final fun getForestGreen ()I - public final fun getFuchsia ()I - public final fun getGainsboro ()I - public final fun getGhostWhite ()I - public final fun getGold ()I - public final fun getGoldenrod ()I - public final fun getGray ()I - public final fun getGreen ()I - public final fun getGreenYellow ()I - public final fun getHoneyDew ()I - public final fun getHotPink ()I - public final fun getIndianRed ()I - public final fun getIndigo ()I - public final fun getIvory ()I - public final fun getKhaki ()I - public final fun getLavender ()I - public final fun getLavenderBlush ()I - public final fun getLawnGreen ()I - public final fun getLemonChiffon ()I - public final fun getLightBlue ()I - public final fun getLightCoral ()I - public final fun getLightCyan ()I - public final fun getLightGoldenrodYellow ()I - public final fun getLightGray ()I - public final fun getLightGreen ()I - public final fun getLightPink ()I - public final fun getLightSalmon ()I - public final fun getLightSeaGreen ()I - public final fun getLightSkyBlue ()I - public final fun getLightSlateGray ()I - public final fun getLightSteelBlue ()I - public final fun getLightYellow ()I - public final fun getLime ()I - public final fun getLimeGreen ()I - public final fun getLinen ()I - public final fun getMagenta ()I - public final fun getMaroon ()I - public final fun getMediumAquamarine ()I - public final fun getMediumBlue ()I - public final fun getMediumOrchid ()I - public final fun getMediumPurple ()I - public final fun getMediumSeaGreen ()I - public final fun getMediumSlateBlue ()I - public final fun getMediumSpringGreen ()I - public final fun getMediumTurquoise ()I - public final fun getMediumVioletRed ()I - public final fun getMidnightBlue ()I - public final fun getMintCream ()I - public final fun getMistyRose ()I - public final fun getMoccasin ()I - public final fun getNavajoWhite ()I - public final fun getNavy ()I - public final fun getOldLace ()I - public final fun getOlive ()I - public final fun getOliveDrab ()I - public final fun getOrange ()I - public final fun getOrangeRed ()I - public final fun getOrchid ()I - public final fun getPaleGoldenrod ()I - public final fun getPaleGreen ()I - public final fun getPaleTurquoise ()I - public final fun getPaleVioletRed ()I - public final fun getPapayaWhip ()I - public final fun getPeachPuff ()I - public final fun getPeru ()I - public final fun getPink ()I - public final fun getPlum ()I - public final fun getPowderBlue ()I - public final fun getPurple ()I - public final fun getRebeccaPurple ()I - public final fun getRed ()I - public final fun getRosyBrown ()I - public final fun getRoyalBlue ()I - public final fun getSaddleBrown ()I - public final fun getSalmon ()I - public final fun getSandyBrown ()I - public final fun getSeaGreen ()I - public final fun getSeaShell ()I - public final fun getSienna ()I - public final fun getSilver ()I - public final fun getSkyBlue ()I - public final fun getSlateBlue ()I - public final fun getSlateGray ()I - public final fun getSnow ()I - public final fun getSpringGreen ()I - public final fun getSteelBlue ()I - public final fun getTan ()I - public final fun getTeal ()I - public final fun getThistle ()I - public final fun getTomato ()I - public final fun getTurquoise ()I - public final fun getViolet ()I - public final fun getWheat ()I - public final fun getWhite ()I - public final fun getWhiteSmoke ()I - public final fun getYellow ()I - public final fun getYellowGreen ()I -} - -public final class com/splendo/kaluga/resources/DefaultFontLoader : com/splendo/kaluga/resources/FontLoader { - public fun ()V - public fun (Lkotlin/jvm/functions/Function2;)V - public fun loadFont (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaFont;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/resources/DefaultImageLoader : com/splendo/kaluga/resources/ImageLoader { - public fun ()V - public fun (Lkotlin/jvm/functions/Function1;)V - public fun loadImage (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaImage;)Lcom/splendo/kaluga/resources/KalugaImage; -} - -public final class com/splendo/kaluga/resources/DefaultStringLoader : com/splendo/kaluga/resources/StringLoader { - public fun ()V - public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)V - public fun loadQuantityString (Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; - public fun loadString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/FontLoader { - public abstract fun loadFont (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaFont;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/resources/FontStyle : java/lang/Enum { - public static final field DEFAULT Lcom/splendo/kaluga/resources/FontStyle; - public static final field MONOSPACE Lcom/splendo/kaluga/resources/FontStyle; - public static final field SERIF Lcom/splendo/kaluga/resources/FontStyle; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/resources/FontStyle; - public static fun values ()[Lcom/splendo/kaluga/resources/FontStyle; -} - -public final class com/splendo/kaluga/resources/FontTrait : java/lang/Enum { - public static final field ITALIC Lcom/splendo/kaluga/resources/FontTrait; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/resources/FontTrait; - public static fun values ()[Lcom/splendo/kaluga/resources/FontTrait; -} - -public final class com/splendo/kaluga/resources/FontWeight : java/lang/Enum { - public static final field BLACK Lcom/splendo/kaluga/resources/FontWeight; - public static final field BOLD Lcom/splendo/kaluga/resources/FontWeight; - public static final field EXTRA_BOLD Lcom/splendo/kaluga/resources/FontWeight; - public static final field EXTRA_LIGHT Lcom/splendo/kaluga/resources/FontWeight; - public static final field LIGHT Lcom/splendo/kaluga/resources/FontWeight; - public static final field MEDIUM Lcom/splendo/kaluga/resources/FontWeight; - public static final field NORMAL Lcom/splendo/kaluga/resources/FontWeight; - public static final field SEMI_BOLD Lcom/splendo/kaluga/resources/FontWeight; - public static final field THIN Lcom/splendo/kaluga/resources/FontWeight; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public final fun getValue ()I - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/resources/FontWeight; - public static fun values ()[Lcom/splendo/kaluga/resources/FontWeight; -} - -public final class com/splendo/kaluga/resources/HSLColor { - public static final field Companion Lcom/splendo/kaluga/resources/HSLColor$Companion; - public fun (DDDD)V - public synthetic fun (DDDDILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()D - public final fun component2 ()D - public final fun component3 ()D - public final fun component4 ()D - public final fun copy (DDDD)Lcom/splendo/kaluga/resources/HSLColor; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/HSLColor;DDDDILjava/lang/Object;)Lcom/splendo/kaluga/resources/HSLColor; - public fun equals (Ljava/lang/Object;)Z - public final fun getAlpha ()D - public final fun getHue ()D - public final fun getLightness ()D - public final fun getSaturation ()D - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/HSLColor$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lcom/splendo/kaluga/resources/HSLColor$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/resources/HSLColor; - public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/resources/HSLColor;)V - public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; -} - -public final class com/splendo/kaluga/resources/HSLColor$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public final class com/splendo/kaluga/resources/HSLColorKt { - public static final fun darkenBy (ID)I - public static final fun getColor (Lcom/splendo/kaluga/resources/HSLColor;)I - public static final fun getHsl (I)Lcom/splendo/kaluga/resources/HSLColor; - public static final fun lightenBy (ID)I -} - -public abstract interface class com/splendo/kaluga/resources/ImageLoader { - public abstract fun loadImage (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaImage;)Lcom/splendo/kaluga/resources/KalugaImage; -} - -public final class com/splendo/kaluga/resources/JvmFont { - public static final fun createDefaultFont (ILcom/splendo/kaluga/resources/FontStyle;Ljava/util/Set;)Lcom/splendo/kaluga/resources/KalugaFont; - public static synthetic fun createDefaultFont$default (ILcom/splendo/kaluga/resources/FontStyle;Ljava/util/Set;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/KalugaFont; - public static final fun getDefaultBoldFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public static final fun getDefaultFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public static final fun getDefaultItalicFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public static final fun getDefaultMonospaceFont ()Lcom/splendo/kaluga/resources/KalugaFont; -} - -public final class com/splendo/kaluga/resources/JvmKalugaColor { - public static final fun colorFrom (DDDD)I - public static final fun colorFrom (IIII)I - public static synthetic fun colorFrom$default (DDDDILjava/lang/Object;)I - public static synthetic fun colorFrom$default (IIIIILjava/lang/Object;)I - public static final fun getAlpha (I)D - public static final fun getAlphaInt (I)I - public static final fun getBlue (I)D - public static final fun getBlueInt (I)I - public static final fun getGreen (I)D - public static final fun getGreenInt (I)I - public static final fun getRed (I)D - public static final fun getRedInt (I)I -} - -public abstract interface class com/splendo/kaluga/resources/KalugaColorLoader { - public abstract fun loadColor (Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer; -} - -public final class com/splendo/kaluga/resources/KalugaFont { - public fun ()V -} - -public final class com/splendo/kaluga/resources/KalugaFontKt { - public static final fun createDefaultFont (Lcom/splendo/kaluga/resources/FontWeight;Lcom/splendo/kaluga/resources/FontStyle;Ljava/util/Set;)Lcom/splendo/kaluga/resources/KalugaFont; - public static synthetic fun createDefaultFont$default (Lcom/splendo/kaluga/resources/FontWeight;Lcom/splendo/kaluga/resources/FontStyle;Ljava/util/Set;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/KalugaFont; -} - -public final class com/splendo/kaluga/resources/KalugaImage { - public fun ()V -} - -public final class com/splendo/kaluga/resources/KalugaImageKt { - public static final fun tinted (Lcom/splendo/kaluga/resources/KalugaImage;I)Lcom/splendo/kaluga/resources/TintedImage; -} - -public final class com/splendo/kaluga/resources/LinkStyle { - public fun (IZ)V - public final fun component1 ()I - public final fun component2 ()Z - public final fun copy (IZ)Lcom/splendo/kaluga/resources/LinkStyle; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/LinkStyle;IZILjava/lang/Object;)Lcom/splendo/kaluga/resources/LinkStyle; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public fun hashCode ()I - public final fun isUnderlined ()Z - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/ResourcesKt { - public static final fun asColor (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaColorLoader;Ljava/lang/Integer;)Ljava/lang/Integer; - public static synthetic fun asColor$default (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaColorLoader;Ljava/lang/Integer;ILjava/lang/Object;)Ljava/lang/Integer; - public static final fun asFont (Ljava/lang/String;Lcom/splendo/kaluga/resources/FontLoader;Lcom/splendo/kaluga/resources/KalugaFont;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun asFont$default (Ljava/lang/String;Lcom/splendo/kaluga/resources/FontLoader;Lcom/splendo/kaluga/resources/KalugaFont;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun asImage (Ljava/lang/String;Lcom/splendo/kaluga/resources/ImageLoader;Lcom/splendo/kaluga/resources/KalugaImage;)Lcom/splendo/kaluga/resources/KalugaImage; - public static synthetic fun asImage$default (Ljava/lang/String;Lcom/splendo/kaluga/resources/ImageLoader;Lcom/splendo/kaluga/resources/KalugaImage;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/KalugaImage; - public static final fun localized (Ljava/lang/String;Lcom/splendo/kaluga/resources/StringLoader;Ljava/lang/String;)Ljava/lang/String; - public static synthetic fun localized$default (Ljava/lang/String;Lcom/splendo/kaluga/resources/StringLoader;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; - public static final fun quantity (Ljava/lang/String;ILcom/splendo/kaluga/resources/StringLoader;Ljava/lang/String;)Ljava/lang/String; - public static synthetic fun quantity$default (Ljava/lang/String;ILcom/splendo/kaluga/resources/StringLoader;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/SerializableColor { - public static final field Companion Lcom/splendo/kaluga/resources/SerializableColor$Companion; - public fun (I)V - public final fun component1 ()I - public final fun copy (I)Lcom/splendo/kaluga/resources/SerializableColor; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/SerializableColor;IILjava/lang/Object;)Lcom/splendo/kaluga/resources/SerializableColor; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/SerializableColor$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public abstract interface class com/splendo/kaluga/resources/StringLoader { - public abstract fun loadQuantityString (Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; - public abstract fun loadString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/StringStyleAttribute { -} - -public abstract class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute : com/splendo/kaluga/resources/StringStyleAttribute { -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$BackgroundColor : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public fun (I)V - public final fun component1 ()I - public final fun copy (I)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$BackgroundColor; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$BackgroundColor;IILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$BackgroundColor; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Font : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public fun (Lcom/splendo/kaluga/resources/KalugaFont;F)V - public final fun component1 ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun component2 ()F - public final fun copy (Lcom/splendo/kaluga/resources/KalugaFont;F)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Font; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Font;Lcom/splendo/kaluga/resources/KalugaFont;FILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Font; - public fun equals (Ljava/lang/Object;)Z - public final fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun getSize ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$ForegroundColor : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public fun (I)V - public final fun component1 ()I - public final fun copy (I)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$ForegroundColor; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$ForegroundColor;IILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$ForegroundColor; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Kerning : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public fun (F)V - public final fun component1 ()F - public final fun copy (F)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Kerning; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Kerning;FILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Kerning; - public fun equals (Ljava/lang/Object;)Z - public final fun getKern ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Shadow : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public fun (IFFF)V - public final fun component1 ()I - public final fun component2 ()F - public final fun component3 ()F - public final fun component4 ()F - public final fun copy (IFFF)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Shadow; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Shadow;IFFFILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Shadow; - public fun equals (Ljava/lang/Object;)Z - public final fun getBlurRadius ()F - public final fun getColor ()I - public final fun getXOffset ()F - public final fun getYOffset ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Strikethrough : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public static final field INSTANCE Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Strikethrough; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Stroke : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public fun (FI)V - public final fun component1 ()F - public final fun component2 ()I - public final fun copy (FI)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Stroke; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Stroke;FIILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Stroke; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public final fun getWidth ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$SubScript : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public static final field INSTANCE Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$SubScript; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$SuperScript : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public static final field INSTANCE Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$SuperScript; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$TextStyle : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public fun (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$TextStyle; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$TextStyle;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$TextStyle; - public fun equals (Ljava/lang/Object;)Z - public final fun getTextStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Underline : com/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute { - public static final field INSTANCE Lcom/splendo/kaluga/resources/StringStyleAttribute$CharacterStyleAttribute$Underline; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$Link : com/splendo/kaluga/resources/StringStyleAttribute { - public fun (Ljava/lang/String;)V - public final fun component1 ()Ljava/lang/String; - public final fun copy (Ljava/lang/String;)Lcom/splendo/kaluga/resources/StringStyleAttribute$Link; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$Link;Ljava/lang/String;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$Link; - public fun equals (Ljava/lang/Object;)Z - public final fun getUrl ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute : com/splendo/kaluga/resources/StringStyleAttribute { -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$Alignment : com/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute { - public fun (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$Alignment; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$Alignment;Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$Alignment; - public fun equals (Ljava/lang/Object;)Z - public final fun getAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LeadingIndent : com/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute { - public fun (FF)V - public synthetic fun (FFILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()F - public final fun component2 ()F - public final fun copy (FF)Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LeadingIndent; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LeadingIndent;FFILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LeadingIndent; - public fun equals (Ljava/lang/Object;)Z - public final fun getFirstLineIndent ()F - public final fun getIndent ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LineSpacing : com/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute { - public fun (FFF)V - public synthetic fun (FFFILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()F - public final fun component2 ()F - public final fun component3 ()F - public final fun copy (FFF)Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LineSpacing; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LineSpacing;FFFILjava/lang/Object;)Lcom/splendo/kaluga/resources/StringStyleAttribute$ParagraphStyleAttribute$LineSpacing; - public fun equals (Ljava/lang/Object;)Z - public final fun getParagraphSpacing ()F - public final fun getParagraphSpacingBefore ()F - public final fun getSpacing ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StyledString { - public fun (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;Ljava/util/List;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public final fun component3 ()Lcom/splendo/kaluga/resources/LinkStyle; - public final fun component4 ()Ljava/util/List; - public final fun copy (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;Ljava/util/List;)Lcom/splendo/kaluga/resources/StyledString; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/StyledString;Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;Ljava/util/List;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/StyledString; - public fun equals (Ljava/lang/Object;)Z - public final fun getAttributed ()Ljava/util/List; - public final fun getDefaultTextStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public final fun getLinkStyle ()Lcom/splendo/kaluga/resources/LinkStyle; - public final fun getString ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StyledStringBuilder { - public fun (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;)V - public final fun addStyleAttribute (Lcom/splendo/kaluga/resources/StringStyleAttribute;Lkotlin/ranges/IntRange;)V - public final fun create ()Lcom/splendo/kaluga/resources/StyledString; -} - -public final class com/splendo/kaluga/resources/StyledStringBuilder$Provider { - public fun ()V - public final fun provide (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;)Lcom/splendo/kaluga/resources/StyledStringBuilder; - public static synthetic fun provide$default (Lcom/splendo/kaluga/resources/StyledStringBuilder$Provider;Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/StyledStringBuilder; -} - -public final class com/splendo/kaluga/resources/StyledStringJVMkt { - public static final fun getRawString (Lcom/splendo/kaluga/resources/StyledString;)Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/StyledStringKt { - public static final fun attributeSubstring (Ljava/lang/String;Ljava/lang/String;Lcom/splendo/kaluga/resources/StringStyleAttribute;)Lkotlin/Pair; - public static final fun styled (Ljava/lang/String;Lcom/splendo/kaluga/resources/StyledStringBuilder$Provider;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;I[Lcom/splendo/kaluga/resources/StringStyleAttribute;)Lcom/splendo/kaluga/resources/StyledString; - public static final fun styled (Ljava/lang/String;Lcom/splendo/kaluga/resources/StyledStringBuilder$Provider;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;I[Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/StyledString; - public static final fun styled (Ljava/lang/String;Lcom/splendo/kaluga/resources/StyledStringBuilder$Provider;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;[Lcom/splendo/kaluga/resources/StringStyleAttribute;)Lcom/splendo/kaluga/resources/StyledString; - public static final fun styled (Ljava/lang/String;Lcom/splendo/kaluga/resources/StyledStringBuilder$Provider;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/LinkStyle;[Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/StyledString; - public static final fun styled (Ljava/lang/String;Lcom/splendo/kaluga/resources/StyledStringBuilder$Provider;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;[Lcom/splendo/kaluga/resources/StringStyleAttribute;)Lcom/splendo/kaluga/resources/StyledString; - public static final fun styled (Ljava/lang/String;Lcom/splendo/kaluga/resources/StyledStringBuilder$Provider;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;[Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/StyledString; -} - -public final class com/splendo/kaluga/resources/TintedImage { - public fun (Lcom/splendo/kaluga/resources/KalugaImage;I)V - public final fun component1 ()Lcom/splendo/kaluga/resources/KalugaImage; - public final fun component2 ()I - public final fun copy (Lcom/splendo/kaluga/resources/KalugaImage;I)Lcom/splendo/kaluga/resources/TintedImage; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/TintedImage;Lcom/splendo/kaluga/resources/KalugaImage;IILjava/lang/Object;)Lcom/splendo/kaluga/resources/TintedImage; - public fun equals (Ljava/lang/Object;)Z - public final fun getImage ()Lcom/splendo/kaluga/resources/KalugaImage; - public final fun getTint ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ButtonImage { -} - -public final class com/splendo/kaluga/resources/stylable/ButtonImage$Hidden : com/splendo/kaluga/resources/stylable/ButtonImage { - public static final field INSTANCE Lcom/splendo/kaluga/resources/stylable/ButtonImage$Hidden; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/ButtonImage$Image : com/splendo/kaluga/resources/stylable/ButtonImage { - public fun (Lcom/splendo/kaluga/resources/KalugaImage;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/KalugaImage; - public final fun copy (Lcom/splendo/kaluga/resources/KalugaImage;)Lcom/splendo/kaluga/resources/stylable/ButtonImage$Image; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/ButtonImage$Image;Lcom/splendo/kaluga/resources/KalugaImage;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ButtonImage$Image; - public fun equals (Ljava/lang/Object;)Z - public final fun getImage ()Lcom/splendo/kaluga/resources/KalugaImage; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/ButtonImage$Tinted : com/splendo/kaluga/resources/stylable/ButtonImage { - public fun (Lcom/splendo/kaluga/resources/TintedImage;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/TintedImage; - public final fun copy (Lcom/splendo/kaluga/resources/TintedImage;)Lcom/splendo/kaluga/resources/stylable/ButtonImage$Tinted; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/ButtonImage$Tinted;Lcom/splendo/kaluga/resources/TintedImage;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ButtonImage$Tinted; - public fun equals (Ljava/lang/Object;)Z - public final fun getImage ()Lcom/splendo/kaluga/resources/TintedImage; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStateStyle { - public static final field Companion Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$Companion; - public abstract fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyle$Companion { - public final fun imageOnly (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public final fun invoke (IILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public final fun invoke (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public static synthetic fun invoke$default (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$Companion;IILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public final fun textOnly (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public final fun withImageAndText (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public final fun withoutContent (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly : com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImage, com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutText { - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/ButtonImage;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;Lcom/splendo/kaluga/resources/stylable/ButtonImage;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public fun equals (Ljava/lang/Object;)Z - public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun getImage ()Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly : com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithText { - public final fun component1 ()I - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public final fun copy (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public fun equals (Ljava/lang/Object;)Z - public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun getTextColor ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImage : com/splendo/kaluga/resources/stylable/ButtonStateStyle { - public abstract fun getImage ()Lcom/splendo/kaluga/resources/stylable/ButtonImage; -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText : com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImage, com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithText { - public final fun component1 ()I - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public final fun component3 ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public final fun copy (ILcom/splendo/kaluga/resources/stylable/ButtonImage;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;ILcom/splendo/kaluga/resources/stylable/ButtonImage;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public fun equals (Ljava/lang/Object;)Z - public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun getImage ()Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public fun getTextColor ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithText : com/splendo/kaluga/resources/stylable/ButtonStateStyle { - public abstract fun getTextColor ()I -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent : com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutText { - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public fun equals (Ljava/lang/Object;)Z - public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutText : com/splendo/kaluga/resources/stylable/ButtonStateStyle { -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL { - public abstract fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public abstract fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public abstract fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$DefaultImpls { - public static fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyleDSL;ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public static synthetic fun setBackgroundStyle$default (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyleDSL;ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)V -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$ImageOnly : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithImage { -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$TextOnly : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText { - public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun getTextColor ()I - public fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V - public fun setTextColor (I)V -} - -public abstract class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithImage : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL { - public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public final fun hide ()V - public fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V - public final fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V - public final fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;I)V - public final fun setImage (Lcom/splendo/kaluga/resources/TintedImage;)V -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithImageAndText : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithImage, com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText { - public fun getTextColor ()I - public fun setTextColor (I)V -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL { - public abstract fun getTextColor ()I - public abstract fun setTextColor (I)V -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText$DefaultImpls { - public static fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText;ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithoutContent : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL { - public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V -} - -public final class com/splendo/kaluga/resources/stylable/ColorPointRangeError : java/lang/Error { - public static final field INSTANCE Lcom/splendo/kaluga/resources/stylable/ColorPointRangeError; -} - -public abstract class com/splendo/kaluga/resources/stylable/GradientStyle { - public synthetic fun (Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getColorPoints ()Ljava/util/List; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$Angular : com/splendo/kaluga/resources/stylable/GradientStyle { - public static final field Companion Lcom/splendo/kaluga/resources/stylable/GradientStyle$Angular$Companion; - public synthetic fun (Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getCenterPoint ()Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$Angular$Companion { - public final fun fromColorPoints (Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Angular; - public static synthetic fun fromColorPoints$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$Angular$Companion;Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Angular; - public final fun fromColors (Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Angular; - public static synthetic fun fromColors$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$Angular$Companion;Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Angular; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint { - public fun (FF)V - public final fun component1 ()F - public final fun component2 ()F - public final fun copy (FF)Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;FFILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint; - public fun equals (Ljava/lang/Object;)Z - public final fun getX ()F - public final fun getY ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$ColorPoint { - public fun (IF)V - public final fun component1 ()I - public final fun component2 ()F - public final fun copy (IF)Lcom/splendo/kaluga/resources/stylable/GradientStyle$ColorPoint; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$ColorPoint;IFILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$ColorPoint; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public final fun getOffset ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$Linear : com/splendo/kaluga/resources/stylable/GradientStyle { - public static final field Companion Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Companion; - public synthetic fun (Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getOrientation ()Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$Linear$Companion { - public final fun fromColorPoints (Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear; - public static synthetic fun fromColorPoints$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Companion;Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear; - public final fun fromColors (Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear; - public static synthetic fun fromColors$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Companion;Ljava/util/List;Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation : java/lang/Enum { - public static final field BOTTOM_LEFT_TOP_RIGHT Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static final field BOTTOM_RIGHT_TOP_LEFT Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static final field BOTTOM_TOP Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static final field LEFT_RIGHT Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static final field RIGHT_LEFT Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static final field TOP_BOTTOM Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static final field TOP_LEFT_BOTTOM_RIGHT Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static final field TOP_RIGHT_BOTTOM_LEFT Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; - public static fun values ()[Lcom/splendo/kaluga/resources/stylable/GradientStyle$Linear$Orientation; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$Radial : com/splendo/kaluga/resources/stylable/GradientStyle { - public static final field Companion Lcom/splendo/kaluga/resources/stylable/GradientStyle$Radial$Companion; - public synthetic fun (Ljava/util/List;FLcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getCenterPoint ()Lcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint; - public final fun getRadius ()F -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyle$Radial$Companion { - public final fun fromColorPoints (Ljava/util/List;FLcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Radial; - public static synthetic fun fromColorPoints$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$Radial$Companion;Ljava/util/List;FLcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Radial; - public final fun fromColors (Ljava/util/List;FLcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Radial; - public static synthetic fun fromColors$default (Lcom/splendo/kaluga/resources/stylable/GradientStyle$Radial$Companion;Ljava/util/List;FLcom/splendo/kaluga/resources/stylable/GradientStyle$CenterPoint;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/GradientStyle$Radial; -} - -public final class com/splendo/kaluga/resources/stylable/GradientStyleKt { - public static final fun getColorPoints (Ljava/util/List;)Ljava/util/List; -} - -public final class com/splendo/kaluga/resources/stylable/ImageGravity : java/lang/Enum { - public static final field BOTTOM Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public static final field END Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public static final field LEFT Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public static final field RIGHT Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public static final field START Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public static final field TOP Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public static fun values ()[Lcom/splendo/kaluga/resources/stylable/ImageGravity; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/ImageSize { -} - -public final class com/splendo/kaluga/resources/stylable/ImageSize$Intrinsic : com/splendo/kaluga/resources/stylable/ImageSize { - public static final field INSTANCE Lcom/splendo/kaluga/resources/stylable/ImageSize$Intrinsic; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/ImageSize$Sized : com/splendo/kaluga/resources/stylable/ImageSize { - public fun (FF)V - public final fun component1 ()F - public final fun component2 ()F - public final fun copy (FF)Lcom/splendo/kaluga/resources/stylable/ImageSize$Sized; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/ImageSize$Sized;FFILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/ImageSize$Sized; - public fun equals (Ljava/lang/Object;)Z - public final fun getHeight ()F - public final fun getWidth ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle { - public fun (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public synthetic fun (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle; - public final fun component3 ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle;Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun equals (Ljava/lang/Object;)Z - public final fun getFillStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle; - public final fun getShape ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape; - public final fun getStrokeStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle { -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Gradient : com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle { - public fun (Lcom/splendo/kaluga/resources/stylable/GradientStyle;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/GradientStyle; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/GradientStyle;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Gradient; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Gradient;Lcom/splendo/kaluga/resources/stylable/GradientStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Gradient; - public fun equals (Ljava/lang/Object;)Z - public final fun getGradientStyle ()Lcom/splendo/kaluga/resources/stylable/GradientStyle; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Solid : com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle { - public fun (I)V - public final fun component1 ()I - public final fun copy (I)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Solid; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Solid;IILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$FillStyle$Solid; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape { -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Oval : com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape { - public static final field INSTANCE Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Oval; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle : com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape { - public fun (FFLjava/util/Set;)V - public synthetic fun (FFLjava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun (FLjava/util/Set;)V - public synthetic fun (FLjava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()F - public final fun component2 ()F - public final fun component3 ()Ljava/util/Set; - public final fun copy (FFLjava/util/Set;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle;FFLjava/util/Set;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle; - public fun equals (Ljava/lang/Object;)Z - public final fun getCornerRadiusX ()F - public final fun getCornerRadiusY ()F - public final fun getRoundedCorners ()Ljava/util/Set; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle$Corner : java/lang/Enum { - public static final field BOTTOM_LEFT Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle$Corner; - public static final field BOTTOM_RIGHT Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle$Corner; - public static final field TOP_LEFT Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle$Corner; - public static final field TOP_RIGHT Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle$Corner; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle$Corner; - public static fun values ()[Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape$Rectangle$Corner; -} - -public abstract class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle { -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle$None : com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle { - public static final field INSTANCE Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle$None; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle$Stroke : com/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle { - public fun (FI)V - public final fun component1 ()F - public final fun component2 ()I - public final fun copy (FI)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle$Stroke; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle$Stroke;FIILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$StrokeStyle$Stroke; - public fun equals (Ljava/lang/Object;)Z - public final fun getColor ()I - public final fun getWidth ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyle { - public static final field Companion Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$Companion; - public abstract fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public abstract fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public abstract fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public abstract fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public abstract fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$Companion { - public final fun imageOnly (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$ImageOnly; - public final fun invoke (Lcom/splendo/kaluga/resources/KalugaFont;FLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly; - public final fun invoke (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly; - public static synthetic fun invoke$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$Companion;Lcom/splendo/kaluga/resources/KalugaFont;FLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly; - public static synthetic fun invoke$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$Companion;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly; - public final fun textOnly (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly; - public final fun withImageAndText (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImageAndText; - public final fun withoutContent (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutContent; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$DefaultImpls { - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$ImageOnly : com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage, com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText { - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/Padding; - public final fun component3 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public final fun component4 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public final fun component5 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/ImageSize;Lcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$ImageOnly; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$ImageOnly;Lcom/splendo/kaluga/resources/stylable/ImageSize;Lcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$ImageOnly; - public fun equals (Ljava/lang/Object;)Z - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateImage (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly : com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText { - public final fun component1 ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun component2 ()F - public final fun component3 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public final fun component4 ()Lcom/splendo/kaluga/resources/stylable/Padding; - public final fun component5 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public final fun component6 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public final fun component7 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public final fun copy (Lcom/splendo/kaluga/resources/KalugaFont;FLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;Lcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly;Lcom/splendo/kaluga/resources/KalugaFont;FLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;Lcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextOnly; - public fun equals (Ljava/lang/Object;)Z - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateTextStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public fun getTextSize ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage : com/splendo/kaluga/resources/stylable/KalugaButtonStyle { - public abstract fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public abstract fun getStateImage (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage$DefaultImpls { - public static fun getStateImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImage; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImageAndText : com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage, com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText { - public final fun component1 ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun component10 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public final fun component2 ()F - public final fun component3 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public final fun component4 ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public final fun component5 ()Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public final fun component6 ()F - public final fun component7 ()Lcom/splendo/kaluga/resources/stylable/Padding; - public final fun component8 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public final fun component9 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public final fun copy (Lcom/splendo/kaluga/resources/KalugaFont;FLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;Lcom/splendo/kaluga/resources/stylable/ImageSize;Lcom/splendo/kaluga/resources/stylable/ImageGravity;FLcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImageAndText; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImageAndText;Lcom/splendo/kaluga/resources/KalugaFont;FLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;Lcom/splendo/kaluga/resources/stylable/ImageSize;Lcom/splendo/kaluga/resources/stylable/ImageGravity;FLcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImageAndText; - public fun equals (Ljava/lang/Object;)Z - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun getImageGravity ()Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public final fun getSpacing ()F - public fun getStateImage (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateTextStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public fun getTextSize ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText : com/splendo/kaluga/resources/stylable/KalugaButtonStyle { - public abstract fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public abstract fun getStateTextStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public abstract fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public abstract fun getTextSize ()F -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText$DefaultImpls { - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithText; - public static fun getStateTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutContent : com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText { - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/Padding; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public final fun component3 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public final fun component4 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutContent; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutContent;Lcom/splendo/kaluga/resources/stylable/Padding;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutContent; - public fun equals (Ljava/lang/Object;)Z - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText : com/splendo/kaluga/resources/stylable/KalugaButtonStyle { -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText$DefaultImpls { - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutText; -} - -public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL { - public abstract fun defaultStyle (Lkotlin/jvm/functions/Function1;)V - public abstract fun disabledStyle (Lkotlin/jvm/functions/Function1;)V - public abstract fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public abstract fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public abstract fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public abstract fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public abstract fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public abstract fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public abstract fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public abstract fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public abstract fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V - public abstract fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$DefaultImpls { - public static fun setBackground (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public static synthetic fun setBackground$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$ImageOnly : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage { - public fun defaultStyle (Lkotlin/jvm/functions/Function1;)V - public fun disabledStyle (Lkotlin/jvm/functions/Function1;)V - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;)V - public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;)V - public synthetic fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;III)V - public fun setImage (Lcom/splendo/kaluga/resources/TintedImage;II)V - public fun setImageSize (Lcom/splendo/kaluga/resources/stylable/ImageSize;)V - public fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V - public fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;)V - public synthetic fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$TextOnly : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText { - public fun defaultStyle (Lkotlin/jvm/functions/Function1;)V - public fun disabledStyle (Lkotlin/jvm/functions/Function1;)V - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public fun getTextSize ()F - public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;)V - public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;)V - public synthetic fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setFont (Lcom/splendo/kaluga/resources/KalugaFont;)V - public fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V - public fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;)V - public synthetic fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setTextAlignment (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V - public fun setTextSize (F)V - public fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V -} - -public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL { - public abstract fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public abstract fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V - public abstract fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;III)V - public abstract fun setImage (Lcom/splendo/kaluga/resources/TintedImage;II)V - public abstract fun setImageSize (Lcom/splendo/kaluga/resources/stylable/ImageSize;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage$DefaultImpls { - public static fun setBackground (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public static fun setImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/KalugaImage;)V - public static fun setImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/KalugaImage;III)V - public static fun setImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/TintedImage;II)V - public static synthetic fun setImage$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/KalugaImage;IIIILjava/lang/Object;)V - public static synthetic fun setImage$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/TintedImage;IIILjava/lang/Object;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImageAndText : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage, com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText { - public fun defaultStyle (Lkotlin/jvm/functions/Function1;)V - public fun disabledStyle (Lkotlin/jvm/functions/Function1;)V - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun getImageGravity ()Lcom/splendo/kaluga/resources/stylable/ImageGravity; - public fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public final fun getSpacing ()F - public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public fun getTextSize ()F - public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;)V - public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;)V - public synthetic fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setFont (Lcom/splendo/kaluga/resources/KalugaFont;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;III)V - public fun setImage (Lcom/splendo/kaluga/resources/TintedImage;II)V - public final fun setImageGravity (Lcom/splendo/kaluga/resources/stylable/ImageGravity;)V - public fun setImageSize (Lcom/splendo/kaluga/resources/stylable/ImageSize;)V - public fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V - public fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;)V - public synthetic fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public final fun setSpacing (F)V - public fun setTextAlignment (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V - public fun setTextSize (F)V - public fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V -} - -public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL { - public abstract fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public abstract fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public abstract fun getTextSize ()F - public abstract fun setFont (Lcom/splendo/kaluga/resources/KalugaFont;)V - public abstract fun setTextAlignment (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V - public abstract fun setTextSize (F)V - public abstract fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText$DefaultImpls { - public static fun setBackground (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public static fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V - public static synthetic fun setTextStyle$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;IIILjava/lang/Object;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithoutContent : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL { - public fun defaultStyle (Lkotlin/jvm/functions/Function1;)V - public fun disabledStyle (Lkotlin/jvm/functions/Function1;)V - public fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getDefaultStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; - public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;)V - public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;)V - public synthetic fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V - public fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;)V - public synthetic fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaTextAlignment : java/lang/Enum { - public static final field CENTER Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public static final field END Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public static final field LEFT Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public static final field RIGHT Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public static final field START Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public static fun values ()[Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaTextStyle { - public fun (Lcom/splendo/kaluga/resources/KalugaFont;IFLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V - public synthetic fun (Lcom/splendo/kaluga/resources/KalugaFont;IFLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun component2 ()I - public final fun component3 ()F - public final fun component4 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public final fun copy (Lcom/splendo/kaluga/resources/KalugaFont;IFLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;Lcom/splendo/kaluga/resources/KalugaFont;IFLcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public fun equals (Ljava/lang/Object;)Z - public final fun getAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; - public final fun getColor ()I - public final fun getFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public final fun getSize ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/Padding { - public static final field Companion Lcom/splendo/kaluga/resources/stylable/Padding$Companion; - public fun ()V - public fun (F)V - public fun (FF)V - public fun (FFFF)V - public synthetic fun (FFFFILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (FFILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()F - public final fun component2 ()F - public final fun component3 ()F - public final fun component4 ()F - public final fun copy (FFFF)Lcom/splendo/kaluga/resources/stylable/Padding; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/stylable/Padding;FFFFILjava/lang/Object;)Lcom/splendo/kaluga/resources/stylable/Padding; - public fun equals (Ljava/lang/Object;)Z - public final fun getBottom ()F - public final fun getEnd ()F - public final fun getStart ()F - public final fun getTop ()F - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/stylable/Padding$Companion { - public final fun getDefaultButtonPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; -} - -public abstract class com/splendo/kaluga/resources/view/KalugaButton { - public abstract fun getAction ()Lkotlin/jvm/functions/Function0; - public abstract fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle; - public abstract fun isEnabled ()Z -} - -public final class com/splendo/kaluga/resources/view/KalugaButton$Plain : com/splendo/kaluga/resources/view/KalugaButton$WithText { - public fun (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;)V - public synthetic fun (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText; - public final fun component3 ()Z - public final fun component4 ()Lkotlin/jvm/functions/Function0; - public final fun copy (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/resources/view/KalugaButton$Plain; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/view/KalugaButton$Plain;Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/view/KalugaButton$Plain; - public fun equals (Ljava/lang/Object;)Z - public fun getAction ()Lkotlin/jvm/functions/Function0; - public fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText; - public synthetic fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle; - public final fun getText ()Ljava/lang/String; - public fun hashCode ()I - public fun isEnabled ()Z - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/view/KalugaButton$Styled : com/splendo/kaluga/resources/view/KalugaButton$WithText { - public fun (Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;)V - public synthetic fun (Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/StyledString; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText; - public final fun component3 ()Z - public final fun component4 ()Lkotlin/jvm/functions/Function0; - public final fun copy (Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/resources/view/KalugaButton$Styled; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/view/KalugaButton$Styled;Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZLkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/view/KalugaButton$Styled; - public fun equals (Ljava/lang/Object;)Z - public fun getAction ()Lkotlin/jvm/functions/Function0; - public fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText; - public synthetic fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle; - public final fun getText ()Lcom/splendo/kaluga/resources/StyledString; - public fun hashCode ()I - public fun isEnabled ()Z - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/view/KalugaButton$WithText : com/splendo/kaluga/resources/view/KalugaButton { - public abstract fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText; -} - -public final class com/splendo/kaluga/resources/view/KalugaButton$WithoutText : com/splendo/kaluga/resources/view/KalugaButton { - public fun (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText;ZLkotlin/jvm/functions/Function0;)V - public synthetic fun (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText;ZLkotlin/jvm/functions/Function0;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText; - public final fun component2 ()Z - public final fun component3 ()Lkotlin/jvm/functions/Function0; - public final fun copy (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText;ZLkotlin/jvm/functions/Function0;)Lcom/splendo/kaluga/resources/view/KalugaButton$WithoutText; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/view/KalugaButton$WithoutText;Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText;ZLkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/view/KalugaButton$WithoutText; - public fun equals (Ljava/lang/Object;)Z - public fun getAction ()Lkotlin/jvm/functions/Function0; - public fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText; - public synthetic fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle; - public fun hashCode ()I - public fun isEnabled ()Z - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/resources/view/KalugaLabel { - public abstract fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; -} - -public final class com/splendo/kaluga/resources/view/KalugaLabel$Plain : com/splendo/kaluga/resources/view/KalugaLabel { - public fun (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public final fun copy (Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;)Lcom/splendo/kaluga/resources/view/KalugaLabel$Plain; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/view/KalugaLabel$Plain;Ljava/lang/String;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/view/KalugaLabel$Plain; - public fun equals (Ljava/lang/Object;)Z - public fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public final fun getText ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/resources/view/KalugaLabel$Styled : com/splendo/kaluga/resources/view/KalugaLabel { - public fun (Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;)V - public synthetic fun (Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/resources/StyledString; - public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public final fun copy (Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;)Lcom/splendo/kaluga/resources/view/KalugaLabel$Styled; - public static synthetic fun copy$default (Lcom/splendo/kaluga/resources/view/KalugaLabel$Styled;Lcom/splendo/kaluga/resources/StyledString;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;ILjava/lang/Object;)Lcom/splendo/kaluga/resources/view/KalugaLabel$Styled; - public fun equals (Ljava/lang/Object;)Z - public fun getStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; - public final fun getText ()Lcom/splendo/kaluga/resources/StyledString; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - diff --git a/resources/api/androidLib/resources.api b/resources/api/resources.api similarity index 94% rename from resources/api/androidLib/resources.api rename to resources/api/resources.api index f09f4a376..8a69eef25 100644 --- a/resources/api/androidLib/resources.api +++ b/resources/api/resources.api @@ -449,13 +449,13 @@ public final class com/splendo/kaluga/resources/HSLColor { public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/resources/HSLColor$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/resources/HSLColor$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/resources/HSLColor$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/resources/HSLColor; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/resources/HSLColor; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/resources/HSLColor;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/resources/HSLColor;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -887,12 +887,8 @@ public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStat public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL { public abstract fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public abstract fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V + public fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public abstract fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V -} - -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$DefaultImpls { - public static fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyleDSL;ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public static synthetic fun setBackgroundStyle$default (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyleDSL;ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)V } @@ -902,7 +898,6 @@ public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$Ima public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$TextOnly : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText { public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; public fun getTextColor ()I - public fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V public fun setTextColor (I)V } @@ -910,7 +905,6 @@ public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$Tex public abstract class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithImage : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL { public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; public final fun hide ()V - public fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V public final fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V public final fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;I)V @@ -927,13 +921,8 @@ public abstract interface class com/splendo/kaluga/resources/stylable/ButtonStat public abstract fun setTextColor (I)V } -public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText$DefaultImpls { - public static fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithText;ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V -} - public final class com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL$WithoutContent : com/splendo/kaluga/resources/stylable/ButtonStateStyleDSL { public fun getBackgroundStyle ()Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle; - public fun setBackgroundStyle (ILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public fun setBackgroundStyle (Lcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle;)V } @@ -1173,7 +1162,7 @@ public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButt public abstract fun getDisabledStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; public abstract fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; public abstract fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public abstract fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; + public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; } public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$Companion { @@ -1187,10 +1176,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$Compa public final fun withoutContent (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutContent; } -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$DefaultImpls { - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; -} - public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$ImageOnly : com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage, com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText { public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/ImageSize; public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/Padding; @@ -1208,9 +1193,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$Image public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateImage (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; public fun hashCode ()I public fun toString ()Ljava/lang/String; } @@ -1234,9 +1216,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextO public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateTextStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; public fun getTextSize ()F public fun hashCode ()I @@ -1245,12 +1224,7 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$TextO public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage : com/splendo/kaluga/resources/stylable/KalugaButtonStyle { public abstract fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public abstract fun getStateImage (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage$DefaultImpls { - public static fun getStateImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImage; + public fun getStateImage (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; } public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImageAndText : com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithImage, com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText { @@ -1278,10 +1252,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithI public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; public final fun getSpacing ()F - public fun getStateImage (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonImage; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateTextStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; public fun getTextSize ()F public fun hashCode ()I @@ -1290,16 +1260,11 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithI public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText : com/splendo/kaluga/resources/stylable/KalugaButtonStyle { public abstract fun getFont ()Landroid/graphics/Typeface; - public abstract fun getStateTextStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; + public fun getStateTextStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; public abstract fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; public abstract fun getTextSize ()F } -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText$DefaultImpls { - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithText; - public static fun getStateTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithText;ZZ)Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle; -} - public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutContent : com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText { public final fun component1 ()Lcom/splendo/kaluga/resources/stylable/Padding; public final fun component2 ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; @@ -1315,8 +1280,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$Witho public fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; - public fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; - public synthetic fun getStateStyle (ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; public fun hashCode ()I public fun toString ()Ljava/lang/String; } @@ -1324,10 +1287,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$Witho public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText : com/splendo/kaluga/resources/stylable/KalugaButtonStyle { } -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText$DefaultImpls { - public static fun getStateStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyle$WithoutText;ZZ)Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutText; -} - public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL { public abstract fun defaultStyle (Lkotlin/jvm/functions/Function1;)V public abstract fun disabledStyle (Lkotlin/jvm/functions/Function1;)V @@ -1336,18 +1295,14 @@ public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButt public abstract fun getPadding ()Lcom/splendo/kaluga/resources/stylable/Padding; public abstract fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; public abstract fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public abstract fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V + public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V + public static synthetic fun setBackground$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)V public abstract fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public abstract fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public abstract fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V public abstract fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V } -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$DefaultImpls { - public static fun setBackground (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public static synthetic fun setBackground$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;ILjava/lang/Object;)V -} - public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$ImageOnly : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage { public fun defaultStyle (Lkotlin/jvm/functions/Function1;)V public fun disabledStyle (Lkotlin/jvm/functions/Function1;)V @@ -1360,14 +1315,10 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$Im public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly; public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;)V public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;)V public synthetic fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;III)V - public fun setImage (Lcom/splendo/kaluga/resources/TintedImage;II)V public fun setImageSize (Lcom/splendo/kaluga/resources/stylable/ImageSize;)V public fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V public fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$ImageOnly;)V @@ -1388,7 +1339,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$Te public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; public fun getTextSize ()F public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;)V public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$TextOnly;)V @@ -1399,24 +1349,16 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$Te public synthetic fun setPressedStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public fun setTextAlignment (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V public fun setTextSize (F)V - public fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V } public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL { public abstract fun getImageSize ()Lcom/splendo/kaluga/resources/stylable/ImageSize; - public abstract fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V - public abstract fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;III)V - public abstract fun setImage (Lcom/splendo/kaluga/resources/TintedImage;II)V - public abstract fun setImageSize (Lcom/splendo/kaluga/resources/stylable/ImageSize;)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage$DefaultImpls { - public static fun setBackground (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public static fun setImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/KalugaImage;)V - public static fun setImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/KalugaImage;III)V - public static fun setImage (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/TintedImage;II)V + public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V + public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;III)V + public fun setImage (Lcom/splendo/kaluga/resources/TintedImage;II)V public static synthetic fun setImage$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/KalugaImage;IIIILjava/lang/Object;)V public static synthetic fun setImage$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage;Lcom/splendo/kaluga/resources/TintedImage;IIILjava/lang/Object;)V + public abstract fun setImageSize (Lcom/splendo/kaluga/resources/stylable/ImageSize;)V } public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImageAndText : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithImage, com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText { @@ -1436,15 +1378,11 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$Wi public fun getTextAlignment ()Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment; public fun getTextSize ()F public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;)V public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithImageAndText;)V public synthetic fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public fun setFont (Landroid/graphics/Typeface;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;)V - public fun setImage (Lcom/splendo/kaluga/resources/KalugaImage;III)V - public fun setImage (Lcom/splendo/kaluga/resources/TintedImage;II)V public final fun setImageGravity (Lcom/splendo/kaluga/resources/stylable/ImageGravity;)V public fun setImageSize (Lcom/splendo/kaluga/resources/stylable/ImageSize;)V public fun setPadding (Lcom/splendo/kaluga/resources/stylable/Padding;)V @@ -1453,7 +1391,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$Wi public final fun setSpacing (F)V public fun setTextAlignment (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V public fun setTextSize (F)V - public fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V } public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText : com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL { @@ -1463,12 +1400,7 @@ public abstract interface class com/splendo/kaluga/resources/stylable/KalugaButt public abstract fun setFont (Landroid/graphics/Typeface;)V public abstract fun setTextAlignment (Lcom/splendo/kaluga/resources/stylable/KalugaTextAlignment;)V public abstract fun setTextSize (F)V - public abstract fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V -} - -public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText$DefaultImpls { - public static fun setBackground (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText;IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V - public static fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V + public fun setTextStyle (Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;II)V public static synthetic fun setTextStyle$default (Lcom/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$WithText;Lcom/splendo/kaluga/resources/stylable/KalugaTextStyle;IIILjava/lang/Object;)V } @@ -1483,7 +1415,6 @@ public final class com/splendo/kaluga/resources/stylable/KalugaButtonStyleDSL$Wi public fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent; public synthetic fun getPressedStyle ()Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle; public fun pressedStyle (Lkotlin/jvm/functions/Function1;)V - public fun setBackground (IIILcom/splendo/kaluga/resources/stylable/KalugaBackgroundStyle$Shape;)V public fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;)V public synthetic fun setDefaultStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle;)V public fun setDisabledStyle (Lcom/splendo/kaluga/resources/stylable/ButtonStateStyle$WithoutContent;)V diff --git a/resources/build.gradle.kts b/resources/build.gradle.kts index a5ec0d352..c450b1be6 100644 --- a/resources/build.gradle.kts +++ b/resources/build.gradle.kts @@ -1,27 +1,18 @@ plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") + alias(libs.plugins.kotlin.serialization) } -publishableComponent("resources") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "resources" + dependencies { + common { + main { implementation(project(":base", "")) implementation(project(":logging", "")) - apiDependency(Dependencies.KotlinX.Serialization.Core) + api(libs.kotlinx.serialization.core) } - } - - getByName("commonTest") { - dependencies { + test { implementation(project(":test-utils-base", "")) } } diff --git a/resources/src/androidLibMain/kotlin/Resources.kt b/resources/src/androidLibMain/kotlin/Resources.kt index 1bc4fbd09..a0bbb93f9 100644 --- a/resources/src/androidLibMain/kotlin/Resources.kt +++ b/resources/src/androidLibMain/kotlin/Resources.kt @@ -33,7 +33,7 @@ import kotlinx.coroutines.CompletableDeferred */ actual class DefaultStringLoader(private val context: Context?) : StringLoader { actual constructor() : this(if (application != null) applicationContext else null) - override fun loadString(identifier: String, defaultValue: String): String { + actual override fun loadString(identifier: String, defaultValue: String): String { if (context == null) { return defaultValue } @@ -44,7 +44,7 @@ actual class DefaultStringLoader(private val context: Context?) : StringLoader { defaultValue } } - override fun loadQuantityString(identifier: String, quantity: Int, defaultValue: String): String { + actual override fun loadQuantityString(identifier: String, quantity: Int, defaultValue: String): String { if (context == null) { return defaultValue } @@ -63,7 +63,7 @@ actual class DefaultStringLoader(private val context: Context?) : StringLoader { */ actual class DefaultColorLoader(private val context: Context?) : KalugaColorLoader { actual constructor() : this(if (application != null) applicationContext else null) - override fun loadColor(identifier: String, defaultValue: KalugaColor?): KalugaColor? { + actual override fun loadColor(identifier: String, defaultValue: KalugaColor?): KalugaColor? { if (context == null) { return defaultValue } @@ -82,7 +82,7 @@ actual class DefaultColorLoader(private val context: Context?) : KalugaColorLoad */ actual class DefaultImageLoader(private val context: Context?) : ImageLoader { actual constructor() : this(if (application != null) applicationContext else null) - override fun loadImage(identifier: String, defaultValue: KalugaImage?): KalugaImage? { + actual override fun loadImage(identifier: String, defaultValue: KalugaImage?): KalugaImage? { if (context == null) { return defaultValue } @@ -102,7 +102,7 @@ actual class DefaultImageLoader(private val context: Context?) : ImageLoader { */ actual class DefaultFontLoader(private val context: Context?, private val handler: Handler?) : FontLoader { actual constructor() : this(if (application != null) applicationContext else null, null) - override suspend fun loadFont(identifier: String, defaultValue: KalugaFont?): KalugaFont? { + actual override suspend fun loadFont(identifier: String, defaultValue: KalugaFont?): KalugaFont? { if (context == null) { return defaultValue } diff --git a/resources/src/commonMain/kotlin/KalugaColor.kt b/resources/src/commonMain/kotlin/KalugaColor.kt index 55a46891e..3eaffcd7d 100644 --- a/resources/src/commonMain/kotlin/KalugaColor.kt +++ b/resources/src/commonMain/kotlin/KalugaColor.kt @@ -33,12 +33,6 @@ import kotlin.jvm.JvmName */ expect class KalugaColor -@Deprecated( - "Due to name clashes with platform classes and API changes this class has been renamed and changed to an interface. It will be removed in a future release.", - ReplaceWith("KalugaColor"), -) -typealias Color = KalugaColor - /** * A wrapper for [KalugaColor] that allows it to be serialized * @property color the [KalugaColor] to wrap diff --git a/resources/src/commonMain/kotlin/KalugaFont.kt b/resources/src/commonMain/kotlin/KalugaFont.kt index a0738a188..bf9b96208 100644 --- a/resources/src/commonMain/kotlin/KalugaFont.kt +++ b/resources/src/commonMain/kotlin/KalugaFont.kt @@ -22,12 +22,6 @@ package com.splendo.kaluga.resources */ expect class KalugaFont -@Deprecated( - "Due to name clashes with platform classes and API changes this class has been renamed and changed to an interface. It will be removed in a future release.", - ReplaceWith("KalugaColor"), -) -typealias Font = KalugaFont - /** * The default system [KalugaFont] */ diff --git a/resources/src/commonMain/kotlin/KalugaImage.kt b/resources/src/commonMain/kotlin/KalugaImage.kt index a1bfb04ff..3cc5b2125 100644 --- a/resources/src/commonMain/kotlin/KalugaImage.kt +++ b/resources/src/commonMain/kotlin/KalugaImage.kt @@ -22,12 +22,6 @@ package com.splendo.kaluga.resources */ expect class KalugaImage -@Deprecated( - "Due to name clashes with platform classes and API changes this class has been renamed and changed to an interface. It will be removed in a future release.", - ReplaceWith("KalugaColor"), -) -typealias Image = KalugaImage - /** * A [KalugaImage] tinted with a given [KalugaColor] * @property image the [KalugaImage] to tint diff --git a/resources/src/commonMain/kotlin/Resources.kt b/resources/src/commonMain/kotlin/Resources.kt index 127c34788..dc8b4cf8c 100644 --- a/resources/src/commonMain/kotlin/Resources.kt +++ b/resources/src/commonMain/kotlin/Resources.kt @@ -43,7 +43,10 @@ interface StringLoader { /** * Default implementation of a [StringLoader]. */ -expect class DefaultStringLoader() : StringLoader +expect class DefaultStringLoader() : StringLoader { + override fun loadString(identifier: String, defaultValue: String): String + override fun loadQuantityString(identifier: String, quantity: Int, defaultValue: String): String +} /** * Loads a [KalugaColor] based on a provided identifier. @@ -61,7 +64,9 @@ interface KalugaColorLoader { /** * Default implementation of a [KalugaColorLoader]. */ -expect class DefaultColorLoader() : KalugaColorLoader +expect class DefaultColorLoader() : KalugaColorLoader { + override fun loadColor(identifier: String, defaultValue: KalugaColor?): KalugaColor? +} /** * Loads a [KalugaImage] based on a provided identifier. @@ -79,7 +84,9 @@ interface ImageLoader { /** * Default implementation of an [ImageLoader]. */ -expect class DefaultImageLoader() : ImageLoader +expect class DefaultImageLoader() : ImageLoader { + override fun loadImage(identifier: String, defaultValue: KalugaImage?): KalugaImage? +} /** * Loads a [KalugaFont] based on a provided identifier. @@ -97,7 +104,9 @@ interface FontLoader { /** * Default implementation of a [FontLoader]. */ -expect class DefaultFontLoader() : FontLoader +expect class DefaultFontLoader() : FontLoader { + override suspend fun loadFont(identifier: String, defaultValue: KalugaFont?): KalugaFont? +} /** * Treats this string as a resource identifier for a [String] and grabs the associated [String] diff --git a/resources/src/iosMain/kotlin/Resources.kt b/resources/src/iosMain/kotlin/Resources.kt index 429bc74bc..f9332d43c 100644 --- a/resources/src/iosMain/kotlin/Resources.kt +++ b/resources/src/iosMain/kotlin/Resources.kt @@ -34,8 +34,8 @@ import platform.UIKit.labelFontSize */ actual class DefaultStringLoader(private val bundle: NSBundle, private val table: String?) : StringLoader { actual constructor() : this(NSBundle.mainBundle, null) - override fun loadString(identifier: String, defaultValue: String): String = bundle.localizedStringForKey(identifier, defaultValue, table) - override fun loadQuantityString(identifier: String, quantity: Int, defaultValue: String): String { + actual override fun loadString(identifier: String, defaultValue: String): String = bundle.localizedStringForKey(identifier, defaultValue, table) + actual override fun loadQuantityString(identifier: String, quantity: Int, defaultValue: String): String { val format = bundle.localizedStringForKey(identifier, defaultValue, table) return NSString.localizedStringWithFormat(format, quantity) } @@ -48,7 +48,7 @@ actual class DefaultStringLoader(private val bundle: NSBundle, private val table */ actual class DefaultColorLoader(private val bundle: NSBundle, private val traitCollection: UITraitCollection?) : KalugaColorLoader { actual constructor() : this(NSBundle.mainBundle, null) - override fun loadColor(identifier: String, defaultValue: KalugaColor?): KalugaColor? = UIColor + actual override fun loadColor(identifier: String, defaultValue: KalugaColor?): KalugaColor? = UIColor .colorNamed(identifier, bundle, traitCollection) ?.let { KalugaColor(it) } ?: defaultValue } @@ -62,12 +62,12 @@ actual class DefaultColorLoader(private val bundle: NSBundle, private val traitC */ actual class DefaultImageLoader(private val bundle: NSBundle, private val traitCollection: UITraitCollection?) : ImageLoader { actual constructor() : this(NSBundle.mainBundle, null) - override fun loadImage(identifier: String, defaultValue: KalugaImage?): KalugaImage? = UIImage.imageNamed(identifier, bundle, traitCollection) ?: defaultValue + actual override fun loadImage(identifier: String, defaultValue: KalugaImage?): KalugaImage? = UIImage.imageNamed(identifier, bundle, traitCollection) ?: defaultValue } /** * Default implementation of a [FontLoader]. */ actual class DefaultFontLoader actual constructor() : FontLoader { - override suspend fun loadFont(identifier: String, defaultValue: KalugaFont?): KalugaFont? = UIFont.fontWithName(identifier, UIFont.labelFontSize) ?: defaultValue + actual override suspend fun loadFont(identifier: String, defaultValue: KalugaFont?): KalugaFont? = UIFont.fontWithName(identifier, UIFont.labelFontSize) ?: defaultValue } diff --git a/resources/src/jsMain/kotlin/DarkMode.kt b/resources/src/jsMain/kotlin/DarkMode.kt deleted file mode 100644 index f39c4bd9a..000000000 --- a/resources/src/jsMain/kotlin/DarkMode.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -/** - * When `true` the application is in Dark Mode. - */ -actual val isInDarkMode: Boolean = false diff --git a/resources/src/jsMain/kotlin/KalugaColor.kt b/resources/src/jsMain/kotlin/KalugaColor.kt deleted file mode 100644 index c97094ea5..000000000 --- a/resources/src/jsMain/kotlin/KalugaColor.kt +++ /dev/null @@ -1,85 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -/** - * Class describing a color - */ -actual typealias KalugaColor = Int - -/** - * Gets the red value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.red: Double get() = redInt.toDouble() / 255.0 - -/** - * Gets the red value of the color in a range between `0` and `255` - */ -actual val KalugaColor.redInt: Int get() = this shr 16 and 0xFF - -/** - * Gets the green value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.green: Double get() = greenInt.toDouble() / 255.0 - -/** - * Gets the green value of the color in a range between `0` and `255` - */ -actual val KalugaColor.greenInt: Int get() = this shr 8 and 0xFF - -/** - * Gets the blue value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.blue: Double get() = blueInt.toDouble() / 255.0 - -/** - * Gets the blue value of the color in a range between `0` and `255` - */ -actual val KalugaColor.blueInt: Int get() = this and 0xFF - -/** - * Gets the alpha value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.alpha: Double get() = alphaInt.toDouble() / 255.0 - -/** - * Gets the alpha value of the color in a range between `0` and `255` - */ -actual val KalugaColor.alphaInt: Int get() = this ushr 24 - -/** - * Creates a [KalugaColor] using red, green, blue, and (optional) alpha, all ranging between `0.0` and `1.0`. - * @param red The red color value ranging between `0.0` and `1.0`. - * @param green The green color value ranging between `0.0` and `1.0`. - * @param blue The blue color value ranging between `0.0` and `1.0`. - * @param alpha The alpha color value ranging between `0.0` and `1.0`. Defaults to `1.0` - * @return The [KalugaColor] with the corresponding red, green, blue, and alpha values - */ -actual fun colorFrom(red: Double, green: Double, blue: Double, alpha: Double): KalugaColor { - return colorFrom((red * 255.0).toInt(), (green * 255.0).toInt(), (blue * 255.0).toInt(), (alpha * 255.0).toInt()) -} - -/** - * Creates a [KalugaColor] using red, green, blue, and (optional) alpha, all ranging between `0` and `255`. - * @param redInt The red color value ranging between `0` and `255`. - * @param greenInt The green color value ranging between `0` and `255`. - * @param blueInt The blue color value ranging between `0` and `255`. - * @param alphaInt The alpha color value ranging between `0` and `255`. Defaults to `255` - * @return The [KalugaColor] with the corresponding red, green, blue, and alpha values - */ -actual fun colorFrom(redInt: Int, greenInt: Int, blueInt: Int, alphaInt: Int): KalugaColor = alphaInt shl 24 or (redInt shl 16) or (greenInt shl 8) or blueInt diff --git a/resources/src/jsMain/kotlin/KalugaFont.kt b/resources/src/jsMain/kotlin/KalugaFont.kt deleted file mode 100644 index 802cebc49..000000000 --- a/resources/src/jsMain/kotlin/KalugaFont.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -/** - * Class describing a font - */ -actual class KalugaFont - -/** - * The default system [KalugaFont] - */ -actual val defaultFont: KalugaFont get() = KalugaFont() - -/** - * The default bold system [KalugaFont] - */ -actual val defaultBoldFont: KalugaFont get() = KalugaFont() - -/** - * The default italic system [KalugaFont] - */ -actual val defaultItalicFont: KalugaFont get() = KalugaFont() - -/** - * The default monospace system [KalugaFont] - */ -actual val defaultMonospaceFont: KalugaFont get() = KalugaFont() - -/** - * Creates a system font with a given weight, [FontStyle] and [FontTrait] - * @param weight the weight to apply. Must be in range [1, 100] - * @param style the [FontStyle] to apply - * @param traits the set of [FontTrait] to apply - * @return a [KalugaFont] representing the system font with the given specifications - */ -actual fun createDefaultFont(weight: Int, style: FontStyle, traits: Set): KalugaFont = KalugaFont() diff --git a/resources/src/jsMain/kotlin/KalugaImage.kt b/resources/src/jsMain/kotlin/KalugaImage.kt deleted file mode 100644 index 8de16bf24..000000000 --- a/resources/src/jsMain/kotlin/KalugaImage.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -/** - * Class describing an image. - */ -actual class KalugaImage diff --git a/resources/src/jsMain/kotlin/Resources.kt b/resources/src/jsMain/kotlin/Resources.kt deleted file mode 100644 index 2347a2e69..000000000 --- a/resources/src/jsMain/kotlin/Resources.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -import com.splendo.kaluga.base.text.format - -/** - * Default implementation of a [StringLoader]. - * @param transformer method for getting a String from a String identifier - * @param formatter method for formatting a String identifier given a quantity - */ -actual class DefaultStringLoader( - private val transformer: (String) -> String?, - private val formatter: (String, Int) -> String?, -) : StringLoader { - actual constructor() : this({ it }, { format, value -> format.format(value) }) - - override fun loadString(identifier: String, defaultValue: String): String = transformer(identifier) ?: defaultValue - - override fun loadQuantityString(identifier: String, quantity: Int, defaultValue: String): String = formatter(identifier, quantity) ?: defaultValue -} - -/** - * Default implementation of a [KalugaColorLoader]. - * @param transformer method for getting a [KalugaColor] from a String identifier - */ -actual class DefaultColorLoader(private val transformer: (String) -> KalugaColor?) : KalugaColorLoader { - actual constructor() : this({ null }) - - override fun loadColor(identifier: String, defaultValue: KalugaColor?): KalugaColor? = transformer(identifier) ?: defaultValue -} - -/** - * Default implementation of a [ImageLoader]. - * @param transformer method for getting a [KalugaImage] from a String identifier - */ -actual class DefaultImageLoader(private val transformer: (String) -> KalugaImage?) : ImageLoader { - actual constructor() : this({ null }) - - override fun loadImage(identifier: String, defaultValue: KalugaImage?): KalugaImage? = transformer(identifier) ?: defaultValue -} - -/** - * Default implementation of a [FontLoader]. - * @param transformer method for getting a [KalugaFont] from a String identifier - */ -actual class DefaultFontLoader(private val transformer: suspend (String) -> KalugaFont?) : FontLoader { - actual constructor() : this({ null }) - - override suspend fun loadFont(identifier: String, defaultValue: KalugaFont?): KalugaFont? = transformer(identifier) ?: defaultValue -} diff --git a/resources/src/jsMain/kotlin/StyledString.kt b/resources/src/jsMain/kotlin/StyledString.kt deleted file mode 100644 index d3b769d38..000000000 --- a/resources/src/jsMain/kotlin/StyledString.kt +++ /dev/null @@ -1,96 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -import com.splendo.kaluga.resources.stylable.KalugaTextStyle - -/** - * A text configured with [StringStyleAttribute] - * @property string the String to style - * @property defaultTextStyle The [KalugaTextStyle] to apply when no [StringStyleAttribute] are set for a given range. - * This may be partially overwritten (e.g. [StringStyleAttribute.CharacterStyleAttribute.ForegroundColor] may overwrite [KalugaTextStyle.color]) - * @property linkStyle The [LinkStyle] to apply when [StringStyleAttribute.Link] is applied. - * When `null` the Theme default will be used - * @property attributed a list containing all [StringStyleAttribute] and the [IntRange] they should be applied to - */ -actual data class StyledString( - val string: String, - actual val defaultTextStyle: KalugaTextStyle, - actual val linkStyle: LinkStyle?, - val attributed: List>, -) - -/** - * Builder for creating a [StyledString] - * @param string the String to style - * @param defaultTextStyle The [KalugaTextStyle] to apply when no [StringStyleAttribute] are set for a given range. - * This may be partially overwritten (e.g. [StringStyleAttribute.CharacterStyleAttribute.ForegroundColor] may overwrite [KalugaTextStyle.color]) - * @param linkStyle The [LinkStyle] to apply when [StringStyleAttribute.Link] is applied. - * When `null` the Theme default will be used - */ -actual class StyledStringBuilder constructor( - string: String, - defaultTextStyle: KalugaTextStyle, - linkStyle: LinkStyle?, -) { - - /** - * Provider for a [StyledStringBuilder] - */ - actual class Provider { - - /** - * Provides a [StyledStringBuilder] to build a [StyledString] for a given text - * @param string the text for which to build the [StyledString] - * @param defaultTextStyle the [KalugaTextStyle] to apply when no [StringStyleAttribute] are set for a given range - * @param linkStyle the [LinkStyle] to apply when [StringStyleAttribute.Link] is applied - * @return the [StyledStringBuilder] to build a [StyledString] for [string] - */ - actual fun provide(string: String, defaultTextStyle: KalugaTextStyle, linkStyle: LinkStyle?) = StyledStringBuilder(string, defaultTextStyle, linkStyle) - } - - private var styledString = StyledString(string, defaultTextStyle, linkStyle, emptyList()) - - /** - * Adds a [StringStyleAttribute] for a given range - * @param attribute the [StringStyleAttribute] to apply - * @param range the [IntRange] at which to apply the style - * @throws [IndexOutOfBoundsException] if [range] is out of bounds for the text to span - */ - actual fun addStyleAttribute(attribute: StringStyleAttribute, range: IntRange) { - if (range.any { it !in styledString.string.indices }) { - throw IndexOutOfBoundsException("Attribute cannot be applied to $range") - } - styledString = styledString.copy( - attributed = styledString.attributed.toMutableList().apply { - add(Pair(attribute, range)) - }, - ) - } - - /** - * Creates the [StyledString] - * @return the created [StyledString] - */ - actual fun create(): StyledString = styledString -} - -/** - * Gets the plain string of a [StyledString] - */ -actual val StyledString.rawString: String get() = string diff --git a/resources/src/jvmMain/kotlin/DarkMode.kt b/resources/src/jvmMain/kotlin/DarkMode.kt deleted file mode 100644 index f39c4bd9a..000000000 --- a/resources/src/jvmMain/kotlin/DarkMode.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -/** - * When `true` the application is in Dark Mode. - */ -actual val isInDarkMode: Boolean = false diff --git a/resources/src/jvmMain/kotlin/KalugaColor.kt b/resources/src/jvmMain/kotlin/KalugaColor.kt deleted file mode 100644 index 6519bf123..000000000 --- a/resources/src/jvmMain/kotlin/KalugaColor.kt +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -@file:JvmName("JvmKalugaColor") - -package com.splendo.kaluga.resources - -/** - * Class describing a color - */ -actual typealias KalugaColor = Int - -/** - * Gets the red value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.red: Double get() = redInt.toDouble() / 255.0 - -/** - * Gets the red value of the color in a range between `0` and `255` - */ -actual val KalugaColor.redInt: Int get() = this shr 16 and 0xFF - -/** - * Gets the green value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.green: Double get() = greenInt.toDouble() / 255.0 - -/** - * Gets the green value of the color in a range between `0` and `255` - */ -actual val KalugaColor.greenInt: Int get() = this shr 8 and 0xFF - -/** - * Gets the blue value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.blue: Double get() = blueInt.toDouble() / 255.0 - -/** - * Gets the blue value of the color in a range between `0` and `255` - */ -actual val KalugaColor.blueInt: Int get() = this and 0xFF - -/** - * Gets the alpha value of the color in a range between `0.0` and `1.0` - */ -actual val KalugaColor.alpha: Double get() = alphaInt.toDouble() / 255.0 - -/** - * Gets the alpha value of the color in a range between `0` and `255` - */ -actual val KalugaColor.alphaInt: Int get() = this ushr 24 - -/** - * Creates a [KalugaColor] using red, green, blue, and (optional) alpha, all ranging between `0.0` and `1.0`. - * @param red The red color value ranging between `0.0` and `1.0`. - * @param green The green color value ranging between `0.0` and `1.0`. - * @param blue The blue color value ranging between `0.0` and `1.0`. - * @param alpha The alpha color value ranging between `0.0` and `1.0`. Defaults to `1.0` - * @return The [KalugaColor] with the corresponding red, green, blue, and alpha values - */ -actual fun colorFrom(red: Double, green: Double, blue: Double, alpha: Double): KalugaColor { - return colorFrom((red * 255.0).toInt(), (green * 255.0).toInt(), (blue * 255.0).toInt(), (alpha * 255.0).toInt()) -} - -/** - * Creates a [KalugaColor] using red, green, blue, and (optional) alpha, all ranging between `0` and `255`. - * @param redInt The red color value ranging between `0` and `255`. - * @param greenInt The green color value ranging between `0` and `255`. - * @param blueInt The blue color value ranging between `0` and `255`. - * @param alphaInt The alpha color value ranging between `0` and `255`. Defaults to `255` - * @return The [KalugaColor] with the corresponding red, green, blue, and alpha values - */ -actual fun colorFrom(redInt: Int, greenInt: Int, blueInt: Int, alphaInt: Int): KalugaColor = alphaInt shl 24 or (redInt shl 16) or (greenInt shl 8) or blueInt diff --git a/resources/src/jvmMain/kotlin/KalugaFont.kt b/resources/src/jvmMain/kotlin/KalugaFont.kt deleted file mode 100644 index 8eb8d99bf..000000000 --- a/resources/src/jvmMain/kotlin/KalugaFont.kt +++ /dev/null @@ -1,54 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -@file:JvmName("JvmFont") - -package com.splendo.kaluga.resources - -/** - * Class describing a font - */ -actual class KalugaFont - -/** - * The default system [KalugaFont] - */ -actual val defaultFont: KalugaFont get() = KalugaFont() - -/** - * The default bold system [KalugaFont] - */ -actual val defaultBoldFont: KalugaFont get() = KalugaFont() - -/** - * The default italic system [KalugaFont] - */ -actual val defaultItalicFont: KalugaFont get() = KalugaFont() - -/** - * The default monospace system [KalugaFont] - */ -actual val defaultMonospaceFont: KalugaFont get() = KalugaFont() - -/** - * Creates a system font with a given weight, [FontStyle] and [FontTrait] - * @param weight the weight to apply. Must be in range [1, 100] - * @param style the [FontStyle] to apply - * @param traits the set of [FontTrait] to apply - * @return a [KalugaFont] representing the system font with the given specifications - */ -actual fun createDefaultFont(weight: Int, style: FontStyle, traits: Set): KalugaFont = KalugaFont() diff --git a/resources/src/jvmMain/kotlin/KalugaImage.kt b/resources/src/jvmMain/kotlin/KalugaImage.kt deleted file mode 100644 index 89803f4fb..000000000 --- a/resources/src/jvmMain/kotlin/KalugaImage.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -@file:JvmName("KalugaImageJVMKt") - -package com.splendo.kaluga.resources - -/** - * Class describing an image. - */ -actual class KalugaImage diff --git a/resources/src/jvmMain/kotlin/Resources.kt b/resources/src/jvmMain/kotlin/Resources.kt deleted file mode 100644 index 2347a2e69..000000000 --- a/resources/src/jvmMain/kotlin/Resources.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.resources - -import com.splendo.kaluga.base.text.format - -/** - * Default implementation of a [StringLoader]. - * @param transformer method for getting a String from a String identifier - * @param formatter method for formatting a String identifier given a quantity - */ -actual class DefaultStringLoader( - private val transformer: (String) -> String?, - private val formatter: (String, Int) -> String?, -) : StringLoader { - actual constructor() : this({ it }, { format, value -> format.format(value) }) - - override fun loadString(identifier: String, defaultValue: String): String = transformer(identifier) ?: defaultValue - - override fun loadQuantityString(identifier: String, quantity: Int, defaultValue: String): String = formatter(identifier, quantity) ?: defaultValue -} - -/** - * Default implementation of a [KalugaColorLoader]. - * @param transformer method for getting a [KalugaColor] from a String identifier - */ -actual class DefaultColorLoader(private val transformer: (String) -> KalugaColor?) : KalugaColorLoader { - actual constructor() : this({ null }) - - override fun loadColor(identifier: String, defaultValue: KalugaColor?): KalugaColor? = transformer(identifier) ?: defaultValue -} - -/** - * Default implementation of a [ImageLoader]. - * @param transformer method for getting a [KalugaImage] from a String identifier - */ -actual class DefaultImageLoader(private val transformer: (String) -> KalugaImage?) : ImageLoader { - actual constructor() : this({ null }) - - override fun loadImage(identifier: String, defaultValue: KalugaImage?): KalugaImage? = transformer(identifier) ?: defaultValue -} - -/** - * Default implementation of a [FontLoader]. - * @param transformer method for getting a [KalugaFont] from a String identifier - */ -actual class DefaultFontLoader(private val transformer: suspend (String) -> KalugaFont?) : FontLoader { - actual constructor() : this({ null }) - - override suspend fun loadFont(identifier: String, defaultValue: KalugaFont?): KalugaFont? = transformer(identifier) ?: defaultValue -} diff --git a/resources/src/jvmMain/kotlin/StyledString.kt b/resources/src/jvmMain/kotlin/StyledString.kt deleted file mode 100644 index 33552c66c..000000000 --- a/resources/src/jvmMain/kotlin/StyledString.kt +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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. - - */ - -@file:JvmName("StyledStringJVMkt") - -package com.splendo.kaluga.resources - -import com.splendo.kaluga.resources.stylable.KalugaTextStyle - -/** - * A text configured with [StringStyleAttribute] - * @property string the String to style - * @property defaultTextStyle The [KalugaTextStyle] to apply when no [StringStyleAttribute] are set for a given range. - * This may be partially overwritten (e.g. [StringStyleAttribute.CharacterStyleAttribute.ForegroundColor] may overwrite [KalugaTextStyle.color]) - * @property linkStyle The [LinkStyle] to apply when [StringStyleAttribute.Link] is applied. - * When `null` the Theme default will be used - * @property attributed a list containing all [StringStyleAttribute] and the [IntRange] they should be applied to - */ -actual data class StyledString( - val string: String, - actual val defaultTextStyle: KalugaTextStyle, - actual val linkStyle: LinkStyle?, - val attributed: List>, -) - -/** - * Builder for creating a [StyledString] - * @param string the String to style - * @param defaultTextStyle The [KalugaTextStyle] to apply when no [StringStyleAttribute] are set for a given range. - * This may be partially overwritten (e.g. [StringStyleAttribute.CharacterStyleAttribute.ForegroundColor] may overwrite [KalugaTextStyle.color]) - * @param linkStyle The [LinkStyle] to apply when [StringStyleAttribute.Link] is applied. - * When `null` the Theme default will be used - */ -actual class StyledStringBuilder constructor( - string: String, - defaultTextStyle: KalugaTextStyle, - linkStyle: LinkStyle?, -) { - - /** - * Provider for a [StyledStringBuilder] - */ - actual class Provider { - - /** - * Provides a [StyledStringBuilder] to build a [StyledString] for a given text - * @param string the text for which to build the [StyledString] - * @param defaultTextStyle the [KalugaTextStyle] to apply when no [StringStyleAttribute] are set for a given range - * @param linkStyle the [LinkStyle] to apply when [StringStyleAttribute.Link] is applied - * @return the [StyledStringBuilder] to build a [StyledString] for [string] - */ - actual fun provide(string: String, defaultTextStyle: KalugaTextStyle, linkStyle: LinkStyle?) = StyledStringBuilder(string, defaultTextStyle, linkStyle) - } - - private var styledString = StyledString(string, defaultTextStyle, linkStyle, emptyList()) - - /** - * Adds a [StringStyleAttribute] for a given range - * @param attribute the [StringStyleAttribute] to apply - * @param range the [IntRange] at which to apply the style - * @throws [IndexOutOfBoundsException] if [range] is out of bounds for the text to span - */ - actual fun addStyleAttribute(attribute: StringStyleAttribute, range: IntRange) { - if (range.any { it !in styledString.string.indices }) { - throw IndexOutOfBoundsException("Attribute cannot be applied to $range with ${styledString.string.indices}") - } - styledString = styledString.copy( - attributed = styledString.attributed.toMutableList().apply { - add(Pair(attribute, range)) - }, - ) - } - - /** - * Creates the [StyledString] - * @return the created [StyledString] - */ - actual fun create(): StyledString = styledString -} - -/** - * Gets the plain string of a [StyledString] - */ -actual val StyledString.rawString: String get() = string diff --git a/review/api/jvm/review.api b/review/api/jvm/review.api deleted file mode 100644 index b401c4d1a..000000000 --- a/review/api/jvm/review.api +++ /dev/null @@ -1,10 +0,0 @@ -public final class com/splendo/kaluga/review/ReviewManager { - public fun ()V - public final fun attemptToRequestReview (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/review/ReviewManager$Builder : com/splendo/kaluga/architecture/lifecycle/LifecycleSubscribable { - public fun ()V - public final fun create ()Lcom/splendo/kaluga/review/ReviewManager; -} - diff --git a/review/api/androidLib/review.api b/review/api/review.api similarity index 100% rename from review/api/androidLib/review.api rename to review/api/review.api diff --git a/review/build.gradle.kts b/review/build.gradle.kts index 142b9e124..fec3c1319 100644 --- a/review/build.gradle.kts +++ b/review/build.gradle.kts @@ -1,23 +1,18 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("review") - -dependencies { - implementationDependency(Dependencies.Android.Play.Core) - implementationDependency(Dependencies.Android.Play.CoreKtx) -} - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "review" + dependencies { + android { + main { + implementation(libs.android.play.review) + implementation(libs.android.play.review.ktx) + } + } + common { + main { implementation(project(":architecture", "")) implementation(project(":base", "")) implementation(project(":logging", "")) diff --git a/review/src/jsMain/kotlin/ReviewManager.kt b/review/src/jsMain/kotlin/ReviewManager.kt deleted file mode 100644 index d2f9a9bdb..000000000 --- a/review/src/jsMain/kotlin/ReviewManager.kt +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.review - -import com.splendo.kaluga.architecture.lifecycle.LifecycleSubscribable - -/** - * Manager for requesting the system to show a Review Dialog. - * This library does not guarantee such a dialog will be shown, as the OS may block such an action. - */ -actual class ReviewManager { - - /** - * Builder for creating a [ReviewManager] - */ - actual class Builder : LifecycleSubscribable { - - /** - * Creates a [ReviewManager] - * @return the created [ReviewManager] - */ - actual fun create() = ReviewManager() - } - - /** - * Attempts to show a dialog that asks the user to submit a review of the app. - * This method does not guarantee such a dialog will be shown as the OS may block it. - */ - actual suspend fun attemptToRequestReview() { } -} diff --git a/review/src/jvmMain/kotlin/ReviewManager.kt b/review/src/jvmMain/kotlin/ReviewManager.kt deleted file mode 100644 index 20b695a71..000000000 --- a/review/src/jvmMain/kotlin/ReviewManager.kt +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.review - -import com.splendo.kaluga.architecture.lifecycle.LifecycleSubscribable - -/** - * Manager for requesting the system to show a Review Dialog. - * This library does not guarantee such a dialog will be shown, as the OS may block such an action. - */ -actual class ReviewManager { - - /** - * Builder for creating a [ReviewManager] - */ - actual class Builder : LifecycleSubscribable { - - /** - * Creates a [ReviewManager] - * @return the created [ReviewManager] - */ - actual fun create() = ReviewManager() - } - - /** - * Attempts to show a dialog that asks the user to submit a review of the app. - * This method does not guarantee such a dialog will be shown as the OS may block it. - */ - actual suspend fun attemptToRequestReview() { } -} diff --git a/scientific/api/androidLib/scientific.api b/scientific/api/androidLib/scientific.api index 7fd0594d1..5b547bc39 100644 --- a/scientific/api/androidLib/scientific.api +++ b/scientific/api/androidLib/scientific.api @@ -1,15 +1,9 @@ public abstract interface class com/splendo/kaluga/scientific/ByteScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Byte; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Byte; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[B - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/ByteScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/ByteScientificArray;I)Ljava/lang/Byte; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/ByteScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/ByteScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/ByteScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public final class com/splendo/kaluga/scientific/DefaultScientificArray : com/splendo/kaluga/scientific/DoubleScientificArray { @@ -21,27 +15,22 @@ public final class com/splendo/kaluga/scientific/DefaultScientificArray : com/sp public final fun copy ([DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public static synthetic fun copy$default (Lcom/splendo/kaluga/scientific/DefaultScientificArray;[DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;ILjava/lang/Object;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public fun equals (Ljava/lang/Object;)Z - public fun get (I)Ljava/lang/Double; - public synthetic fun get (I)Ljava/lang/Number; - public fun getDecimalValues ()Ljava/util/List; - public fun getSize ()I public fun getUnit ()Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit; public synthetic fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public fun getValues ()[D public fun hashCode ()I - public fun iterator ()Ljava/util/Iterator; public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/DefaultScientificArray$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public synthetic fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; +public synthetic class com/splendo/kaluga/scientific/DefaultScientificArray$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificArray;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificArray;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } public final class com/splendo/kaluga/scientific/DefaultScientificArray$Companion { @@ -52,14 +41,11 @@ public final class com/splendo/kaluga/scientific/DefaultScientificValue : com/sp public static final field Companion Lcom/splendo/kaluga/scientific/DefaultScientificValue$Companion; public fun (DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)V public fun (Lcom/splendo/kaluga/base/utils/Decimal;Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)V - public fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;)I - public synthetic fun compareTo (Ljava/lang/Object;)I public final fun component1 ()D public final fun component2 ()Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit; public final fun copy (DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public static synthetic fun copy$default (Lcom/splendo/kaluga/scientific/DefaultScientificValue;DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;ILjava/lang/Object;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public fun equals (Ljava/lang/Object;)Z - public fun getDecimalValue ()Lcom/splendo/kaluga/base/utils/Decimal; public fun getUnit ()Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit; public synthetic fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public fun getValue ()Ljava/lang/Double; @@ -68,15 +54,15 @@ public final class com/splendo/kaluga/scientific/DefaultScientificValue : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/DefaultScientificValue$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public synthetic fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; +public synthetic class com/splendo/kaluga/scientific/DefaultScientificValue$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificValue;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificValue;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } public final class com/splendo/kaluga/scientific/DefaultScientificValue$Companion { @@ -84,59 +70,35 @@ public final class com/splendo/kaluga/scientific/DefaultScientificValue$Companio } public abstract interface class com/splendo/kaluga/scientific/DoubleScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Double; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Double; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[D - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/DoubleScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/DoubleScientificArray;I)Ljava/lang/Double; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/DoubleScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/DoubleScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/DoubleScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract interface class com/splendo/kaluga/scientific/FloatScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Float; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Float; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[F - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/FloatScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/FloatScientificArray;I)Ljava/lang/Float; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/FloatScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/FloatScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/FloatScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract interface class com/splendo/kaluga/scientific/IntScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Integer; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Integer; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[I - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/IntScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/IntScientificArray;I)Ljava/lang/Integer; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/IntScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/IntScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/IntScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract interface class com/splendo/kaluga/scientific/LongScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Long; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Long; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[J - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/LongScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/LongScientificArray;I)Ljava/lang/Long; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/LongScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/LongScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/LongScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract class com/splendo/kaluga/scientific/PhysicalQuantity : java/io/Serializable { @@ -649,16 +611,12 @@ public final class com/splendo/kaluga/scientific/PhysicalQuantity$Yank : com/spl public abstract interface class com/splendo/kaluga/scientific/ScientificArray : java/io/Serializable { public abstract fun get (I)Ljava/lang/Number; - public abstract fun getDecimalValues ()Ljava/util/List; + public fun getDecimalValues ()Ljava/util/List; public abstract fun getSize ()I public abstract fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public abstract fun iterator ()Ljava/util/Iterator; } -public final class com/splendo/kaluga/scientific/ScientificArray$DefaultImpls { - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/ScientificArray;)Ljava/util/List; -} - public final class com/splendo/kaluga/scientific/ScientificArrayKt { public static final fun combine (Lcom/splendo/kaluga/scientific/ScientificArray;Lcom/splendo/kaluga/scientific/ScientificArray;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public static final fun combine (Lcom/splendo/kaluga/scientific/ScientificArray;Lcom/splendo/kaluga/scientific/ScientificArray;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/scientific/ScientificArray; @@ -690,17 +648,13 @@ public final class com/splendo/kaluga/scientific/ScientificArrayKt { } public abstract interface class com/splendo/kaluga/scientific/ScientificValue : java/io/Serializable, java/lang/Comparable { - public abstract fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;)I - public abstract fun getDecimalValue ()Lcom/splendo/kaluga/base/utils/Decimal; + public fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;)I + public synthetic fun compareTo (Ljava/lang/Object;)I + public fun getDecimalValue ()Lcom/splendo/kaluga/base/utils/Decimal; public abstract fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public abstract fun getValue ()Ljava/lang/Number; } -public final class com/splendo/kaluga/scientific/ScientificValue$DefaultImpls { - public static fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;Lcom/splendo/kaluga/scientific/ScientificValue;)I - public static fun getDecimalValue (Lcom/splendo/kaluga/scientific/ScientificValue;)Lcom/splendo/kaluga/base/utils/Decimal; -} - public final class com/splendo/kaluga/scientific/ScientificValueKt { public static final fun convert (Lcom/splendo/kaluga/scientific/ScientificValue;Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public static final fun convert (Lcom/splendo/kaluga/scientific/ScientificValue;Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;ILcom/splendo/kaluga/base/utils/RoundingMode;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; @@ -767,17 +721,11 @@ public final class com/splendo/kaluga/scientific/ScientificValueKt { } public abstract interface class com/splendo/kaluga/scientific/ShortScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Short; - public abstract fun getSize ()I + public synthetic fun get (I)Ljava/lang/Number; + public fun get (I)Ljava/lang/Short; + public fun getSize ()I public abstract fun getValues ()[S - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/ShortScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/ShortScientificArray;I)Ljava/lang/Short; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/ShortScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/ShortScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/ShortScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public final class com/splendo/kaluga/scientific/converter/acceleration/ConvertFromForceAndMassKt { @@ -5193,13 +5141,13 @@ public final class com/splendo/kaluga/scientific/unit/AngularAcceleration : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/AngularAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/AngularAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/AngularAcceleration$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularAcceleration; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularAcceleration; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularAcceleration;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularAcceleration;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -5234,13 +5182,13 @@ public final class com/splendo/kaluga/scientific/unit/AngularVelocity : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/AngularVelocity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/AngularVelocity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/AngularVelocity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularVelocity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularVelocity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularVelocity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularVelocity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -6357,13 +6305,13 @@ public final class com/splendo/kaluga/scientific/unit/CombinedImperialAccelerati public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/CombinedImperialAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/CombinedImperialAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -6387,13 +6335,13 @@ public final class com/splendo/kaluga/scientific/unit/CombinedMetricAcceleration public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/CombinedMetricAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/CombinedMetricAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10034,13 +9982,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialAction : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialAction$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAction; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAction; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAction;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAction;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10079,13 +10027,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialAreaDensity : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10114,13 +10062,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialDensity : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10148,13 +10096,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialDynamicViscosity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10247,13 +10195,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialJolt : com/splendo public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialJolt$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialJolt; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialJolt; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialJolt;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialJolt;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10279,13 +10227,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialKinematicViscosity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10328,13 +10276,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialLinearMassDensity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10370,13 +10318,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialLuminousExposure : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10404,13 +10352,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMassFlowRate : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10437,13 +10385,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialA public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10471,13 +10419,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialE public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10505,13 +10453,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialP public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10539,13 +10487,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolality : com/spl public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10571,13 +10519,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarEnergy : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10605,13 +10553,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarMass : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10639,13 +10587,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarVolume : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10673,13 +10621,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarity : com/spl public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10708,13 +10656,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMomentum : com/spl public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10792,13 +10740,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSpecificEnergy : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10827,13 +10775,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSpecificVolume : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10859,13 +10807,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSpeed : com/splend public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSpeed$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpeed; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpeed; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpeed;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpeed;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10894,13 +10842,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSurfaceTension : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10982,13 +10930,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlow : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -11017,13 +10965,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlux : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -11065,13 +11013,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialYank : com/splendo public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -12159,13 +12107,13 @@ public final class com/splendo/kaluga/scientific/unit/LuminousEnergy : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/LuminousEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/LuminousEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/LuminousEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/LuminousEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/LuminousEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/LuminousEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/LuminousEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13102,13 +13050,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAction : com/splendo public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAction$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAction; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAction; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAction;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAction;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13150,13 +13098,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndImperialAction : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13194,13 +13142,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndImperialJolt : co public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13228,13 +13176,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndImperialMolarEner public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13276,13 +13224,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCap public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13328,13 +13276,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialThermal public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13371,13 +13319,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAreaDensity : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13419,13 +13367,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricDensity : com/splend public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13451,13 +13399,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricDynamicViscosity : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13504,13 +13452,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricHeatCapacity : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13561,13 +13509,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricJolt : com/splendo/k public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricJolt$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricJolt; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricJolt; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricJolt;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricJolt;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13593,13 +13541,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricKinematicViscosity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13636,13 +13584,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricLinearMassDensity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13678,13 +13626,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricLuminousExposure : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13710,13 +13658,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMassFlowRate : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13743,13 +13691,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialAcc public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13777,13 +13725,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialEne public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13811,13 +13759,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialPow public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13843,13 +13791,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolality : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13875,13 +13823,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarEnergy : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13907,13 +13855,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarMass : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13939,13 +13887,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarVolume : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13971,13 +13919,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarity : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14004,13 +13952,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMomentum : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14063,13 +14011,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpecificEnergy : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14096,13 +14044,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14129,13 +14077,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpecificVolume : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14161,13 +14109,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpeed : com/splendo/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpeed$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpeed; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpeed; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpeed;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpeed;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14194,13 +14142,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSurfaceTension : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14227,13 +14175,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricThermalResistance : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14269,13 +14217,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlow : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14302,13 +14250,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlux : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14344,13 +14292,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricYank : com/splendo/k public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -17890,13 +17838,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialAreaDensity : co public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -17923,13 +17871,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialDensity : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -17955,13 +17903,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18002,13 +17950,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialHeatCapacity : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18032,13 +17980,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialImperialForceWra public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18062,13 +18010,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWr public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18092,13 +18040,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialImperialWeightWr public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18125,13 +18073,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialLinearMassDensit public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18157,13 +18105,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMassFlowRate : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18189,13 +18137,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolality : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18221,13 +18169,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolarMass : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18253,13 +18201,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolarVolume : co public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18285,13 +18233,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolarity : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18318,13 +18266,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMomentum : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18362,13 +18310,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialPressureWrapper public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18398,13 +18346,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18431,13 +18379,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapa public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18464,13 +18412,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificVolume : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18497,13 +18445,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSurfaceTension : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18530,13 +18478,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialThermalResistanc public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18576,13 +18524,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18609,13 +18557,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18655,13 +18603,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialYank : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18688,13 +18636,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryAreaDensity : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18721,13 +18669,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryDensity : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18753,13 +18701,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosit public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18800,13 +18748,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18830,13 +18778,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialForceWr public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18860,13 +18808,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialPressur public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18890,13 +18838,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeW public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18920,13 +18868,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialWeightW public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18953,13 +18901,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensi public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18985,13 +18933,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19017,13 +18965,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolality : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19049,13 +18997,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarMass : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19081,13 +19029,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarVolume : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19113,13 +19061,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarity : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19146,13 +19094,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMomentum : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19196,13 +19144,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19229,13 +19177,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCap public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19262,13 +19210,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificVolume public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19295,13 +19243,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySurfaceTension public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19342,13 +19290,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryThermalResistan public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19388,13 +19336,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19421,13 +19369,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19467,13 +19415,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryYank : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } diff --git a/scientific/api/jvm/scientific.api b/scientific/api/jvm/scientific.api index 7fd0594d1..5b547bc39 100644 --- a/scientific/api/jvm/scientific.api +++ b/scientific/api/jvm/scientific.api @@ -1,15 +1,9 @@ public abstract interface class com/splendo/kaluga/scientific/ByteScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Byte; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Byte; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[B - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/ByteScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/ByteScientificArray;I)Ljava/lang/Byte; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/ByteScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/ByteScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/ByteScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public final class com/splendo/kaluga/scientific/DefaultScientificArray : com/splendo/kaluga/scientific/DoubleScientificArray { @@ -21,27 +15,22 @@ public final class com/splendo/kaluga/scientific/DefaultScientificArray : com/sp public final fun copy ([DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public static synthetic fun copy$default (Lcom/splendo/kaluga/scientific/DefaultScientificArray;[DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;ILjava/lang/Object;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public fun equals (Ljava/lang/Object;)Z - public fun get (I)Ljava/lang/Double; - public synthetic fun get (I)Ljava/lang/Number; - public fun getDecimalValues ()Ljava/util/List; - public fun getSize ()I public fun getUnit ()Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit; public synthetic fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public fun getValues ()[D public fun hashCode ()I - public fun iterator ()Ljava/util/Iterator; public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/DefaultScientificArray$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public synthetic fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; +public synthetic class com/splendo/kaluga/scientific/DefaultScientificArray$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificArray;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificArray;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } public final class com/splendo/kaluga/scientific/DefaultScientificArray$Companion { @@ -52,14 +41,11 @@ public final class com/splendo/kaluga/scientific/DefaultScientificValue : com/sp public static final field Companion Lcom/splendo/kaluga/scientific/DefaultScientificValue$Companion; public fun (DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)V public fun (Lcom/splendo/kaluga/base/utils/Decimal;Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)V - public fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;)I - public synthetic fun compareTo (Ljava/lang/Object;)I public final fun component1 ()D public final fun component2 ()Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit; public final fun copy (DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public static synthetic fun copy$default (Lcom/splendo/kaluga/scientific/DefaultScientificValue;DLcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;ILjava/lang/Object;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public fun equals (Ljava/lang/Object;)Z - public fun getDecimalValue ()Lcom/splendo/kaluga/base/utils/Decimal; public fun getUnit ()Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit; public synthetic fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public fun getValue ()Ljava/lang/Double; @@ -68,15 +54,15 @@ public final class com/splendo/kaluga/scientific/DefaultScientificValue : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/DefaultScientificValue$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public synthetic fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; +public synthetic class com/splendo/kaluga/scientific/DefaultScientificValue$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public fun (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/KSerializer;)V + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificValue;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/DefaultScientificValue;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } public final class com/splendo/kaluga/scientific/DefaultScientificValue$Companion { @@ -84,59 +70,35 @@ public final class com/splendo/kaluga/scientific/DefaultScientificValue$Companio } public abstract interface class com/splendo/kaluga/scientific/DoubleScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Double; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Double; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[D - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/DoubleScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/DoubleScientificArray;I)Ljava/lang/Double; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/DoubleScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/DoubleScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/DoubleScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract interface class com/splendo/kaluga/scientific/FloatScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Float; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Float; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[F - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/FloatScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/FloatScientificArray;I)Ljava/lang/Float; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/FloatScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/FloatScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/FloatScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract interface class com/splendo/kaluga/scientific/IntScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Integer; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Integer; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[I - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/IntScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/IntScientificArray;I)Ljava/lang/Integer; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/IntScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/IntScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/IntScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract interface class com/splendo/kaluga/scientific/LongScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Long; - public abstract fun getSize ()I + public fun get (I)Ljava/lang/Long; + public synthetic fun get (I)Ljava/lang/Number; + public fun getSize ()I public abstract fun getValues ()[J - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/LongScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/LongScientificArray;I)Ljava/lang/Long; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/LongScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/LongScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/LongScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public abstract class com/splendo/kaluga/scientific/PhysicalQuantity : java/io/Serializable { @@ -649,16 +611,12 @@ public final class com/splendo/kaluga/scientific/PhysicalQuantity$Yank : com/spl public abstract interface class com/splendo/kaluga/scientific/ScientificArray : java/io/Serializable { public abstract fun get (I)Ljava/lang/Number; - public abstract fun getDecimalValues ()Ljava/util/List; + public fun getDecimalValues ()Ljava/util/List; public abstract fun getSize ()I public abstract fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public abstract fun iterator ()Ljava/util/Iterator; } -public final class com/splendo/kaluga/scientific/ScientificArray$DefaultImpls { - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/ScientificArray;)Ljava/util/List; -} - public final class com/splendo/kaluga/scientific/ScientificArrayKt { public static final fun combine (Lcom/splendo/kaluga/scientific/ScientificArray;Lcom/splendo/kaluga/scientific/ScientificArray;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/scientific/DefaultScientificArray; public static final fun combine (Lcom/splendo/kaluga/scientific/ScientificArray;Lcom/splendo/kaluga/scientific/ScientificArray;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)Lcom/splendo/kaluga/scientific/ScientificArray; @@ -690,17 +648,13 @@ public final class com/splendo/kaluga/scientific/ScientificArrayKt { } public abstract interface class com/splendo/kaluga/scientific/ScientificValue : java/io/Serializable, java/lang/Comparable { - public abstract fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;)I - public abstract fun getDecimalValue ()Lcom/splendo/kaluga/base/utils/Decimal; + public fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;)I + public synthetic fun compareTo (Ljava/lang/Object;)I + public fun getDecimalValue ()Lcom/splendo/kaluga/base/utils/Decimal; public abstract fun getUnit ()Lcom/splendo/kaluga/scientific/unit/ScientificUnit; public abstract fun getValue ()Ljava/lang/Number; } -public final class com/splendo/kaluga/scientific/ScientificValue$DefaultImpls { - public static fun compareTo (Lcom/splendo/kaluga/scientific/ScientificValue;Lcom/splendo/kaluga/scientific/ScientificValue;)I - public static fun getDecimalValue (Lcom/splendo/kaluga/scientific/ScientificValue;)Lcom/splendo/kaluga/base/utils/Decimal; -} - public final class com/splendo/kaluga/scientific/ScientificValueKt { public static final fun convert (Lcom/splendo/kaluga/scientific/ScientificValue;Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; public static final fun convert (Lcom/splendo/kaluga/scientific/ScientificValue;Lcom/splendo/kaluga/scientific/unit/AbstractScientificUnit;ILcom/splendo/kaluga/base/utils/RoundingMode;)Lcom/splendo/kaluga/scientific/DefaultScientificValue; @@ -767,17 +721,11 @@ public final class com/splendo/kaluga/scientific/ScientificValueKt { } public abstract interface class com/splendo/kaluga/scientific/ShortScientificArray : com/splendo/kaluga/scientific/ScientificArray { - public abstract fun get (I)Ljava/lang/Short; - public abstract fun getSize ()I + public synthetic fun get (I)Ljava/lang/Number; + public fun get (I)Ljava/lang/Short; + public fun getSize ()I public abstract fun getValues ()[S - public abstract fun iterator ()Ljava/util/Iterator; -} - -public final class com/splendo/kaluga/scientific/ShortScientificArray$DefaultImpls { - public static fun get (Lcom/splendo/kaluga/scientific/ShortScientificArray;I)Ljava/lang/Short; - public static fun getDecimalValues (Lcom/splendo/kaluga/scientific/ShortScientificArray;)Ljava/util/List; - public static fun getSize (Lcom/splendo/kaluga/scientific/ShortScientificArray;)I - public static fun iterator (Lcom/splendo/kaluga/scientific/ShortScientificArray;)Ljava/util/Iterator; + public fun iterator ()Ljava/util/Iterator; } public final class com/splendo/kaluga/scientific/converter/acceleration/ConvertFromForceAndMassKt { @@ -5193,13 +5141,13 @@ public final class com/splendo/kaluga/scientific/unit/AngularAcceleration : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/AngularAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/AngularAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/AngularAcceleration$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularAcceleration; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularAcceleration; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularAcceleration;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularAcceleration;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -5234,13 +5182,13 @@ public final class com/splendo/kaluga/scientific/unit/AngularVelocity : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/AngularVelocity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/AngularVelocity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/AngularVelocity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularVelocity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/AngularVelocity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularVelocity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/AngularVelocity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -6357,13 +6305,13 @@ public final class com/splendo/kaluga/scientific/unit/CombinedImperialAccelerati public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/CombinedImperialAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/CombinedImperialAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedImperialAcceleration;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -6387,13 +6335,13 @@ public final class com/splendo/kaluga/scientific/unit/CombinedMetricAcceleration public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/CombinedMetricAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/CombinedMetricAcceleration$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/CombinedMetricAcceleration;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10034,13 +9982,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialAction : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialAction$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAction; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAction; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAction;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAction;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10079,13 +10027,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialAreaDensity : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10114,13 +10062,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialDensity : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10148,13 +10096,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialDynamicViscosity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10247,13 +10195,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialJolt : com/splendo public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialJolt$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialJolt; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialJolt; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialJolt;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialJolt;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10279,13 +10227,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialKinematicViscosity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialKinematicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10328,13 +10276,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialLinearMassDensity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10370,13 +10318,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialLuminousExposure : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialLuminousExposure;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10404,13 +10352,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMassFlowRate : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10437,13 +10385,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialA public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialAccelerationWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10471,13 +10419,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialE public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialEnergyWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10505,13 +10453,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialP public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMetricAndImperialPowerWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10539,13 +10487,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolality : com/spl public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10571,13 +10519,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarEnergy : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10605,13 +10553,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarMass : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10639,13 +10587,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarVolume : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10673,13 +10621,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMolarity : com/spl public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10708,13 +10656,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialMomentum : com/spl public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10792,13 +10740,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSpecificEnergy : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10827,13 +10775,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSpecificVolume : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10859,13 +10807,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSpeed : com/splend public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSpeed$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpeed; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSpeed; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpeed;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSpeed;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10894,13 +10842,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialSurfaceTension : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialSurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -10982,13 +10930,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlow : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -11017,13 +10965,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlux : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -11065,13 +11013,13 @@ public final class com/splendo/kaluga/scientific/unit/ImperialYank : com/splendo public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/ImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/ImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/ImperialYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/ImperialYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/ImperialYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -12159,13 +12107,13 @@ public final class com/splendo/kaluga/scientific/unit/LuminousEnergy : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/LuminousEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/LuminousEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/LuminousEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/LuminousEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/LuminousEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/LuminousEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/LuminousEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13102,13 +13050,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAction : com/splendo public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAction$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAction; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAction; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAction;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAction;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13150,13 +13098,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndImperialAction : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndImperialAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialAction;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13194,13 +13142,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndImperialJolt : co public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndImperialJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialJolt;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13228,13 +13176,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndImperialMolarEner public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndImperialMolarEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13276,13 +13224,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCap public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13328,13 +13276,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialThermal public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAndUKImperialThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13371,13 +13319,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricAreaDensity : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13419,13 +13367,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricDensity : com/splend public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13451,13 +13399,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricDynamicViscosity : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13504,13 +13452,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricHeatCapacity : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13561,13 +13509,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricJolt : com/splendo/k public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricJolt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricJolt$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricJolt; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricJolt; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricJolt;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricJolt;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13593,13 +13541,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricKinematicViscosity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricKinematicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricKinematicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13636,13 +13584,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricLinearMassDensity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13678,13 +13626,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricLuminousExposure : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricLuminousExposure$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricLuminousExposure;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13710,13 +13658,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMassFlowRate : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13743,13 +13691,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialAcc public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialAccelerationWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13777,13 +13725,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialEne public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialEnergyWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13811,13 +13759,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialPow public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMetricAndImperialPowerWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13843,13 +13791,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolality : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13875,13 +13823,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarEnergy : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13907,13 +13855,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarMass : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13939,13 +13887,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarVolume : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -13971,13 +13919,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMolarity : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14004,13 +13952,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricMomentum : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14063,13 +14011,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpecificEnergy : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14096,13 +14044,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14129,13 +14077,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpecificVolume : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14161,13 +14109,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSpeed : com/splendo/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSpeed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSpeed$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpeed; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSpeed; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpeed;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSpeed;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14194,13 +14142,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricSurfaceTension : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricSurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14227,13 +14175,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricThermalResistance : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14269,13 +14217,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlow : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14302,13 +14250,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlux : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -14344,13 +14292,13 @@ public final class com/splendo/kaluga/scientific/unit/MetricYank : com/splendo/k public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/MetricYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/MetricYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/MetricYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/MetricYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/MetricYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -17890,13 +17838,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialAreaDensity : co public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -17923,13 +17871,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialDensity : com/sp public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -17955,13 +17903,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18002,13 +17950,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialHeatCapacity : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18032,13 +17980,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialImperialForceWra public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialForceWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18062,13 +18010,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWr public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialVolumeWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18092,13 +18040,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialImperialWeightWr public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialImperialWeightWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18125,13 +18073,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialLinearMassDensit public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18157,13 +18105,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMassFlowRate : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18189,13 +18137,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolality : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18221,13 +18169,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolarMass : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18253,13 +18201,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolarVolume : co public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18285,13 +18233,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMolarity : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18318,13 +18266,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialMomentum : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18362,13 +18310,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialPressureWrapper public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialPressureWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18398,13 +18346,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18431,13 +18379,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapa public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18464,13 +18412,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificVolume : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18497,13 +18445,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialSurfaceTension : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialSurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialSurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18530,13 +18478,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialThermalResistanc public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18576,13 +18524,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18609,13 +18557,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18655,13 +18603,13 @@ public final class com/splendo/kaluga/scientific/unit/UKImperialYank : com/splen public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/UKImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/UKImperialYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/UKImperialYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/UKImperialYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/UKImperialYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18688,13 +18636,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryAreaDensity : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryAreaDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryAreaDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18721,13 +18669,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryDensity : com/s public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18753,13 +18701,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosit public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryDynamicViscosity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18800,13 +18748,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18830,13 +18778,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialForceWr public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialForceWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18860,13 +18808,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialPressur public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialPressureWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18890,13 +18838,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeW public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialVolumeWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18920,13 +18868,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialWeightW public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryImperialWeightWrapper;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18953,13 +18901,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensi public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryLinearMassDensity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -18985,13 +18933,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate : public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMassFlowRate;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19017,13 +18965,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolality : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolality$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolality;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19049,13 +18997,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarMass : com public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolarMass$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarMass;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19081,13 +19029,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarVolume : c public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolarVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19113,13 +19061,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarity : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMolarity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMolarity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19146,13 +19094,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryMomentum : com/ public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryMomentum$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryMomentum;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19196,13 +19144,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificEnergy;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19229,13 +19177,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCap public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificHeatCapacity;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19262,13 +19210,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificVolume public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySpecificVolume$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySpecificVolume;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19295,13 +19243,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomarySurfaceTension public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomarySurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomarySurfaceTension$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomarySurfaceTension;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19342,13 +19290,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryThermalResistan public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryThermalResistance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryThermalResistance;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19388,13 +19336,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlow;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19421,13 +19369,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryVolumetricFlux;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } @@ -19467,13 +19415,13 @@ public final class com/splendo/kaluga/scientific/unit/USCustomaryYank : com/sple public fun toString ()Ljava/lang/String; } -public final class com/splendo/kaluga/scientific/unit/USCustomaryYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { +public synthetic class com/splendo/kaluga/scientific/unit/USCustomaryYank$$serializer : kotlinx/serialization/internal/GeneratedSerializer { public static final field INSTANCE Lcom/splendo/kaluga/scientific/unit/USCustomaryYank$$serializer; - public fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryYank; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/splendo/kaluga/scientific/unit/USCustomaryYank; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryYank;)V + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/splendo/kaluga/scientific/unit/USCustomaryYank;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } diff --git a/scientific/build.gradle.kts b/scientific/build.gradle.kts index 0a16e3b6d..a2f8a7998 100644 --- a/scientific/build.gradle.kts +++ b/scientific/build.gradle.kts @@ -1,27 +1,23 @@ plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") + alias(libs.plugins.kotlin.serialization) } -publishableComponent("scientific") +kaluga { + moduleName = "scientific" -kotlin { - sourceSets { - commonMain { - dependencies { + supportJVM = true + supportJS = true + + dependencies { + common { + main { implementation(project(":base")) - apiDependency(Dependencies.KotlinX.Serialization.Core) + api(libs.kotlinx.serialization.core) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-base")) - apiDependency(Dependencies.KotlinX.Serialization.Json) + implementation(libs.kotlinx.serialization.json) } } } diff --git a/service/build.gradle.kts b/service/build.gradle.kts index a760ebee3..700ff966b 100644 --- a/service/build.gradle.kts +++ b/service/build.gradle.kts @@ -1,27 +1,19 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("service") +kaluga { + moduleName = "service" -dependencies { } + supportJVM = true + supportJS = true -kotlin { - sourceSets { - commonMain { - dependencies { + dependencies { + common { + main { implementation(project(":logging")) implementation(project(":base")) } } - commonTest { - dependencies { - } - } } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 5d5a2b187..0fa3ff415 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,50 +7,24 @@ ***********************************************/ pluginManagement { - repositories { - gradlePluginPortal() google() + gradlePluginPortal() + mavenCentral() } - resolutionStrategy { - eachPlugin { - - val kalugaAndroidGradlePluginVersion = settings.extra["kaluga.androidGradlePluginVersion"] - val kalugaKotlinVersion = settings.extra["kaluga.kotlinVersion"] - val kalugaKotlinterGradlePluginVersion = settings.extra["kaluga.kotlinterGradlePluginVersion"] - val kalugaGoogleServicesGradlePluginVersion = settings.extra["kaluga.googleServicesGradlePluginVersion"] - val kalugaAtomicFuGradlePluginVersion = settings.extra["kaluga.atomicFuGradlePluginVersion"] - val kalugaBinaryCompatibilityValidatorVersion = settings.extra["kaluga.binaryCompatibilityValidatorVersion"] - val kalugaDokkaVersion = settings.extra["kaluga.dokkaVersion"] + includeBuild("kaluga-library-components") + includeBuild("gradle-test-recorder/plugin-build/") +} - when (requested.id.id) { - "org.jetbrains.kotlin.multiplatform", - "org.jetbrains.kotlin.plugin.serialization", - "org.jetbrains.kotlin.android", - "org.jetbrains.kotlin.kapt" - -> useVersion("$kalugaKotlinVersion") - "org.jetbrains.dokka" - -> useVersion("$kalugaDokkaVersion") - "com.android.library", - "com.android.application" - -> useVersion("$kalugaAndroidGradlePluginVersion") - "org.jmailen.kotlinter" - -> useVersion("$kalugaKotlinterGradlePluginVersion") - "com.google.gms:google-services" - -> useVersion("com.google.gms:google-services:$kalugaGoogleServicesGradlePluginVersion") - "org.jetbrains.kotlinx.binary-compatibility-validator" - -> useVersion("$kalugaBinaryCompatibilityValidatorVersion") - "org.jetbrains.kotlinx.atomicfu" -> useVersion("$kalugaAtomicFuGradlePluginVersion") - } +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + from(files("libs.versions.toml")) } } } -includeBuild("kaluga-library-components") -includeBuild("convention-plugins") -includeBuild("gradle-test-recorder/plugin-build/") - rootProject.name = "Kaluga" /* REMINDER (see header), files should be kept up to date with Gradle and the [.git/workflows] */ @@ -87,7 +61,7 @@ include(":review") include(":scientific") include(":service") include(":system") -// Test Utils +// // Test Utils include(":test-utils") include(":test-utils-base") include(":test-utils-alerts") diff --git a/storage-permissions/api/jvm/storage-permissions.api b/storage-permissions/api/jvm/storage-permissions.api deleted file mode 100644 index 4d568e4bb..000000000 --- a/storage-permissions/api/jvm/storage-permissions.api +++ /dev/null @@ -1,49 +0,0 @@ -public abstract interface class com/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public abstract fun create (Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder;Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/storage/DefaultStoragePermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public fun (Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V -} - -public final class com/splendo/kaluga/permissions/storage/PermissionKt { - public static final fun registerStoragePermission (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; - public static synthetic fun registerStoragePermission$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; - public static final fun registerStoragePermission-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; - public static synthetic fun registerStoragePermission-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; - public static final fun registerStoragePermissionIfNotRegistered (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; - public static synthetic fun registerStoragePermissionIfNotRegistered$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; - public static final fun registerStoragePermissionIfNotRegistered-exY8QGI (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; - public static synthetic fun registerStoragePermissionIfNotRegistered-exY8QGI$default (Lcom/splendo/kaluga/permissions/base/PermissionsBuilder;Lkotlin/jvm/functions/Function1;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder; -} - -public final class com/splendo/kaluga/permissions/storage/StoragePermission : com/splendo/kaluga/permissions/base/Permission { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/permissions/storage/StoragePermission; - public static synthetic fun copy$default (Lcom/splendo/kaluga/permissions/storage/StoragePermission;ZILjava/lang/Object;)Lcom/splendo/kaluga/permissions/storage/StoragePermission; - public fun equals (Ljava/lang/Object;)Z - public final fun getAllowWrite ()Z - public fun getName ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/permissions/storage/StoragePermissionManagerBuilder : com/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/PermissionContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/storage/StoragePermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder;JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -} - diff --git a/storage-permissions/api/androidLib/storage-permissions.api b/storage-permissions/api/storage-permissions.api similarity index 98% rename from storage-permissions/api/androidLib/storage-permissions.api rename to storage-permissions/api/storage-permissions.api index 2f3082f43..e5f65e38e 100644 --- a/storage-permissions/api/androidLib/storage-permissions.api +++ b/storage-permissions/api/storage-permissions.api @@ -1,8 +1,5 @@ public abstract interface class com/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { public abstract fun create (Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/permissions/base/PermissionManager; -} - -public final class com/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/permissions/storage/BaseStoragePermissionManagerBuilder;Lcom/splendo/kaluga/permissions/storage/StoragePermission;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/permissions/base/PermissionManager; } diff --git a/storage-permissions/build.gradle.kts b/storage-permissions/build.gradle.kts index 0622b860e..8bab92c10 100644 --- a/storage-permissions/build.gradle.kts +++ b/storage-permissions/build.gradle.kts @@ -1,23 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("permissions.storage") - -kotlin { - sourceSets { - getByName("commonMain") { - dependencies { +kaluga { + moduleName = "permissions.storage" + dependencies { + common { + main { api(project(":base-permissions", "")) } - } - getByName("commonTest") { - dependencies { + test { api(project(":test-utils-base", "")) } } diff --git a/storage-permissions/src/androidLibMain/kotlin/StoragePermissionManager.kt b/storage-permissions/src/androidLibMain/kotlin/StoragePermissionManager.kt index 52b262827..6755408a4 100644 --- a/storage-permissions/src/androidLibMain/kotlin/StoragePermissionManager.kt +++ b/storage-permissions/src/androidLibMain/kotlin/StoragePermissionManager.kt @@ -54,15 +54,15 @@ actual class DefaultStoragePermissionManager( permissionHandler, ) - override fun requestPermissionDidStart() { + actual override fun requestPermissionDidStart() { permissionsManager.requestPermissions() } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { permissionsManager.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { permissionsManager.stopMonitoring() } } @@ -73,7 +73,7 @@ actual class DefaultStoragePermissionManager( */ actual class StoragePermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseStoragePermissionManagerBuilder { - override fun create(storagePermission: StoragePermission, settings: Settings, coroutineScope: CoroutineScope): StoragePermissionManager { + actual override fun create(storagePermission: StoragePermission, settings: Settings, coroutineScope: CoroutineScope): StoragePermissionManager { return DefaultStoragePermissionManager(context.context, storagePermission, settings, coroutineScope) } } diff --git a/storage-permissions/src/commonMain/kotlin/StoragePermission.kt b/storage-permissions/src/commonMain/kotlin/StoragePermission.kt index 7ce70adae..6066dc8e6 100644 --- a/storage-permissions/src/commonMain/kotlin/StoragePermission.kt +++ b/storage-permissions/src/commonMain/kotlin/StoragePermission.kt @@ -35,7 +35,11 @@ typealias StoragePermissionManager = PermissionManager /** * The [BasePermissionManager] to use as a default for [StoragePermission] */ -expect class DefaultStoragePermissionManager : BasePermissionManager +expect class DefaultStoragePermissionManager : BasePermissionManager { + override fun requestPermissionDidStart() + override fun monitoringDidStart(interval: Duration) + override fun monitoringDidStop() +} /** * Alias for [StoragePermissionManager] @@ -64,7 +68,9 @@ interface BaseStoragePermissionManagerBuilder : BasePermissionsBuilder() @@ -78,11 +78,11 @@ actual class DefaultStoragePermissionManager( } } - override fun monitoringDidStart(interval: Duration) { + actual override fun monitoringDidStart(interval: Duration) { timerHelper.startMonitoring(interval) } - override fun monitoringDidStop() { + actual override fun monitoringDidStop() { timerHelper.stopMonitoring() } } @@ -93,7 +93,7 @@ actual class DefaultStoragePermissionManager( */ actual class StoragePermissionManagerBuilder actual constructor(private val context: PermissionContext) : BaseStoragePermissionManagerBuilder { - override fun create(storagePermission: StoragePermission, settings: Settings, coroutineScope: CoroutineScope): StoragePermissionManager { + actual override fun create(storagePermission: StoragePermission, settings: Settings, coroutineScope: CoroutineScope): StoragePermissionManager { return DefaultStoragePermissionManager(context, storagePermission, settings, coroutineScope) } } diff --git a/storage-permissions/src/jsMain/kotlin/StoragePermissionManager.kt b/storage-permissions/src/jsMain/kotlin/StoragePermissionManager.kt deleted file mode 100644 index 623af5436..000000000 --- a/storage-permissions/src/jsMain/kotlin/StoragePermissionManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.storage - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [StoragePermission] - * @param storagePermission the [StoragePermission] to manage - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultStoragePermissionManager( - storagePermission: StoragePermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(storagePermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseStoragePermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class StoragePermissionManagerBuilder actual constructor(context: PermissionContext) : BaseStoragePermissionManagerBuilder { - - override fun create(storagePermission: StoragePermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultStoragePermissionManager(storagePermission, settings, coroutineScope) - } -} diff --git a/storage-permissions/src/jvmMain/kotlin/StoragePermissionManager.kt b/storage-permissions/src/jvmMain/kotlin/StoragePermissionManager.kt deleted file mode 100644 index 623af5436..000000000 --- a/storage-permissions/src/jvmMain/kotlin/StoragePermissionManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2020. Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.permissions.storage - -import com.splendo.kaluga.permissions.base.BasePermissionManager -import com.splendo.kaluga.permissions.base.BasePermissionManager.Settings -import com.splendo.kaluga.permissions.base.PermissionContext -import com.splendo.kaluga.permissions.base.PermissionManager -import kotlinx.coroutines.CoroutineScope -import kotlin.time.Duration - -/** - * The [BasePermissionManager] to use as a default for [StoragePermission] - * @param storagePermission the [StoragePermission] to manage - * @param settings the [Settings] to apply to this manager. - * @param coroutineScope the [CoroutineScope] of this manager. - */ -actual class DefaultStoragePermissionManager( - storagePermission: StoragePermission, - settings: Settings, - coroutineScope: CoroutineScope, -) : BasePermissionManager(storagePermission, settings, coroutineScope) { - - override fun requestPermissionDidStart() { - TODO("Not yet implemented") - } - - override fun monitoringDidStart(interval: Duration) { - TODO("Not yet implemented") - } - - override fun monitoringDidStop() { - TODO("Not yet implemented") - } -} - -/** - * A [BaseStoragePermissionManagerBuilder] - * @param context the [PermissionContext] this permissions manager builder runs on - */ -actual class StoragePermissionManagerBuilder actual constructor(context: PermissionContext) : BaseStoragePermissionManagerBuilder { - - override fun create(storagePermission: StoragePermission, settings: Settings, coroutineScope: CoroutineScope): PermissionManager { - return DefaultStoragePermissionManager(storagePermission, settings, coroutineScope) - } -} diff --git a/system/api/jvm/system.api b/system/api/jvm/system.api deleted file mode 100644 index 32d16e4e2..000000000 --- a/system/api/jvm/system.api +++ /dev/null @@ -1,222 +0,0 @@ -public final class com/splendo/kaluga/system/network/DefaultNetworkManager : com/splendo/kaluga/system/network/NetworkManager { - public fun ()V - public fun getNetwork ()Lkotlinx/coroutines/flow/Flow; - public fun startMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/system/network/DefaultNetworkManager$Builder : com/splendo/kaluga/system/network/NetworkManager$Builder { - public fun ()V - public fun create ()Lcom/splendo/kaluga/system/network/NetworkManager; -} - -public abstract class com/splendo/kaluga/system/network/NetworkConnectionType { -} - -public abstract class com/splendo/kaluga/system/network/NetworkConnectionType$Known : com/splendo/kaluga/system/network/NetworkConnectionType { -} - -public final class com/splendo/kaluga/system/network/NetworkConnectionType$Known$Absent : com/splendo/kaluga/system/network/NetworkConnectionType$Known { - public static final field INSTANCE Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Absent; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/system/network/NetworkConnectionType$Known$Available : com/splendo/kaluga/system/network/NetworkConnectionType$Known { - public abstract fun isExpensive ()Z -} - -public final class com/splendo/kaluga/system/network/NetworkConnectionType$Known$Cellular : com/splendo/kaluga/system/network/NetworkConnectionType$Known$Available { - public static final field INSTANCE Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Cellular; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun isExpensive ()Z - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/system/network/NetworkConnectionType$Known$Wifi : com/splendo/kaluga/system/network/NetworkConnectionType$Known$Available { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Wifi; - public static synthetic fun copy$default (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Wifi;ZILjava/lang/Object;)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Wifi; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun isExpensive ()Z - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/system/network/NetworkConnectionType$Unknown : com/splendo/kaluga/system/network/NetworkConnectionType { - public synthetic fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun getReason ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; -} - -public final class com/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason : java/lang/Enum { - public static final field CONNECTING Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public static final field LOSING Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public static final field NOT_CLEAR Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public static fun values ()[Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; -} - -public final class com/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithLastNetwork : com/splendo/kaluga/system/network/NetworkConnectionType$Unknown { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)V - public final fun component1 ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known; - public final fun component2 ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public final fun copy (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithLastNetwork; - public static synthetic fun copy$default (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithLastNetwork;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;ILjava/lang/Object;)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithLastNetwork; - public fun equals (Ljava/lang/Object;)Z - public final fun getLastKnown ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known; - public fun getReason ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithoutLastNetwork : com/splendo/kaluga/system/network/NetworkConnectionType$Unknown { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)V - public final fun component1 ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public final fun copy (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithoutLastNetwork; - public static synthetic fun copy$default (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithoutLastNetwork;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;ILjava/lang/Object;)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$WithoutLastNetwork; - public fun equals (Ljava/lang/Object;)Z - public fun getReason ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/system/network/NetworkConnectionTypeKt { - public static final fun unknown (Lcom/splendo/kaluga/system/network/NetworkConnectionType;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown; -} - -public abstract interface class com/splendo/kaluga/system/network/NetworkManager { - public abstract fun getNetwork ()Lkotlinx/coroutines/flow/Flow; - public abstract fun startMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun stopMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class com/splendo/kaluga/system/network/NetworkManager$Builder { - public abstract fun create ()Lcom/splendo/kaluga/system/network/NetworkManager; -} - -public abstract class com/splendo/kaluga/system/network/state/BaseNetworkStateRepo : com/splendo/kaluga/base/state/ColdStateFlowRepo { - public fun (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/CoroutineContext;)V -} - -public abstract interface class com/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder { - public abstract fun create (Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepo; -} - -public final class com/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder$DefaultImpls { - public static synthetic fun create$default (Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder;Lkotlin/coroutines/CoroutineContext;ILjava/lang/Object;)Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepo; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState : com/splendo/kaluga/base/state/KalugaState { - public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Active : com/splendo/kaluga/system/network/state/NetworkState { - public abstract fun getDeinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Active;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Available : com/splendo/kaluga/system/network/state/NetworkState$Known { - public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available; - public abstract fun getUnavailable ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Available$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Available;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Deinitialized : com/splendo/kaluga/system/network/state/NetworkState$Inactive { - public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/system/network/state/NetworkState { -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Inactive;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Initialized : com/splendo/kaluga/system/network/state/NetworkState$Active { - public abstract fun available (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available;)Lkotlin/jvm/functions/Function1; - public abstract fun unknown (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Initialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/system/network/state/NetworkState$Active { - public abstract fun initialized (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Initializing;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Known : com/splendo/kaluga/system/network/state/NetworkState$Initialized { - public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Known$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Known;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$NotInitialized : com/splendo/kaluga/system/network/state/NetworkState$Inactive { -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$NotInitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$NotInitialized;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Unavailable : com/splendo/kaluga/system/network/state/NetworkState$Known { - public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Absent; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Unavailable$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Unavailable;)Lkotlin/jvm/functions/Function1; -} - -public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Unknown : com/splendo/kaluga/system/network/state/NetworkState$Initialized { - public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown; - public abstract fun getUnavailable ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$Unknown$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Unknown;)Lkotlin/jvm/functions/Function1; -} - -public class com/splendo/kaluga/system/network/state/NetworkStateImplRepo : com/splendo/kaluga/system/network/state/BaseNetworkStateRepo { - public fun (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/system/network/state/NetworkStateKt { - public static final fun network (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; - public static final fun online (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; -} - -public final class com/splendo/kaluga/system/network/state/NetworkStateRepo : com/splendo/kaluga/system/network/state/NetworkStateImplRepo { - public fun (Lcom/splendo/kaluga/system/network/NetworkManager$Builder;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/system/network/state/NetworkStateRepoBuilder : com/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder { - public fun ()V - public synthetic fun create (Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepo; - public fun create (Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/system/network/state/NetworkStateRepo; -} - diff --git a/system/api/androidLib/system.api b/system/api/system.api similarity index 82% rename from system/api/androidLib/system.api rename to system/api/system.api index 781d398ab..071b6eee0 100644 --- a/system/api/androidLib/system.api +++ b/system/api/system.api @@ -105,9 +105,6 @@ public abstract class com/splendo/kaluga/system/network/state/BaseNetworkStateRe public abstract interface class com/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder { public abstract fun create (Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepo; -} - -public final class com/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder$DefaultImpls { public static synthetic fun create$default (Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder;Lkotlin/coroutines/CoroutineContext;ILjava/lang/Object;)Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepo; } @@ -119,87 +116,43 @@ public abstract interface class com/splendo/kaluga/system/network/state/NetworkS public abstract fun getDeinitialize ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Active$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Active;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Available : com/splendo/kaluga/system/network/state/NetworkState$Known { public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available; public abstract fun getUnavailable ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Available$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Available;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/system/network/state/NetworkState$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Deinitialized : com/splendo/kaluga/system/network/state/NetworkState$Inactive { public abstract fun getReinitialize ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Deinitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Deinitialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Inactive : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/system/network/state/NetworkState { } -public final class com/splendo/kaluga/system/network/state/NetworkState$Inactive$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Inactive;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Initialized : com/splendo/kaluga/system/network/state/NetworkState$Active { public abstract fun available (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available;)Lkotlin/jvm/functions/Function1; public abstract fun unknown (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Initialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Initialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Initializing : com/splendo/kaluga/base/flow/SpecialFlowValue$NotImportant, com/splendo/kaluga/system/network/state/NetworkState$Active { public abstract fun initialized (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Initializing$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Initializing;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Known : com/splendo/kaluga/system/network/state/NetworkState$Initialized { public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Known$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Known;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$NotInitialized : com/splendo/kaluga/system/network/state/NetworkState$Inactive { } -public final class com/splendo/kaluga/system/network/state/NetworkState$NotInitialized$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$NotInitialized;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Unavailable : com/splendo/kaluga/system/network/state/NetworkState$Known { public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Absent; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Unavailable$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Unavailable;)Lkotlin/jvm/functions/Function1; -} - public abstract interface class com/splendo/kaluga/system/network/state/NetworkState$Unknown : com/splendo/kaluga/system/network/state/NetworkState$Initialized { public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown; public abstract fun getUnavailable ()Lkotlin/jvm/functions/Function1; } -public final class com/splendo/kaluga/system/network/state/NetworkState$Unknown$DefaultImpls { - public static fun remain (Lcom/splendo/kaluga/system/network/state/NetworkState$Unknown;)Lkotlin/jvm/functions/Function1; -} - public class com/splendo/kaluga/system/network/state/NetworkStateImplRepo : com/splendo/kaluga/system/network/state/BaseNetworkStateRepo { public fun (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/CoroutineContext;)V } diff --git a/system/build.gradle.kts b/system/build.gradle.kts index 4f5e0a3f8..cb234708e 100644 --- a/system/build.gradle.kts +++ b/system/build.gradle.kts @@ -1,25 +1,16 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("system") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "system" + dependencies { + common { + main { implementation(project(":base", "")) implementation(project(":logging", "")) } - } - - commonTest { - dependencies { + test { implementation(project(":test-utils-system", "")) } } diff --git a/system/src/androidLibMain/kotlin/network/NetworkManager.kt b/system/src/androidLibMain/kotlin/network/NetworkManager.kt index 1dbdf6802..998a7760e 100644 --- a/system/src/androidLibMain/kotlin/network/NetworkManager.kt +++ b/system/src/androidLibMain/kotlin/network/NetworkManager.kt @@ -17,14 +17,9 @@ package com.splendo.kaluga.system.network -import android.content.BroadcastReceiver import android.content.Context -import android.content.Intent -import android.content.IntentFilter import android.net.ConnectivityManager import android.net.NetworkCapabilities -import android.os.Build -import androidx.annotation.RequiresApi import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.receiveAsFlow @@ -36,9 +31,9 @@ actual class DefaultNetworkManager internal constructor( private val androidNetworkManager: AndroidNetworkManager, ) : NetworkManager { - override val network: Flow get() = androidNetworkManager.network - override suspend fun startMonitoring() = androidNetworkManager.startMonitoring() - override suspend fun stopMonitoring() = androidNetworkManager.stopMonitoring() + actual override val network: Flow get() = androidNetworkManager.network + actual override suspend fun startMonitoring() = androidNetworkManager.startMonitoring() + actual override suspend fun stopMonitoring() = androidNetworkManager.stopMonitoring() /** * Builder for creating a [DefaultNetworkManager] @@ -47,24 +42,16 @@ actual class DefaultNetworkManager internal constructor( class Builder(private val context: Context) : NetworkManager.Builder { override fun create(): NetworkManager { val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager - val androidNetworkManager = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + val androidNetworkManager = AndroidConnectivityCallbackManager( connectivityManager, ) - } else { - @Suppress("DEPRECATION") - AndroidConnectivityReceiverManager( - connectivityManager, - context, - ) - } return DefaultNetworkManager(androidNetworkManager) } } internal interface AndroidNetworkManager : NetworkManager - @RequiresApi(Build.VERSION_CODES.N) internal class AndroidConnectivityCallbackManager( private val connectivityManager: ConnectivityManager, ) : AndroidNetworkManager { @@ -120,39 +107,4 @@ actual class DefaultNetworkManager internal constructor( } } } - - @Suppress("DEPRECATION") - @Deprecated("Deprecated on Android") - internal class AndroidConnectivityReceiverManager( - private val connectivityManager: ConnectivityManager, - private val context: Context, - ) : AndroidNetworkManager { - - private val networkChannel = Channel(Channel.UNLIMITED) - override val network: Flow = networkChannel.receiveAsFlow() - private val networkHandler = object : BroadcastReceiver() { - override fun onReceive(c: Context, intent: Intent) { - networkChannel.trySend(determineNetworkType()) - } - } - - override suspend fun startMonitoring() { - context.registerReceiver(networkHandler, IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)) - networkChannel.trySend(determineNetworkType()) - } - - override suspend fun stopMonitoring() { - context.unregisterReceiver(networkHandler) - } - - private fun determineNetworkType(): NetworkConnectionType { - val isMetered = connectivityManager.isActiveNetworkMetered - return when { - connectivityManager.activeNetworkInfo?.isConnectedOrConnecting != true -> NetworkConnectionType.Known.Absent - (!isMetered && connectivityManager.isDefaultNetworkActive) -> NetworkConnectionType.Known.Wifi() - isMetered -> NetworkConnectionType.Known.Cellular - else -> NetworkConnectionType.Known.Absent - } - } - } } diff --git a/system/src/androidLibMain/kotlin/network/state/NetworkStateRepoBuilder.kt b/system/src/androidLibMain/kotlin/network/state/NetworkStateRepoBuilder.kt index 543abba59..5c3ee06c0 100644 --- a/system/src/androidLibMain/kotlin/network/state/NetworkStateRepoBuilder.kt +++ b/system/src/androidLibMain/kotlin/network/state/NetworkStateRepoBuilder.kt @@ -29,5 +29,5 @@ actual class NetworkStateRepoBuilder( private val context: Context = ApplicationHolder.applicationContext, ) : BaseNetworkStateRepoBuilder { - override fun create(coroutineContext: CoroutineContext): NetworkStateRepo = NetworkStateRepo(DefaultNetworkManager.Builder(context), coroutineContext) + actual override fun create(coroutineContext: CoroutineContext): NetworkStateRepo = NetworkStateRepo(DefaultNetworkManager.Builder(context), coroutineContext) } diff --git a/system/src/commonMain/kotlin/network/NetworkManager.kt b/system/src/commonMain/kotlin/network/NetworkManager.kt index b716c4426..f92389f47 100644 --- a/system/src/commonMain/kotlin/network/NetworkManager.kt +++ b/system/src/commonMain/kotlin/network/NetworkManager.kt @@ -54,4 +54,9 @@ interface NetworkManager { /** * Default implementation of [NetworkManager] */ -expect class DefaultNetworkManager : NetworkManager +expect class DefaultNetworkManager : NetworkManager { + override val network: Flow + + override suspend fun startMonitoring() + override suspend fun stopMonitoring() +} diff --git a/system/src/commonMain/kotlin/network/state/NetworkStateRepoBuilder.kt b/system/src/commonMain/kotlin/network/state/NetworkStateRepoBuilder.kt index a075cb08b..be8d59463 100644 --- a/system/src/commonMain/kotlin/network/state/NetworkStateRepoBuilder.kt +++ b/system/src/commonMain/kotlin/network/state/NetworkStateRepoBuilder.kt @@ -40,4 +40,6 @@ interface BaseNetworkStateRepoBuilder { /** * Default implementation of [BaseNetworkStateRepoBuilder] */ -expect class NetworkStateRepoBuilder : BaseNetworkStateRepoBuilder +expect class NetworkStateRepoBuilder : BaseNetworkStateRepoBuilder { + override fun create(coroutineContext: CoroutineContext): NetworkStateRepo +} diff --git a/system/src/iosMain/kotlin/network/NetworkManager.kt b/system/src/iosMain/kotlin/network/NetworkManager.kt index 2602d288b..76a77ba2a 100644 --- a/system/src/iosMain/kotlin/network/NetworkManager.kt +++ b/system/src/iosMain/kotlin/network/NetworkManager.kt @@ -84,9 +84,9 @@ actual class DefaultNetworkManager internal constructor( } } - override val network: Flow get() = appleNetworkManager.network - override suspend fun startMonitoring() = appleNetworkManager.startMonitoring() - override suspend fun stopMonitoring() = appleNetworkManager.stopMonitoring() + actual override val network: Flow get() = appleNetworkManager.network + actual override suspend fun startMonitoring() = appleNetworkManager.startMonitoring() + actual override suspend fun stopMonitoring() = appleNetworkManager.stopMonitoring() internal interface AppleNetworkManager : NetworkManager diff --git a/system/src/iosMain/kotlin/network/state/NetworkStateRepoBuilder.kt b/system/src/iosMain/kotlin/network/state/NetworkStateRepoBuilder.kt index e1fab82c3..421894af2 100644 --- a/system/src/iosMain/kotlin/network/state/NetworkStateRepoBuilder.kt +++ b/system/src/iosMain/kotlin/network/state/NetworkStateRepoBuilder.kt @@ -24,5 +24,5 @@ import kotlin.coroutines.CoroutineContext * Default implementation of [BaseNetworkStateRepoBuilder] */ actual class NetworkStateRepoBuilder : BaseNetworkStateRepoBuilder { - override fun create(coroutineContext: CoroutineContext): NetworkStateRepo = NetworkStateRepo(DefaultNetworkManager.Builder(), coroutineContext) + actual override fun create(coroutineContext: CoroutineContext): NetworkStateRepo = NetworkStateRepo(DefaultNetworkManager.Builder(), coroutineContext) } diff --git a/system/src/jsMain/kotlin/network/NetworkManager.kt b/system/src/jsMain/kotlin/network/NetworkManager.kt deleted file mode 100644 index ab4a571a2..000000000 --- a/system/src/jsMain/kotlin/network/NetworkManager.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.system.network - -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flowOf - -/** - * Default implementation of [NetworkManager] - */ -actual class DefaultNetworkManager : NetworkManager { - - /** - * Builder for creating a [DefaultNetworkManager] - */ - class Builder : NetworkManager.Builder { - override fun create(): NetworkManager = DefaultNetworkManager() - } - - override val network: Flow = flowOf(NetworkConnectionType.Known.Absent) - override suspend fun startMonitoring() { - TODO("Not yet implemented") - } - - override suspend fun stopMonitoring() { - TODO("Not yet implemented") - } -} diff --git a/system/src/jsMain/kotlin/network/state/NetworkStateRepoBuilder.kt b/system/src/jsMain/kotlin/network/state/NetworkStateRepoBuilder.kt deleted file mode 100644 index e1fab82c3..000000000 --- a/system/src/jsMain/kotlin/network/state/NetworkStateRepoBuilder.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.system.network.state - -import com.splendo.kaluga.system.network.DefaultNetworkManager -import kotlin.coroutines.CoroutineContext - -/** - * Default implementation of [BaseNetworkStateRepoBuilder] - */ -actual class NetworkStateRepoBuilder : BaseNetworkStateRepoBuilder { - override fun create(coroutineContext: CoroutineContext): NetworkStateRepo = NetworkStateRepo(DefaultNetworkManager.Builder(), coroutineContext) -} diff --git a/system/src/jvmMain/kotlin/network/NetworkManager.kt b/system/src/jvmMain/kotlin/network/NetworkManager.kt deleted file mode 100644 index ab4a571a2..000000000 --- a/system/src/jvmMain/kotlin/network/NetworkManager.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.system.network - -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flowOf - -/** - * Default implementation of [NetworkManager] - */ -actual class DefaultNetworkManager : NetworkManager { - - /** - * Builder for creating a [DefaultNetworkManager] - */ - class Builder : NetworkManager.Builder { - override fun create(): NetworkManager = DefaultNetworkManager() - } - - override val network: Flow = flowOf(NetworkConnectionType.Known.Absent) - override suspend fun startMonitoring() { - TODO("Not yet implemented") - } - - override suspend fun stopMonitoring() { - TODO("Not yet implemented") - } -} diff --git a/system/src/jvmMain/kotlin/network/state/NetworkStateRepoBuilder.kt b/system/src/jvmMain/kotlin/network/state/NetworkStateRepoBuilder.kt deleted file mode 100644 index e1fab82c3..000000000 --- a/system/src/jvmMain/kotlin/network/state/NetworkStateRepoBuilder.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.system.network.state - -import com.splendo.kaluga.system.network.DefaultNetworkManager -import kotlin.coroutines.CoroutineContext - -/** - * Default implementation of [BaseNetworkStateRepoBuilder] - */ -actual class NetworkStateRepoBuilder : BaseNetworkStateRepoBuilder { - override fun create(coroutineContext: CoroutineContext): NetworkStateRepo = NetworkStateRepo(DefaultNetworkManager.Builder(), coroutineContext) -} diff --git a/test-utils-alerts/api/jvm/test-utils-alerts.api b/test-utils-alerts/api/jvm/test-utils-alerts.api deleted file mode 100644 index 3415ddca8..000000000 --- a/test-utils-alerts/api/jvm/test-utils-alerts.api +++ /dev/null @@ -1,22 +0,0 @@ -public final class com/splendo/kaluga/test/alerts/MockAlertPresenter : com/splendo/kaluga/alerts/BaseAlertPresenter { - public fun (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;Z)V - public synthetic fun (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun closeWithAction (Lcom/splendo/kaluga/alerts/Alert$Action;)V - public fun dismiss (Z)V - public final fun getAlert ()Lcom/splendo/kaluga/alerts/Alert; - public final fun getDismissMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getShowAsyncMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun isPresented ()Z - public final fun setPresented (Z)V - public fun showAsync (ZLkotlin/jvm/functions/Function0;)V -} - -public final class com/splendo/kaluga/test/alerts/MockAlertPresenter$Builder : com/splendo/kaluga/alerts/BaseAlertPresenter$Builder { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/alerts/BaseAlertPresenter; - public final fun getBuiltAlerts ()Ljava/util/List; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; -} - diff --git a/test-utils-alerts/api/androidLib/test-utils-alerts.api b/test-utils-alerts/api/test-utils-alerts.api similarity index 96% rename from test-utils-alerts/api/androidLib/test-utils-alerts.api rename to test-utils-alerts/api/test-utils-alerts.api index b65f4ece6..a39ba3b8c 100644 --- a/test-utils-alerts/api/androidLib/test-utils-alerts.api +++ b/test-utils-alerts/api/test-utils-alerts.api @@ -7,7 +7,6 @@ public final class com/splendo/kaluga/test/alerts/MockAlertPresenter : com/splen public synthetic fun (Lcom/splendo/kaluga/alerts/Alert;Lcom/splendo/kaluga/logging/Logger;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun closeWithAction (Lcom/splendo/kaluga/alerts/Alert$Action;)V public fun dismiss (Z)V - public final fun getAlert ()Lcom/splendo/kaluga/alerts/Alert; public final fun getDismissMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; public final fun getShowAsyncMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; public final fun isPresented ()Z diff --git a/test-utils-alerts/build.gradle.kts b/test-utils-alerts/build.gradle.kts index 55ca4909c..c7d7b8f53 100644 --- a/test-utils-alerts/build.gradle.kts +++ b/test-utils-alerts/build.gradle.kts @@ -1,18 +1,12 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.alerts") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.alerts" + dependencies { + common { + main { api(project(":test-utils-architecture")) implementation(project(":alerts")) } diff --git a/test-utils-alerts/src/commonMain/kotlin/MockAlertPresenter.kt b/test-utils-alerts/src/commonMain/kotlin/MockAlertPresenter.kt index dd65b6ebf..c463f9917 100644 --- a/test-utils-alerts/src/commonMain/kotlin/MockAlertPresenter.kt +++ b/test-utils-alerts/src/commonMain/kotlin/MockAlertPresenter.kt @@ -29,7 +29,7 @@ import kotlinx.coroutines.CoroutineScope * @param alert The [Alert] to display * @param setupMocks if `true` this automatically sets up mocks to handle displaying this [MockAlertPresenter] */ -class MockAlertPresenter(val alert: Alert, logger: Logger, setupMocks: Boolean = true) : BaseAlertPresenter(alert, logger) { +class MockAlertPresenter(alert: Alert, logger: Logger, setupMocks: Boolean = true) : BaseAlertPresenter(alert, logger) { /** * Mock implementation of [BaseAlertPresenter.Builder] diff --git a/test-utils-architecture/api/androidLib/test-utils-architecture.api b/test-utils-architecture/api/androidLib/test-utils-architecture.api index 38079f719..d883be0a2 100644 --- a/test-utils-architecture/api/androidLib/test-utils-architecture.api +++ b/test-utils-architecture/api/androidLib/test-utils-architecture.api @@ -4,20 +4,15 @@ public abstract class com/splendo/kaluga/test/architecture/BaseUIThreadViewModel public class com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$LazyViewModelTestContext : com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext, kotlinx/coroutines/CoroutineScope { public fun (Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function0;)V - public fun dispose ()V public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; public fun getViewModel ()Lcom/splendo/kaluga/architecture/viewmodel/LifecycleViewModel; } public abstract interface class com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext : com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { - public abstract fun dispose ()V + public fun dispose ()V public abstract fun getViewModel ()Lcom/splendo/kaluga/architecture/viewmodel/LifecycleViewModel; } -public final class com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext;)V -} - public final class com/splendo/kaluga/test/architecture/GetOrPutAndRemoveOnDestroyFromCacheKt { public static final fun getLifecycleAwareActivityCache ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableMap; } @@ -68,10 +63,6 @@ public class com/splendo/kaluga/test/architecture/UIThreadViewModelTest$LazyView public abstract interface class com/splendo/kaluga/test/architecture/UIThreadViewModelTest$ViewModelTestContext : com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext, com/splendo/kaluga/test/base/UIThreadTest$TestContext { } -public final class com/splendo/kaluga/test/architecture/UIThreadViewModelTest$ViewModelTestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/architecture/UIThreadViewModelTest$ViewModelTestContext;)V -} - public abstract class com/splendo/kaluga/test/architecture/ViewModelTest : com/splendo/kaluga/test/base/BaseTest { public field viewModel Lcom/splendo/kaluga/architecture/viewmodel/LifecycleViewModel; public fun ()V diff --git a/test-utils-architecture/api/jvm/test-utils-architecture.api b/test-utils-architecture/api/jvm/test-utils-architecture.api index 639745541..7bc79bf8d 100644 --- a/test-utils-architecture/api/jvm/test-utils-architecture.api +++ b/test-utils-architecture/api/jvm/test-utils-architecture.api @@ -4,20 +4,15 @@ public abstract class com/splendo/kaluga/test/architecture/BaseUIThreadViewModel public class com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$LazyViewModelTestContext : com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext, kotlinx/coroutines/CoroutineScope { public fun (Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function0;)V - public fun dispose ()V public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; public fun getViewModel ()Lcom/splendo/kaluga/architecture/viewmodel/LifecycleViewModel; } public abstract interface class com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext : com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { - public abstract fun dispose ()V + public fun dispose ()V public abstract fun getViewModel ()Lcom/splendo/kaluga/architecture/viewmodel/LifecycleViewModel; } -public final class com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext;)V -} - public final class com/splendo/kaluga/test/architecture/MockNavigationException : com/splendo/kaluga/architecture/navigation/NavigationException { public fun (Lcom/splendo/kaluga/architecture/navigation/NavigationAction;)V } @@ -52,10 +47,6 @@ public class com/splendo/kaluga/test/architecture/UIThreadViewModelTest$LazyView public abstract interface class com/splendo/kaluga/test/architecture/UIThreadViewModelTest$ViewModelTestContext : com/splendo/kaluga/test/architecture/BaseUIThreadViewModelTest$ViewModelTestContext, com/splendo/kaluga/test/base/UIThreadTest$TestContext { } -public final class com/splendo/kaluga/test/architecture/UIThreadViewModelTest$ViewModelTestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/architecture/UIThreadViewModelTest$ViewModelTestContext;)V -} - public abstract class com/splendo/kaluga/test/architecture/ViewModelTest : com/splendo/kaluga/test/base/BaseTest { public field viewModel Lcom/splendo/kaluga/architecture/viewmodel/LifecycleViewModel; public fun ()V diff --git a/test-utils-architecture/build.gradle.kts b/test-utils-architecture/build.gradle.kts index 1670d107f..b326ca5f7 100644 --- a/test-utils-architecture/build.gradle.kts +++ b/test-utils-architecture/build.gradle.kts @@ -1,25 +1,21 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) } -publishableComponent("test.architecture") +kaluga { + moduleName = "test.architecture" -kotlin { - sourceSets { - commonMain { - dependencies { + supportJVM = true + supportJS = true + + dependencies { + common { + main { api(project(":test-utils-base")) api(project(":architecture")) + implementation(libs.kotlinx.atomicfu) } } - commonTest { - dependencies { } - } } } diff --git a/test-utils-architecture/src/commonTest/kotlin/UIThreadViewModelTestTest.kt b/test-utils-architecture/src/commonTest/kotlin/UIThreadViewModelTestTest.kt index 4609a8da1..58c5e4de6 100644 --- a/test-utils-architecture/src/commonTest/kotlin/UIThreadViewModelTestTest.kt +++ b/test-utils-architecture/src/commonTest/kotlin/UIThreadViewModelTestTest.kt @@ -39,7 +39,7 @@ import kotlin.test.fail class LazyUIThreadViewModelTestTest : UIThreadViewModelTest() { companion object { - val isDisposed = atomic(false) + private val isDisposed = atomic(false) val onClearedMock = voidParametersMock().apply { on().doReturn(Unit) } diff --git a/test-utils-base/api/androidLib/test-utils-base.api b/test-utils-base/api/androidLib/test-utils-base.api index 32c18c766..baa88e4a0 100644 --- a/test-utils-base/api/androidLib/test-utils-base.api +++ b/test-utils-base/api/androidLib/test-utils-base.api @@ -43,7 +43,6 @@ public abstract class com/splendo/kaluga/test/base/BaseUIThreadTest : com/splend public final class com/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContext : com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { public static final field Companion Lcom/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContext$Companion; - public fun dispose ()V } public final class com/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContext$Companion { @@ -51,11 +50,7 @@ public final class com/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContex } public abstract interface class com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { - public abstract fun dispose ()V -} - -public final class com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/base/BaseUIThreadTest$TestContext;)V + public fun dispose ()V } public final class com/splendo/kaluga/test/base/DeliberateCancellationException : java/util/concurrent/CancellationException { @@ -102,7 +97,6 @@ public class com/splendo/kaluga/test/base/SimpleUIThreadTest : com/splendo/kalug public final class com/splendo/kaluga/test/base/SimpleUIThreadTest$SimpleTestContext : com/splendo/kaluga/test/base/UIThreadTest$TestContext, kotlinx/coroutines/CoroutineScope { public fun (Lkotlinx/coroutines/CoroutineScope;)V - public fun dispose ()V public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; } @@ -116,7 +110,6 @@ public abstract class com/splendo/kaluga/test/base/UIThreadTest : com/splendo/ka public final class com/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext : com/splendo/kaluga/test/base/UIThreadTest$TestContext { public static final field Companion Lcom/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext$Companion; - public fun dispose ()V } public final class com/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext$Companion { @@ -126,10 +119,6 @@ public final class com/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext$Co public abstract interface class com/splendo/kaluga/test/base/UIThreadTest$TestContext : com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { } -public final class com/splendo/kaluga/test/base/UIThreadTest$TestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/base/UIThreadTest$TestContext;)V -} - public final class com/splendo/kaluga/test/base/YieldMultipleKt { public static final field DEFAULT_MULTIPLE_TIMES_YIELDS I public static final fun yieldMultiple (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/test-utils-base/api/jvm/test-utils-base.api b/test-utils-base/api/jvm/test-utils-base.api index 575cd9201..ffd54e2d5 100644 --- a/test-utils-base/api/jvm/test-utils-base.api +++ b/test-utils-base/api/jvm/test-utils-base.api @@ -42,7 +42,6 @@ public abstract class com/splendo/kaluga/test/base/BaseUIThreadTest : com/splend public final class com/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContext : com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { public static final field Companion Lcom/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContext$Companion; - public fun dispose ()V } public final class com/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContext$Companion { @@ -50,11 +49,7 @@ public final class com/splendo/kaluga/test/base/BaseUIThreadTest$EmptyTestContex } public abstract interface class com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { - public abstract fun dispose ()V -} - -public final class com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/base/BaseUIThreadTest$TestContext;)V + public fun dispose ()V } public final class com/splendo/kaluga/test/base/DeliberateCancellationException : java/util/concurrent/CancellationException { @@ -101,7 +96,6 @@ public class com/splendo/kaluga/test/base/SimpleUIThreadTest : com/splendo/kalug public final class com/splendo/kaluga/test/base/SimpleUIThreadTest$SimpleTestContext : com/splendo/kaluga/test/base/UIThreadTest$TestContext, kotlinx/coroutines/CoroutineScope { public fun (Lkotlinx/coroutines/CoroutineScope;)V - public fun dispose ()V public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; } @@ -115,7 +109,6 @@ public abstract class com/splendo/kaluga/test/base/UIThreadTest : com/splendo/ka public final class com/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext : com/splendo/kaluga/test/base/UIThreadTest$TestContext { public static final field Companion Lcom/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext$Companion; - public fun dispose ()V } public final class com/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext$Companion { @@ -125,10 +118,6 @@ public final class com/splendo/kaluga/test/base/UIThreadTest$EmptyTestContext$Co public abstract interface class com/splendo/kaluga/test/base/UIThreadTest$TestContext : com/splendo/kaluga/test/base/BaseUIThreadTest$TestContext { } -public final class com/splendo/kaluga/test/base/UIThreadTest$TestContext$DefaultImpls { - public static fun dispose (Lcom/splendo/kaluga/test/base/UIThreadTest$TestContext;)V -} - public final class com/splendo/kaluga/test/base/YieldMultipleKt { public static final field DEFAULT_MULTIPLE_TIMES_YIELDS I public static final fun yieldMultiple (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/test-utils-base/build.gradle.kts b/test-utils-base/build.gradle.kts index e751b8ddd..764380f05 100644 --- a/test-utils-base/build.gradle.kts +++ b/test-utils-base/build.gradle.kts @@ -1,57 +1,49 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") - id("kotlinx-atomicfu") + id("com.splendo.kaluga.plugin") + id(libs.plugins.kotlinx.atomicfu.get().pluginId) } -publishableComponent("test.base") +kaluga { + moduleName = "test.base" -kotlin { - sourceSets { - commonMain { - dependencies { + supportJVM = true + supportJS = true + + dependencies { + android { + main { + api(kotlin("test-junit")) + api(libs.androidx.arch.core.testing) + + implementation(libs.mockito.core) + implementation(libs.bytebuddy.agent) + + api(libs.kotlinx.coroutines.test) + api(libs.kotlinx.coroutines.debug) + } + } + common { + main { // these are not coming from component.gradle because they need to be in the main scope api(kotlin("test")) - api(kotlin("test-junit")) - apiDependency(Dependencies.KotlinX.Coroutines.Test) + api(libs.kotlin.test) + api(libs.kotlinx.coroutines.test) - // these dependencies make test linking slow, but Kotlin/Native cannot handle `compileOnly` - // https://github.com/splendo/kaluga/issues/208 api(project(":base", "")) api(project(":logging", "")) } } - - getByName("androidLibMain") { - } - - getByName("jsMain") { - dependencies { + js { + main { api(kotlin("test-js")) } } - - getByName("jvmMain") { - dependencies { - apiDependency(Dependencies.KotlinX.Coroutines.Test) - apiDependency(Dependencies.KotlinX.Coroutines.Debug) + jvm { + main { + api(kotlin("test-junit")) + api(libs.kotlinx.coroutines.test) + api(libs.kotlinx.coroutines.debug) } } } } - -android { - dependencies { - apiDependency(Dependencies.AndroidX.ArchCore) - - implementationDependency(Dependencies.Mockito.Core) - implementationDependency(Dependencies.ByteBuddy.Agent) - - apiDependency(Dependencies.KotlinX.Coroutines.Test) - apiDependency(Dependencies.KotlinX.Coroutines.Debug) - } -} diff --git a/test-utils-base/src/androidLibMain/kotlin/mock/android/MockContext.kt b/test-utils-base/src/androidLibMain/kotlin/mock/android/MockContext.kt index 048db96b1..2cafe685a 100644 --- a/test-utils-base/src/androidLibMain/kotlin/mock/android/MockContext.kt +++ b/test-utils-base/src/androidLibMain/kotlin/mock/android/MockContext.kt @@ -112,6 +112,7 @@ class MockContext : Context() { override fun getExternalCacheDirs(): Array = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun getExternalMediaDirs(): Array = error("not implemented") override fun fileList(): Array = error("not implemented") @@ -131,18 +132,25 @@ class MockContext : Context() { override fun databaseList(): Array = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun getWallpaper(): Drawable = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun peekWallpaper(): Drawable = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun getWallpaperDesiredMinimumWidth(): Int = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun getWallpaperDesiredMinimumHeight(): Int = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun setWallpaper(bitmap: Bitmap?) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun setWallpaper(data: InputStream?) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun clearWallpaper() = error("not implemented") override fun startActivity(intent: Intent?) = error("not implemented") @@ -188,8 +196,10 @@ class MockContext : Context() { initialExtras: Bundle?, ) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun sendStickyBroadcast(intent: Intent?) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun sendStickyOrderedBroadcast( intent: Intent?, resultReceiver: BroadcastReceiver?, @@ -199,10 +209,13 @@ class MockContext : Context() { initialExtras: Bundle?, ) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun removeStickyBroadcast(intent: Intent?) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun sendStickyBroadcastAsUser(intent: Intent?, user: UserHandle?) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun sendStickyOrderedBroadcastAsUser( intent: Intent?, user: UserHandle?, @@ -213,6 +226,7 @@ class MockContext : Context() { initialExtras: Bundle?, ) = error("not implemented") + @Suppress("OVERRIDE_DEPRECATION") override fun removeStickyBroadcastAsUser(intent: Intent?, user: UserHandle?) = error("not implemented") override fun registerReceiver(receiver: BroadcastReceiver?, filter: IntentFilter?): Intent? = error("not implemented") diff --git a/test-utils-bluetooth/api/jvm/test-utils-bluetooth.api b/test-utils-bluetooth/api/jvm/test-utils-bluetooth.api deleted file mode 100644 index cc31d3163..000000000 --- a/test-utils-bluetooth/api/jvm/test-utils-bluetooth.api +++ /dev/null @@ -1,687 +0,0 @@ -public abstract interface class com/splendo/kaluga/test/bluetooth/CanUpdateMockValue { - public abstract fun updateMockValue ([B)V -} - -public final class com/splendo/kaluga/test/bluetooth/Jvm_mocksKt { - public static final fun build (Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder;)Lcom/splendo/kaluga/bluetooth/ServiceWrapper; - public static final fun createDeviceWrapper (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/UUID;)Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper; - public static synthetic fun createDeviceWrapper$default (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/UUID;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper; - public static final fun randomIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; -} - -public final class com/splendo/kaluga/test/bluetooth/MockBluetoothMonitor : com/splendo/kaluga/test/service/MockServiceMonitor, com/splendo/kaluga/bluetooth/BluetoothMonitor { - public fun (Lkotlinx/coroutines/flow/StateFlow;)V - public synthetic fun isEnabled ()Lkotlinx/coroutines/flow/Flow; - public fun isEnabled ()Lkotlinx/coroutines/flow/StateFlow; -} - -public final class com/splendo/kaluga/test/bluetooth/MockBluetoothService : com/splendo/kaluga/bluetooth/BluetoothService { - public fun ()V - public fun (Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Z)V - public synthetic fun (Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun allDevices ()Lkotlinx/coroutines/flow/Flow; - public fun devices ()Lkotlinx/coroutines/flow/Flow; - public final fun getAllDevicesMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getCurrentFilter ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getDevicesMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getDiscoveredDevicesFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getFilteredDevicesFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getPairedDevicesFlow ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getPairedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getScannedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getStartScanningMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getStopScanningMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public synthetic fun isEnabled ()Lkotlinx/coroutines/flow/Flow; - public fun isEnabled ()Lkotlinx/coroutines/flow/MutableStateFlow; - public fun isScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun isScanningMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun pairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlinx/coroutines/flow/Flow; - public fun scannedDevices (Ljava/util/Set;)Lkotlinx/coroutines/flow/Flow; - public final fun setCurrentFilter (Lkotlinx/coroutines/flow/MutableStateFlow;)V - public fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)V - public fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)V -} - -public abstract interface annotation class com/splendo/kaluga/test/bluetooth/MockBuilderDsl : java/lang/annotation/Annotation { -} - -public final class com/splendo/kaluga/test/bluetooth/MockCharacteristic : com/splendo/kaluga/bluetooth/Characteristic { - public fun (Lcom/splendo/kaluga/bluetooth/CharacteristicWrapper;Lkotlin/jvm/functions/Function1;)V - public final fun getUpdateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun updateValue ()V -} - -public abstract interface class com/splendo/kaluga/test/bluetooth/MockCharacteristicWrapper : com/splendo/kaluga/bluetooth/CharacteristicWrapper, com/splendo/kaluga/test/bluetooth/CanUpdateMockValue { -} - -public final class com/splendo/kaluga/test/bluetooth/MockDescriptor : com/splendo/kaluga/bluetooth/Descriptor { - public fun (Lcom/splendo/kaluga/bluetooth/DescriptorWrapper;Lkotlin/jvm/functions/Function1;)V - public final fun getUpdateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun updateValue ()V -} - -public abstract interface class com/splendo/kaluga/test/bluetooth/MockDescriptorWrapper : com/splendo/kaluga/bluetooth/DescriptorWrapper, com/splendo/kaluga/test/bluetooth/CanUpdateMockValue { -} - -public final class com/splendo/kaluga/test/bluetooth/MockDeviceBuilder { - public fun (Lkotlin/coroutines/CoroutineContext;)V - public final fun build ()Lcom/splendo/kaluga/test/bluetooth/device/MockDevice; - public final fun getConnectionDelay-UwyO8pc ()J - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun getManufacturerData ()[B - public final fun getManufacturerId ()Ljava/lang/Integer; - public final fun getName ()Ljava/lang/String; - public final fun getRssi ()I - public final fun getSetupMocks ()Z - public final fun getTxPower ()I - public final fun isConnectable ()Z - public final fun services (Lkotlin/jvm/functions/Function1;)V - public final fun setConnectable (Z)V - public final fun setConnectionDelay-LRDsOJo (J)V - public final fun setIdentifier (Lcom/splendo/kaluga/bluetooth/UUID;)V - public final fun setManufacturerData ([B)V - public final fun setManufacturerId (Ljava/lang/Integer;)V - public final fun setName (Ljava/lang/String;)V - public final fun setRssi (I)V - public final fun setSetupMocks (Z)V - public final fun setTxPower (I)V -} - -public final class com/splendo/kaluga/test/bluetooth/MockDeviceBuilderKt { - public static final fun buildMockDevice (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/test/bluetooth/device/MockDevice; -} - -public final class com/splendo/kaluga/test/bluetooth/MockDeviceInfoBuilder { - public fun ()V - public final fun build ()Lcom/splendo/kaluga/bluetooth/device/DeviceInfoImpl; - public final fun getDeviceName ()Ljava/lang/String; - public final fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun getManufacturerData ()[B - public final fun getManufacturerId ()Ljava/lang/Integer; - public final fun getRssi ()I - public final fun getServiceData ()Ljava/util/Map; - public final fun getTxPowerLevel ()I - public final fun services (Lkotlin/jvm/functions/Function1;)V - public final fun setDeviceName (Ljava/lang/String;)V - public final fun setIdentifier (Lcom/splendo/kaluga/bluetooth/UUID;)V - public final fun setManufacturerData ([B)V - public final fun setManufacturerId (Ljava/lang/Integer;)V - public final fun setRssi (I)V - public final fun setServiceData (Ljava/util/Map;)V - public final fun setTxPowerLevel (I)V -} - -public final class com/splendo/kaluga/test/bluetooth/MockDeviceInfoBuilderKt { - public static final fun createMockDevice (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/bluetooth/device/DeviceImpl; - public static final fun createMockDevice (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceConnectionManager$Builder;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/bluetooth/device/DeviceImpl; - public static synthetic fun createMockDevice$default (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceImpl; - public static synthetic fun createMockDevice$default (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lkotlinx/coroutines/CoroutineScope;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceConnectionManager$Builder;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/splendo/kaluga/bluetooth/device/DeviceImpl; - public static final fun uuid (Ljava/util/ArrayList;Ljava/lang/String;)Z -} - -public final class com/splendo/kaluga/test/bluetooth/MockDeviceWrapper : com/splendo/kaluga/bluetooth/device/DeviceWrapper { - public fun (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/UUID;)V - public fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun getName ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/MocksKt { - public static final fun createServiceWrapper (Lkotlin/jvm/functions/Function1;)Lcom/splendo/kaluga/bluetooth/ServiceWrapper; -} - -public final class com/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder { - public fun ()V - public final fun characteristics (Lkotlin/jvm/functions/Function1;)V - public final fun getCharacteristics ()Ljava/util/List; - public final fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun setUuid (Lcom/splendo/kaluga/bluetooth/UUID;)V -} - -public final class com/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Characteristic { - public fun ()V - public fun (Lcom/splendo/kaluga/bluetooth/UUID;Ljava/util/List;I)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/UUID;Ljava/util/List;IILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun component2 ()Ljava/util/List; - public final fun component3 ()I - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;Ljava/util/List;I)Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Characteristic; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Characteristic;Lcom/splendo/kaluga/bluetooth/UUID;Ljava/util/List;IILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Characteristic; - public fun equals (Ljava/lang/Object;)Z - public final fun getDescriptorUUIDs ()Ljava/util/List; - public final fun getDescriptors ()Ljava/util/List; - public final fun getProperties ()I - public final fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Characteristic$Builder { - public fun ()V - public final fun build ()Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Characteristic; - public final fun descriptors (Lkotlin/jvm/functions/Function1;)V - public final fun getDescriptors ()Ljava/util/List; - public final fun getProperties ()I - public final fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun setProperties (I)V - public final fun setUuid (Lcom/splendo/kaluga/bluetooth/UUID;)V -} - -public final class com/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Descriptor { - public fun ()V - public fun (Lcom/splendo/kaluga/bluetooth/UUID;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/UUID;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;)Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Descriptor; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Descriptor;Lcom/splendo/kaluga/bluetooth/UUID;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/ServiceWrapperBuilder$Descriptor; - public fun equals (Ljava/lang/Object;)Z - public final fun getUuid ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/ServiceWrapperBuilderKt { - public static final fun characteristic (Ljava/util/ArrayList;Lkotlin/jvm/functions/Function1;)Z - public static final fun descriptor (Ljava/util/ArrayList;Lcom/splendo/kaluga/bluetooth/UUID;)Z -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockAdvertisementData : com/splendo/kaluga/bluetooth/device/BaseAdvertisementData { - public fun ()V - public fun (Ljava/lang/String;Ljava/lang/Integer;[BLjava/util/List;Ljava/util/Map;IZ)V - public synthetic fun (Ljava/lang/String;Ljava/lang/Integer;[BLjava/util/List;Ljava/util/Map;IZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Ljava/lang/Integer; - public final fun component3 ()[B - public final fun component4 ()Ljava/util/List; - public final fun component5 ()Ljava/util/Map; - public final fun component6 ()I - public final fun component7 ()Z - public final fun copy (Ljava/lang/String;Ljava/lang/Integer;[BLjava/util/List;Ljava/util/Map;IZ)Lcom/splendo/kaluga/test/bluetooth/device/MockAdvertisementData; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockAdvertisementData;Ljava/lang/String;Ljava/lang/Integer;[BLjava/util/List;Ljava/util/Map;IZILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockAdvertisementData; - public fun equals (Ljava/lang/Object;)Z - public fun getManufacturerData ()[B - public fun getManufacturerId ()Ljava/lang/Integer; - public fun getName ()Ljava/lang/String; - public fun getServiceData ()Ljava/util/Map; - public fun getServiceUUIDs ()Ljava/util/List; - public fun getTxPowerLevel ()I - public fun hashCode ()I - public fun isConnectable ()Z - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager { - public fun ()V - public final fun connect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun discoverServices (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getMockConnect ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getMockDisconnect ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getMockDiscoverServices ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getMockHandleCancelConnecting ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMockHandleCancelReconnecting ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMockPair ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getMockReadRssi ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getMockRequestMtu ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getMockStartConnecting ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMockStartDisconnected ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMockStartDiscovering ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMockUnpair ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun handleCancelConnecting ()V - public final fun handleCancelReconnecting ()V - public final fun pair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun readRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun startConnecting (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V - public final fun startDisconnected ()V - public final fun startDiscovering ()V - public final fun unpair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceStateRepo : com/splendo/kaluga/bluetooth/device/BaseConnectableDeviceStateRepo { - public fun (Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDevice : com/splendo/kaluga/bluetooth/device/Device { - public synthetic fun (Lcom/splendo/kaluga/bluetooth/UUID;Lkotlinx/coroutines/flow/MutableStateFlow;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/CoroutineContext;ZJLcom/splendo/kaluga/logging/Logger;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/UUID;Lkotlinx/coroutines/flow/MutableStateFlow;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/CoroutineContext;ZJLcom/splendo/kaluga/logging/Logger;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun addAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)V - public fun advertisementDataDidUpdate (Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V - public final fun completeAction ()V - public fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public synthetic fun getInfo ()Lkotlinx/coroutines/flow/Flow; - public fun getInfo ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun getState ()Lkotlinx/coroutines/flow/Flow; - public final fun handleCancelConnecting ()V - public fun handleConnected ()V - public final fun handleConnecting ()V - public fun handleDisconnected ()V - public final fun handleDisconnecting ()V - public final fun handleDiscoverServices (Ljava/util/List;)V - public final fun handleStartDiscoveringServices ()V - public fun rssiDidUpdate (I)V -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceConnectionManager : com/splendo/kaluga/bluetooth/device/BaseDeviceConnectionManager { - public fun (ZLcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlinx/coroutines/CoroutineScope;Z)V - public synthetic fun (ZLcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlinx/coroutines/CoroutineScope;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun connect ()V - public fun createService (Lcom/splendo/kaluga/bluetooth/ServiceWrapper;)Lcom/splendo/kaluga/bluetooth/Service; - public fun disconnect ()V - public fun discoverServices (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getConnectMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun getCurrentState ()Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager$State; - public final fun getDisconnectMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getDiscoverServicesMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getGetCurrentStateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getHandleCurrentActionCompletedMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getPairMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getPerformActionMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getReadRssiMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getRequestMtuMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getUnpairMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getWillActionSucceed ()Z - public final fun handleCurrentAction (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun handleDiscoverCompleted (Ljava/util/List;)V - public fun handleNewRssi (I)V - public fun handleUpdatedCharacteristic (Lcom/splendo/kaluga/bluetooth/UUID;ZLkotlin/jvm/functions/Function1;)V - public fun handleUpdatedDescriptor (Lcom/splendo/kaluga/bluetooth/UUID;ZLkotlin/jvm/functions/Function1;)V - public fun readRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun setWillActionSucceed (Z)V -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceConnectionManager$Builder : com/splendo/kaluga/bluetooth/device/DeviceConnectionManager$Builder { - public fun ()V - public fun (ZZ)V - public synthetic fun (ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/bluetooth/device/BaseDeviceConnectionManager; - public synthetic fun create (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/bluetooth/device/DeviceConnectionManager; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getCreatedDeviceConnectionManager ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceInfo : com/splendo/kaluga/bluetooth/device/DeviceInfo { - public fun ()V - public fun (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Ljava/lang/String;ILcom/splendo/kaluga/base/utils/KalugaDate;)V - public synthetic fun (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Ljava/lang/String;ILcom/splendo/kaluga/base/utils/KalugaDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/UUID; - public final fun component2 ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public final fun component3 ()Ljava/lang/String; - public final fun component4 ()I - public final fun component5 ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public final fun copy (Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Ljava/lang/String;ILcom/splendo/kaluga/base/utils/KalugaDate;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceInfo; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceInfo;Lcom/splendo/kaluga/bluetooth/UUID;Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Ljava/lang/String;ILcom/splendo/kaluga/base/utils/KalugaDate;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceInfo; - public fun distance (D)D - public fun equals (Ljava/lang/Object;)Z - public fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; - public fun getIdentifier ()Lcom/splendo/kaluga/bluetooth/UUID; - public fun getName ()Ljava/lang/String; - public fun getRssi ()I - public fun getUpdatedAt ()Lcom/splendo/kaluga/base/utils/KalugaDate; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/test/bluetooth/device/MockDeviceState : com/splendo/kaluga/base/state/KalugaState { - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public abstract class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connectable : com/splendo/kaluga/test/bluetooth/device/MockDeviceState { - public abstract fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public final fun getDidDisconnect ()Lkotlin/jvm/functions/Function1; - public final fun getDisconnecting ()Lkotlin/jvm/functions/Function1; - public abstract fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public final fun unpair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connectable { - public final fun pair (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun readRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun startDisconnected ()V -} - -public abstract class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$DiscoveredServices : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected { -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Discovering : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected, com/splendo/kaluga/base/state/HandleAfterOldStateIsRemoved, com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Discovering { - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)V - public synthetic fun afterOldStateIsRemoved (Lcom/splendo/kaluga/base/state/KalugaState;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun afterOldStateIsRemoved (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public final fun component2 ()Ljava/lang/Integer; - public final fun component3 ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Discovering; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Discovering;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Discovering; - public fun didDiscoverServices (Ljava/util/List;)Lkotlin/jvm/functions/Function1; - public fun didUpdateMtu (I)Lkotlin/jvm/functions/Function1; - public fun equals (Ljava/lang/Object;)Z - public fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun getMtu ()Ljava/lang/Integer; - public fun getReconnect ()Lkotlin/jvm/functions/Function1; - public fun getReconnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; - public fun updateReconnectionSettings (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$HandlingAction : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$DiscoveredServices, com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$HandlingAction { - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Ljava/util/List;Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Ljava/util/List;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)V - public fun addAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)Lkotlin/jvm/functions/Function1; - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public final fun component2 ()Ljava/lang/Integer; - public final fun component3 ()Ljava/util/List; - public final fun component4 ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - public final fun component5 ()Ljava/util/List; - public final fun component6 ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Ljava/util/List;Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Ljava/util/List;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$HandlingAction; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$HandlingAction;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Ljava/util/List;Lcom/splendo/kaluga/bluetooth/device/DeviceAction;Ljava/util/List;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$HandlingAction; - public fun didUpdateMtu (I)Lkotlin/jvm/functions/Function1; - public fun equals (Ljava/lang/Object;)Z - public fun getAction ()Lcom/splendo/kaluga/bluetooth/device/DeviceAction; - public fun getActionCompleted ()Lkotlin/jvm/functions/Function1; - public fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun getMtu ()Ljava/lang/Integer; - public fun getNextActions ()Ljava/util/List; - public fun getReconnect ()Lkotlin/jvm/functions/Function1; - public fun getReconnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public fun getServices ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; - public fun updateReconnectionSettings (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Idle : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$DiscoveredServices, com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$Idle { - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Ljava/util/List;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public final fun component2 ()Ljava/lang/Integer; - public final fun component3 ()Ljava/util/List; - public final fun component4 ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Ljava/util/List;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Idle; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Idle;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Ljava/util/List;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$Idle; - public fun didUpdateMtu (I)Lkotlin/jvm/functions/Function1; - public fun equals (Ljava/lang/Object;)Z - public fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun getMtu ()Ljava/lang/Integer; - public fun getReconnect ()Lkotlin/jvm/functions/Function1; - public fun getReconnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public fun getServices ()Ljava/util/List; - public fun handleAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; - public fun updateReconnectionSettings (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$NoServices : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected, com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connected$NoServices { - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public final fun component2 ()Ljava/lang/Integer; - public final fun component3 ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$NoServices; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$NoServices;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Ljava/lang/Integer;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connected$NoServices; - public fun didUpdateMtu (I)Lkotlin/jvm/functions/Function1; - public fun equals (Ljava/lang/Object;)Z - public fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public fun getDiscoverServices ()Lkotlin/jvm/functions/Function1; - public fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun getMtu ()Ljava/lang/Integer; - public fun getReconnect ()Lkotlin/jvm/functions/Function1; - public fun getReconnectionSettings ()Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings; - public fun hashCode ()I - public fun startDiscovering ()V - public fun toString ()Ljava/lang/String; - public fun updateReconnectionSettings (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connecting : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connectable, com/splendo/kaluga/base/state/HandleAfterOldStateIsRemoved, com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Connecting { - public fun (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)V - public synthetic fun afterOldStateIsRemoved (Lcom/splendo/kaluga/base/state/KalugaState;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun afterOldStateIsRemoved (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun component2 ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public final fun copy (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connecting; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connecting;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connecting; - public fun equals (Ljava/lang/Object;)Z - public fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public fun getCancelConnection ()Lkotlin/jvm/functions/Function1; - public fun getDidConnect ()Lkotlin/jvm/functions/Function1; - public fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun handleCancel ()V - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnected : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connectable, com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnected { - public fun (Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)V - public final fun component1 ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)Lkotlin/jvm/functions/Function1; - public final fun copy (Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnected; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnected;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnected; - public fun equals (Ljava/lang/Object;)Z - public fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun hashCode ()I - public fun startConnecting (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;)V - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnecting : com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connectable, com/splendo/kaluga/base/state/HandleAfterOldStateIsRemoved, com/splendo/kaluga/bluetooth/device/ConnectableDeviceState$Disconnecting { - public fun (Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)V - public synthetic fun afterOldStateIsRemoved (Lcom/splendo/kaluga/base/state/KalugaState;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun afterOldStateIsRemoved (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun component1 ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public final fun copy (Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnecting; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnecting;Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$Disconnecting; - public fun equals (Ljava/lang/Object;)Z - public fun getAsDeviceState ()Lcom/splendo/kaluga/bluetooth/device/ConnectableDeviceState; - public fun getMockConnectableDeviceManager ()Lcom/splendo/kaluga/test/bluetooth/device/MockConnectableDeviceManager; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$NotConnectable : com/splendo/kaluga/test/bluetooth/device/MockDeviceState, com/splendo/kaluga/bluetooth/device/NotConnectableDeviceState { - public static final field INSTANCE Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceState$NotConnectable; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockBaseScanner : com/splendo/kaluga/bluetooth/scanner/BaseScanner { - public fun (ZLcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;Z)V - public synthetic fun (ZLcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun getBluetoothEnabledMonitor ()Lcom/splendo/kaluga/bluetooth/BluetoothMonitor; - public fun getBluetoothEnabledMonitor ()Lcom/splendo/kaluga/test/bluetooth/MockBluetoothMonitor; - public final fun getDidStartScanningMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getDidStopScanningMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getGenerateEnableSensorsActionsMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getRetrievePairedDeviceDiscoveredEventsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringHardwareEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringHardwareEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun handleDeviceDiscovered (Lcom/splendo/kaluga/bluetooth/device/DeviceWrapper;ILcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Lkotlin/jvm/functions/Function1;)V - public final fun isEnabled ()Lkotlinx/coroutines/flow/MutableStateFlow; - public fun isSupported ()Z - public fun startMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockBaseScanner$Builder : com/splendo/kaluga/bluetooth/scanner/BaseScanner$Builder { - public fun (ZZ)V - public synthetic fun (ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner$Settings;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;)Lcom/splendo/kaluga/bluetooth/scanner/BaseScanner; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getCreatedScanners ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanner : com/splendo/kaluga/bluetooth/scanner/Scanner { - public fun (ZLkotlinx/coroutines/flow/MutableSharedFlow;Lkotlinx/coroutines/flow/MutableSharedFlow;Lkotlinx/coroutines/flow/MutableSharedFlow;)V - public fun cancelRetrievingPairedDevices ()V - public final fun getCancelRetrievingPairedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public synthetic fun getConnectionEvents ()Lkotlinx/coroutines/flow/Flow; - public fun getConnectionEvents ()Lkotlinx/coroutines/flow/MutableSharedFlow; - public synthetic fun getDiscoveryEvents ()Lkotlinx/coroutines/flow/Flow; - public fun getDiscoveryEvents ()Lkotlinx/coroutines/flow/MutableSharedFlow; - public synthetic fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public fun getEvents ()Lkotlinx/coroutines/flow/MutableSharedFlow; - public final fun getRequestEnableHardwareMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getRetrievePairedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getScanForDevicesMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringHardwareEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringHardwareEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopScanningMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun isHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun isHardwareEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun isSupported ()Z - public fun requestEnableHardware (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun scanForDevices (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringHardwareEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopScanning (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState { - public final fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/DefaultDevices; -} - -public abstract class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Active : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState { - public fun getDeinitialize ()Lkotlin/jvm/functions/Function1; - public abstract fun getDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Deinitialized : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Inactive, com/splendo/kaluga/bluetooth/scanner/ScanningState$Deinitialized { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public final fun copy (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Deinitialized; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Deinitialized;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Deinitialized; - public fun equals (Ljava/lang/Object;)Z - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun getPreviousDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun getReinitialize ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Enabled : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Active { - protected final fun devicesForPairedDevices (Ljava/util/Map;Ljava/util/Set;Z)Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public final fun getDisable ()Lkotlin/jvm/functions/Function1; - protected abstract fun getPermittedHandler ()Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$PermittedHandler; - public final fun getRevokePermission ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Enabled$Idle : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Enabled, com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Idle { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)V - public fun getDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public final fun getRetrievePairedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun pairedDevices (Ljava/util/Map;Ljava/util/Set;Z)Lkotlin/jvm/functions/Function1; - public fun refresh (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Enabled$Scanning : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Enabled, com/splendo/kaluga/bluetooth/scanner/ScanningState$Enabled$Scanning { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)V - public fun discoverDevices (Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun getDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public final fun getRetrievePairedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun pairedDevices (Ljava/util/Map;Ljava/util/Set;Z)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; -} - -public abstract class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Inactive : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState { -} - -public abstract class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Initialized : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState { -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Initializing : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Active, com/splendo/kaluga/bluetooth/scanner/ScanningState$Initializing { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)V - public final fun component1 ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public final fun copy (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Initializing; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Initializing;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Initializing; - public fun equals (Ljava/lang/Object;)Z - public fun getDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun hashCode ()I - public fun initialized (ZZ)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Active { - public fun getDeinitialize ()Lkotlin/jvm/functions/Function1; - public fun getDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - protected abstract fun getPreviousDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$Disabled : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth, com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$Disabled { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)V - public final fun copy (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$Disabled; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$Disabled;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$Disabled; - public fun equals (Ljava/lang/Object;)Z - public fun getEnable ()Lkotlin/jvm/functions/Function1; - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun getRevokePermission ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$MissingPermissions : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth, com/splendo/kaluga/bluetooth/scanner/ScanningState$NoBluetooth$MissingPermissions { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)V - public final fun copy (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$MissingPermissions; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$MissingPermissions;Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoBluetooth$MissingPermissions; - public fun equals (Ljava/lang/Object;)Z - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun hashCode ()I - public fun permit (Z)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoHardware : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState, com/splendo/kaluga/bluetooth/scanner/ScanningState$NoHardware { - public static final field INSTANCE Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NoHardware; - public fun equals (Ljava/lang/Object;)Z - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NotInitialized : com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$Inactive, com/splendo/kaluga/bluetooth/scanner/ScanningState$NotInitialized { - public fun (Z)V - public final fun component1 ()Z - public final fun copy (Z)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NotInitialized; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NotInitialized;ZILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/scanner/MockScanningState$NotInitialized; - public fun equals (Ljava/lang/Object;)Z - public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; - public fun hashCode ()I - public final fun isHardwareSupported ()Z - public fun remain ()Lkotlin/jvm/functions/Function1; - public final fun startInitializing ()Lkotlin/jvm/functions/Function0; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$PermittedHandler { - public fun (Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices;)V - public final fun getRevokePermission ()Lkotlin/jvm/functions/Function1; -} - diff --git a/test-utils-bluetooth/api/androidLib/test-utils-bluetooth.api b/test-utils-bluetooth/api/test-utils-bluetooth.api similarity index 98% rename from test-utils-bluetooth/api/androidLib/test-utils-bluetooth.api rename to test-utils-bluetooth/api/test-utils-bluetooth.api index c5832dd83..f02a66094 100644 --- a/test-utils-bluetooth/api/androidLib/test-utils-bluetooth.api +++ b/test-utils-bluetooth/api/test-utils-bluetooth.api @@ -328,8 +328,6 @@ public final class com/splendo/kaluga/test/bluetooth/device/MockDevice : com/spl public final fun addAction (Lcom/splendo/kaluga/bluetooth/device/DeviceAction;)V public fun advertisementDataDidUpdate (Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;)V public final fun completeAction ()V - public fun connect (Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings$ReconnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getIdentifier ()Ljava/lang/String; public synthetic fun getInfo ()Lkotlinx/coroutines/flow/Flow; public fun getInfo ()Lkotlinx/coroutines/flow/MutableStateFlow; @@ -395,7 +393,6 @@ public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceInfo : com public final fun component5 ()Lcom/splendo/kaluga/base/utils/KalugaDate; public final fun copy (Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Ljava/lang/String;ILcom/splendo/kaluga/base/utils/KalugaDate;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceInfo; public static synthetic fun copy$default (Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceInfo;Ljava/lang/String;Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData;Ljava/lang/String;ILcom/splendo/kaluga/base/utils/KalugaDate;ILjava/lang/Object;)Lcom/splendo/kaluga/test/bluetooth/device/MockDeviceInfo; - public fun distance (D)D public fun equals (Ljava/lang/Object;)Z public fun getAdvertisementData ()Lcom/splendo/kaluga/bluetooth/device/BaseAdvertisementData; public fun getIdentifier ()Ljava/lang/String; @@ -407,7 +404,6 @@ public final class com/splendo/kaluga/test/bluetooth/device/MockDeviceInfo : com } public abstract class com/splendo/kaluga/test/bluetooth/device/MockDeviceState : com/splendo/kaluga/base/state/KalugaState { - public fun remain ()Lkotlin/jvm/functions/Function1; } public abstract class com/splendo/kaluga/test/bluetooth/device/MockDeviceState$Connectable : com/splendo/kaluga/test/bluetooth/device/MockDeviceState { @@ -652,7 +648,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$D public fun getPreviousDevices ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public fun getReinitialize ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -670,7 +665,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$E public final fun getRetrievePairedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; public fun pairedDevices (Ljava/util/Map;Ljava/util/Set;Z)Lkotlin/jvm/functions/Function1; public fun refresh (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun startScanning (Ljava/util/Set;Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;Lcom/splendo/kaluga/bluetooth/device/ConnectionSettings;)Lkotlin/jvm/functions/Function1; } @@ -682,7 +676,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$E public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public final fun getRetrievePairedDevicesMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; public fun pairedDevices (Ljava/util/Map;Ljava/util/Set;Z)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun retrievePairedDevices (Ljava/util/Set;ZLcom/splendo/kaluga/bluetooth/device/ConnectionSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun stopScanning (Lcom/splendo/kaluga/bluetooth/BluetoothService$CleanMode;)Lkotlin/jvm/functions/Function1; } @@ -703,7 +696,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$I public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public fun hashCode ()I public fun initialized (ZZ)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -722,7 +714,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$N public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public fun getRevokePermission ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -734,7 +725,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$N public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public fun hashCode ()I public fun permit (Z)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -743,7 +733,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$N public fun equals (Ljava/lang/Object;)Z public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -756,7 +745,6 @@ public final class com/splendo/kaluga/test/bluetooth/scanner/MockScanningState$N public synthetic fun getNothingFound ()Lcom/splendo/kaluga/bluetooth/scanner/ScanningState$Devices; public fun hashCode ()I public final fun isHardwareSupported ()Z - public fun remain ()Lkotlin/jvm/functions/Function1; public final fun startInitializing ()Lkotlin/jvm/functions/Function0; public fun toString ()Ljava/lang/String; } diff --git a/test-utils-bluetooth/build.gradle.kts b/test-utils-bluetooth/build.gradle.kts index 8340a185a..05d015372 100644 --- a/test-utils-bluetooth/build.gradle.kts +++ b/test-utils-bluetooth/build.gradle.kts @@ -1,25 +1,16 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.bluetooth") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.bluetooth" + dependencies { + common { + main { api(project(":test-utils-permissions")) api(project(":test-utils-service")) api(project(":bluetooth")) } } - commonTest { - dependencies { } - } } } diff --git a/test-utils-bluetooth/src/commonTest/kotlin/MockDeviceTest.kt b/test-utils-bluetooth/src/commonTest/kotlin/MockDeviceTest.kt index c32fe5bdd..94c5ff0a0 100644 --- a/test-utils-bluetooth/src/commonTest/kotlin/MockDeviceTest.kt +++ b/test-utils-bluetooth/src/commonTest/kotlin/MockDeviceTest.kt @@ -18,12 +18,10 @@ package com.splendo.kaluga.test.bluetooth import com.splendo.kaluga.base.runBlocking -import com.splendo.kaluga.base.utils.firstInstance import com.splendo.kaluga.bluetooth.device.ConnectableDeviceState import com.splendo.kaluga.bluetooth.uuidFrom -import kotlinx.coroutines.withTimeout +import com.splendo.kaluga.test.base.awaitFirst import kotlin.test.Test -import kotlin.test.assertNotNull import kotlin.time.Duration.Companion.milliseconds class MockDeviceTest { @@ -37,13 +35,9 @@ class MockDeviceTest { } connectionDelay = 100.milliseconds } - withTimeout(500.milliseconds) { - device.connect() - assertNotNull(device.state.firstInstance()) - } - withTimeout(500.milliseconds) { - device.disconnect() - assertNotNull(device.state.firstInstance()) - } + device.connect() + device.state.awaitFirst { it is ConnectableDeviceState.Connected } + device.disconnect() + device.state.awaitFirst { it is ConnectableDeviceState.Disconnected } } } diff --git a/test-utils-bluetooth/src/jsMain/kotlin/js_mocks.kt b/test-utils-bluetooth/src/jsMain/kotlin/js_mocks.kt deleted file mode 100644 index b07ace6b0..000000000 --- a/test-utils-bluetooth/src/jsMain/kotlin/js_mocks.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.bluetooth - -import com.splendo.kaluga.bluetooth.ServiceWrapper -import com.splendo.kaluga.bluetooth.device.DeviceWrapper -import com.splendo.kaluga.bluetooth.device.Identifier -import com.splendo.kaluga.bluetooth.randomUUID - -actual fun randomIdentifier(): Identifier = randomUUID() -actual fun createDeviceWrapper(deviceName: String?, identifier: Identifier): DeviceWrapper = TODO() -actual fun ServiceWrapperBuilder.build(): ServiceWrapper = TODO() diff --git a/test-utils-bluetooth/src/jvmMain/kotlin/MockDeviceWrapper.kt b/test-utils-bluetooth/src/jvmMain/kotlin/MockDeviceWrapper.kt deleted file mode 100644 index 12284ce98..000000000 --- a/test-utils-bluetooth/src/jvmMain/kotlin/MockDeviceWrapper.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.bluetooth - -import com.splendo.kaluga.bluetooth.device.DeviceWrapper -import com.splendo.kaluga.bluetooth.device.Identifier - -class MockDeviceWrapper(override val name: String?, override val identifier: Identifier) : - DeviceWrapper diff --git a/test-utils-bluetooth/src/jvmMain/kotlin/jvm_mocks.kt b/test-utils-bluetooth/src/jvmMain/kotlin/jvm_mocks.kt deleted file mode 100644 index 0696fe309..000000000 --- a/test-utils-bluetooth/src/jvmMain/kotlin/jvm_mocks.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.bluetooth - -import com.splendo.kaluga.bluetooth.ServiceWrapper -import com.splendo.kaluga.bluetooth.device.DeviceWrapper -import com.splendo.kaluga.bluetooth.device.Identifier -import com.splendo.kaluga.bluetooth.randomUUID - -actual fun randomIdentifier(): Identifier = randomUUID() -actual fun createDeviceWrapper(deviceName: String?, identifier: Identifier): DeviceWrapper = MockDeviceWrapper(deviceName, identifier) - -actual fun ServiceWrapperBuilder.build(): ServiceWrapper = TODO() diff --git a/test-utils-date-time-picker/api/jvm/test-utils-date-time-picker.api b/test-utils-date-time-picker/api/jvm/test-utils-date-time-picker.api deleted file mode 100644 index 0a76a3a2c..000000000 --- a/test-utils-date-time-picker/api/jvm/test-utils-date-time-picker.api +++ /dev/null @@ -1,23 +0,0 @@ -public final class com/splendo/kaluga/test/datetimepicker/MockDateTimePickerPresenter : com/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter { - public fun (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;Z)V - public synthetic fun (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun closeWithDate (Lcom/splendo/kaluga/base/utils/KalugaDate;)V - public fun dismiss (Z)V - public fun getDateTimePicker ()Lcom/splendo/kaluga/datetimepicker/DateTimePicker; - public final fun getDismissMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getShowAsyncMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun isPresented ()Z - public final fun setPresented (Z)V - public fun showAsync (ZLkotlin/jvm/functions/Function1;)V -} - -public final class com/splendo/kaluga/test/datetimepicker/MockDateTimePickerPresenter$Builder : com/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter$Builder { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun create (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/datetimepicker/BaseDateTimePickerPresenter; - public fun create (Lcom/splendo/kaluga/datetimepicker/DateTimePicker;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/test/datetimepicker/MockDateTimePickerPresenter; - public final fun getBuiltDateTimePickerPresenters ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; -} - diff --git a/test-utils-date-time-picker/api/androidLib/test-utils-date-time-picker.api b/test-utils-date-time-picker/api/test-utils-date-time-picker.api similarity index 100% rename from test-utils-date-time-picker/api/androidLib/test-utils-date-time-picker.api rename to test-utils-date-time-picker/api/test-utils-date-time-picker.api diff --git a/test-utils-date-time-picker/build.gradle.kts b/test-utils-date-time-picker/build.gradle.kts index a9fd7ff83..c0ef483a6 100644 --- a/test-utils-date-time-picker/build.gradle.kts +++ b/test-utils-date-time-picker/build.gradle.kts @@ -1,18 +1,12 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.datetimepicker") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.datetimepicker" + dependencies { + common { + main { api(project(":test-utils-architecture")) api(project(":date-time-picker")) } diff --git a/test-utils-hud/api/jvm/test-utils-hud.api b/test-utils-hud/api/jvm/test-utils-hud.api deleted file mode 100644 index da018f547..000000000 --- a/test-utils-hud/api/jvm/test-utils-hud.api +++ /dev/null @@ -1,22 +0,0 @@ -public final class com/splendo/kaluga/test/hud/MockHUD : com/splendo/kaluga/hud/BaseHUD { - public fun (Lcom/splendo/kaluga/hud/HudConfig;ZLkotlinx/coroutines/CoroutineScope;)V - public synthetic fun (Lcom/splendo/kaluga/hud/HudConfig;ZLkotlinx/coroutines/CoroutineScope;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun dismiss (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getDismissMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun getHudConfig ()Lcom/splendo/kaluga/hud/HudConfig; - public final fun getPresentMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun isVisible ()Z - public fun present (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun setVisible (Z)V -} - -public final class com/splendo/kaluga/test/hud/MockHUD$Builder : com/splendo/kaluga/hud/BaseHUD$Builder { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun create (Lcom/splendo/kaluga/hud/HudConfig;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/hud/BaseHUD; - public fun create (Lcom/splendo/kaluga/hud/HudConfig;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/test/hud/MockHUD; - public final fun getBuiltHUDs ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; -} - diff --git a/test-utils-hud/api/androidLib/test-utils-hud.api b/test-utils-hud/api/test-utils-hud.api similarity index 100% rename from test-utils-hud/api/androidLib/test-utils-hud.api rename to test-utils-hud/api/test-utils-hud.api diff --git a/test-utils-hud/build.gradle.kts b/test-utils-hud/build.gradle.kts index 0e5d57828..b805dc57a 100644 --- a/test-utils-hud/build.gradle.kts +++ b/test-utils-hud/build.gradle.kts @@ -1,18 +1,12 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.hud") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.hud" + dependencies { + common { + main { api(project(":test-utils-architecture")) api(project(":hud")) } diff --git a/test-utils-keyboard/api/jvm/test-utils-keyboard.api b/test-utils-keyboard/api/jvm/test-utils-keyboard.api deleted file mode 100644 index cd4a15032..000000000 --- a/test-utils-keyboard/api/jvm/test-utils-keyboard.api +++ /dev/null @@ -1,29 +0,0 @@ -public final class com/splendo/kaluga/test/keyboard/MockFocusHandler : com/splendo/kaluga/keyboard/FocusHandler { - public fun ()V - public final fun giveFocus ()V - public final fun isFocused ()Z - public final fun removeFocus ()V -} - -public final class com/splendo/kaluga/test/keyboard/MockKeyboardManager : com/splendo/kaluga/keyboard/BaseKeyboardManager { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getFocusHandler ()Lcom/splendo/kaluga/keyboard/FocusHandler; - public final fun getHideMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getShowMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun hide ()V - public final fun setFocusHandler (Lcom/splendo/kaluga/keyboard/FocusHandler;)V - public fun show (Lcom/splendo/kaluga/keyboard/FocusHandler;)V -} - -public final class com/splendo/kaluga/test/keyboard/MockKeyboardManager$Builder : com/splendo/kaluga/keyboard/BaseKeyboardManager$Builder { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun create (Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/keyboard/BaseKeyboardManager; - public fun create (Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/test/keyboard/MockKeyboardManager; - public final fun getBuiltKeyboardManagers ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; -} - diff --git a/test-utils-keyboard/api/androidLib/test-utils-keyboard.api b/test-utils-keyboard/api/test-utils-keyboard.api similarity index 100% rename from test-utils-keyboard/api/androidLib/test-utils-keyboard.api rename to test-utils-keyboard/api/test-utils-keyboard.api diff --git a/test-utils-keyboard/build.gradle.kts b/test-utils-keyboard/build.gradle.kts index e3691c856..52a899cf2 100644 --- a/test-utils-keyboard/build.gradle.kts +++ b/test-utils-keyboard/build.gradle.kts @@ -1,18 +1,12 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.keyboard") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.keyboard" + dependencies { + common { + main { api(project(":test-utils-architecture")) api(project(":keyboard")) } diff --git a/test-utils-koin/build.gradle.kts b/test-utils-koin/build.gradle.kts index 448bf488a..36953f102 100644 --- a/test-utils-koin/build.gradle.kts +++ b/test-utils-koin/build.gradle.kts @@ -1,25 +1,19 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.koin") +kaluga { + moduleName = "test.koin" -kotlin { - sourceSets { - commonMain { - dependencies { + supportJVM = true + supportJS = true + + dependencies { + common { + main { api(project(":test-utils-base")) api(project(":test-utils-architecture")) - apiDependency(Dependencies.Koin.Core) - } - } - commonTest { - dependencies { + api(libs.koin.core) } } } diff --git a/test-utils-location/api/androidLib/test-utils-location.api b/test-utils-location/api/androidLib/test-utils-location.api deleted file mode 100644 index 5e62b2341..000000000 --- a/test-utils-location/api/androidLib/test-utils-location.api +++ /dev/null @@ -1,157 +0,0 @@ -public final class com/splendo/kaluga/test/location/MockBaseLocationManager : com/splendo/kaluga/location/BaseLocationManager { - public fun (ZLcom/splendo/kaluga/location/BaseLocationManager$Settings;Lkotlinx/coroutines/CoroutineScope;)V - public final fun getLocationEnabled ()Lkotlinx/coroutines/flow/MutableStateFlow; - public synthetic fun getLocationMonitor ()Lcom/splendo/kaluga/location/LocationMonitor; - public final fun getRequestEnableLocationMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringLocationEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringLocationMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringLocationEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringLocationMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun handleLocationChanged (Lcom/splendo/kaluga/location/Location$KnownLocation;)V - public fun handleLocationChanged (Ljava/util/List;)V - public fun requestEnableLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/location/MockBaseLocationManager$Builder : com/splendo/kaluga/location/BaseLocationManager$Builder { - public fun (ZZ)V - public synthetic fun (ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/location/BaseLocationManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/location/BaseLocationManager; - public final fun getBuiltLocationManagers ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getInitialLocationEnabled ()Z -} - -public final class com/splendo/kaluga/test/location/MockLocationManager : com/splendo/kaluga/location/LocationManager { - public fun (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lkotlinx/coroutines/flow/MutableSharedFlow;Lkotlinx/coroutines/flow/MutableSharedFlow;)V - public synthetic fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public fun getEvents ()Lkotlinx/coroutines/flow/MutableSharedFlow; - public fun getLocationPermission ()Lcom/splendo/kaluga/permissions/location/LocationPermission; - public synthetic fun getLocations ()Lkotlinx/coroutines/flow/Flow; - public fun getLocations ()Lkotlinx/coroutines/flow/MutableSharedFlow; - public final fun getRequestEnableLocationMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringLocationEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringLocationMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStartMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringLocationEnabledMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringLocationMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringPermissionsMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun isLocationEnabled ()Z - public final fun isLocationEnabledMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun requestEnableLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringLocation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringLocationEnabled (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoringPermissions (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/location/MockLocationMonitor : com/splendo/kaluga/test/service/MockServiceMonitor, com/splendo/kaluga/location/LocationMonitor { - public fun (Lkotlinx/coroutines/flow/StateFlow;)V - public synthetic fun isEnabled ()Lkotlinx/coroutines/flow/Flow; - public fun isEnabled ()Lkotlinx/coroutines/flow/StateFlow; -} - -public abstract class com/splendo/kaluga/test/location/MockLocationState { -} - -public abstract class com/splendo/kaluga/test/location/MockLocationState$Active : com/splendo/kaluga/test/location/MockLocationState { - public final fun getDeinitialized ()Lkotlin/jvm/functions/Function1; - public abstract fun getLocation ()Lcom/splendo/kaluga/location/Location; -} - -public final class com/splendo/kaluga/test/location/MockLocationState$Deinitialized : com/splendo/kaluga/test/location/MockLocationState$Inactive, com/splendo/kaluga/location/LocationState$Deinitialized { - public fun (Lcom/splendo/kaluga/location/Location;)V - public final fun component1 ()Lcom/splendo/kaluga/location/Location; - public final fun copy (Lcom/splendo/kaluga/location/Location;)Lcom/splendo/kaluga/test/location/MockLocationState$Deinitialized; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/location/MockLocationState$Deinitialized;Lcom/splendo/kaluga/location/Location;ILjava/lang/Object;)Lcom/splendo/kaluga/test/location/MockLocationState$Deinitialized; - public fun equals (Ljava/lang/Object;)Z - public fun getLocation ()Lcom/splendo/kaluga/location/Location; - public fun getReinitialize ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/test/location/MockLocationState$Disabled : com/splendo/kaluga/test/location/MockLocationState$Active { -} - -public final class com/splendo/kaluga/test/location/MockLocationState$Disabled$NoGPS : com/splendo/kaluga/test/location/MockLocationState$Disabled, com/splendo/kaluga/location/LocationState$Disabled$NoGPS { - public fun (Lcom/splendo/kaluga/location/Location;)V - public fun getEnable ()Lkotlin/jvm/functions/Function1; - public fun getLocation ()Lcom/splendo/kaluga/location/Location; - public fun getRevokePermission ()Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/location/MockLocationState$Disabled$NotPermitted : com/splendo/kaluga/test/location/MockLocationState$Disabled, com/splendo/kaluga/location/LocationState$Disabled$NotPermitted { - public fun (Lcom/splendo/kaluga/location/Location;)V - public fun getLocation ()Lcom/splendo/kaluga/location/Location; - public fun permit (Z)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/location/MockLocationState$Enabled : com/splendo/kaluga/test/location/MockLocationState$Active, com/splendo/kaluga/location/LocationState$Enabled { - public fun (Lcom/splendo/kaluga/location/Location;)V - public final fun component1 ()Lcom/splendo/kaluga/location/Location; - public final fun copy (Lcom/splendo/kaluga/location/Location;)Lcom/splendo/kaluga/test/location/MockLocationState$Enabled; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/location/MockLocationState$Enabled;Lcom/splendo/kaluga/location/Location;ILjava/lang/Object;)Lcom/splendo/kaluga/test/location/MockLocationState$Enabled; - public fun equals (Ljava/lang/Object;)Z - public fun getDisable ()Lkotlin/jvm/functions/Function1; - public fun getLocation ()Lcom/splendo/kaluga/location/Location; - public fun getRevokePermission ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; - public fun updateWithLocation (Lcom/splendo/kaluga/location/Location$KnownLocation;)Lkotlin/jvm/functions/Function1; -} - -public abstract class com/splendo/kaluga/test/location/MockLocationState$Inactive : com/splendo/kaluga/test/location/MockLocationState { -} - -public final class com/splendo/kaluga/test/location/MockLocationState$Initializing : com/splendo/kaluga/test/location/MockLocationState$Active, com/splendo/kaluga/location/LocationState$Initializing { - public fun (Lcom/splendo/kaluga/location/Location;)V - public final fun component1 ()Lcom/splendo/kaluga/location/Location; - public final fun copy (Lcom/splendo/kaluga/location/Location;)Lcom/splendo/kaluga/test/location/MockLocationState$Initializing; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/location/MockLocationState$Initializing;Lcom/splendo/kaluga/location/Location;ILjava/lang/Object;)Lcom/splendo/kaluga/test/location/MockLocationState$Initializing; - public fun equals (Ljava/lang/Object;)Z - public fun getLocation ()Lcom/splendo/kaluga/location/Location; - public fun hashCode ()I - public fun initialize (ZZ)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/location/MockLocationState$NotInitialized : com/splendo/kaluga/test/location/MockLocationState$Inactive, com/splendo/kaluga/location/LocationState$NotInitialized { - public static final field INSTANCE Lcom/splendo/kaluga/test/location/MockLocationState$NotInitialized; - public fun equals (Ljava/lang/Object;)Z - public fun getLocation ()Lcom/splendo/kaluga/location/Location; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public final fun startInitializing ()Lkotlin/jvm/functions/Function0; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/location/MockLocationState$PermittedHandler { - public fun (Lcom/splendo/kaluga/location/Location;)V - public final fun getLocation ()Lcom/splendo/kaluga/location/Location; - public final fun getRevokePermission ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/location/MockLocationStateRepoBuilder : com/splendo/kaluga/location/BaseLocationStateRepoBuilder { - public fun (Lkotlin/jvm/functions/Function1;Lcom/splendo/kaluga/location/BaseLocationManager$Builder;Z)V - public synthetic fun (Lkotlin/jvm/functions/Function1;Lcom/splendo/kaluga/location/BaseLocationManager$Builder;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/permissions/location/LocationPermission;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/location/LocationStateRepo; - public final fun getBuiltLocationStateRepo ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getLocationManagerBuilder ()Lcom/splendo/kaluga/location/BaseLocationManager$Builder; -} - diff --git a/test-utils-location/api/jvm/test-utils-location.api b/test-utils-location/api/test-utils-location.api similarity index 97% rename from test-utils-location/api/jvm/test-utils-location.api rename to test-utils-location/api/test-utils-location.api index 5e62b2341..7f647a36a 100644 --- a/test-utils-location/api/jvm/test-utils-location.api +++ b/test-utils-location/api/test-utils-location.api @@ -77,7 +77,6 @@ public final class com/splendo/kaluga/test/location/MockLocationState$Deinitiali public fun getLocation ()Lcom/splendo/kaluga/location/Location; public fun getReinitialize ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -89,14 +88,12 @@ public final class com/splendo/kaluga/test/location/MockLocationState$Disabled$N public fun getEnable ()Lkotlin/jvm/functions/Function1; public fun getLocation ()Lcom/splendo/kaluga/location/Location; public fun getRevokePermission ()Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/location/MockLocationState$Disabled$NotPermitted : com/splendo/kaluga/test/location/MockLocationState$Disabled, com/splendo/kaluga/location/LocationState$Disabled$NotPermitted { public fun (Lcom/splendo/kaluga/location/Location;)V public fun getLocation ()Lcom/splendo/kaluga/location/Location; public fun permit (Z)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/location/MockLocationState$Enabled : com/splendo/kaluga/test/location/MockLocationState$Active, com/splendo/kaluga/location/LocationState$Enabled { @@ -109,7 +106,6 @@ public final class com/splendo/kaluga/test/location/MockLocationState$Enabled : public fun getLocation ()Lcom/splendo/kaluga/location/Location; public fun getRevokePermission ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; public fun updateWithLocation (Lcom/splendo/kaluga/location/Location$KnownLocation;)Lkotlin/jvm/functions/Function1; } @@ -126,7 +122,6 @@ public final class com/splendo/kaluga/test/location/MockLocationState$Initializi public fun getLocation ()Lcom/splendo/kaluga/location/Location; public fun hashCode ()I public fun initialize (ZZ)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -135,7 +130,6 @@ public final class com/splendo/kaluga/test/location/MockLocationState$NotInitial public fun equals (Ljava/lang/Object;)Z public fun getLocation ()Lcom/splendo/kaluga/location/Location; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public final fun startInitializing ()Lkotlin/jvm/functions/Function0; public fun toString ()Ljava/lang/String; } diff --git a/test-utils-location/build.gradle.kts b/test-utils-location/build.gradle.kts index f322db6b3..73eee73c5 100644 --- a/test-utils-location/build.gradle.kts +++ b/test-utils-location/build.gradle.kts @@ -1,26 +1,16 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.location") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.location" + dependencies { + common { + main { api(project(":location")) api(project(":test-utils-permissions")) api(project(":test-utils-service")) } } - commonTest { - dependencies { - } - } } } diff --git a/test-utils-media/api/jvm/test-utils-media.api b/test-utils-media/api/jvm/test-utils-media.api deleted file mode 100644 index eff204fa6..000000000 --- a/test-utils-media/api/jvm/test-utils-media.api +++ /dev/null @@ -1,313 +0,0 @@ -public final class com/splendo/kaluga/test/media/MockBaseMediaManager : com/splendo/kaluga/media/BaseMediaManager, com/splendo/kaluga/media/MediaSurfaceController, com/splendo/kaluga/media/VolumeController { - public fun (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lcom/splendo/kaluga/test/media/MockVolumeController;Lcom/splendo/kaluga/test/media/MockMediaSurfaceController;Lkotlin/coroutines/CoroutineContext;Z)V - public synthetic fun (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lcom/splendo/kaluga/test/media/MockVolumeController;Lcom/splendo/kaluga/test/media/MockMediaSurfaceController;Lkotlin/coroutines/CoroutineContext;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getCleanUpMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun getCurrentVolume ()Lkotlinx/coroutines/flow/Flow; - public final fun getHandleCreatePlayableMediaMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getHandleResetMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getInitializeMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMediaSurfaceController ()Lcom/splendo/kaluga/test/media/MockMediaSurfaceController; - public final fun getPauseMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getPlayMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getStartSeekMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getStopMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getVolumeController ()Lcom/splendo/kaluga/test/media/MockVolumeController; - public fun handleCompleted ()V - public fun handleError (Lcom/splendo/kaluga/media/PlaybackError;)V - public fun handlePrepared (Lcom/splendo/kaluga/media/PlayableMedia;)V - public fun handleSeekCompleted (Z)V - public fun initialize (Lcom/splendo/kaluga/media/PlayableMedia;)V - public fun pause ()V - public fun play (F)V - public fun renderVideoOnSurface (Lcom/splendo/kaluga/media/MediaSurface;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stop ()V - public fun updateVolume (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/media/MockBaseMediaManager$Builder : com/splendo/kaluga/media/BaseMediaManager$Builder { - public fun ()V - public fun (Lcom/splendo/kaluga/test/media/MockVolumeController;Lcom/splendo/kaluga/test/media/MockMediaSurfaceController;Z)V - public synthetic fun (Lcom/splendo/kaluga/test/media/MockVolumeController;Lcom/splendo/kaluga/test/media/MockMediaSurfaceController;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create (Lcom/splendo/kaluga/media/MediaSurfaceProvider;Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/media/BaseMediaManager; - public final fun getBuiltMediaManagers ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMediaSurfaceController ()Lcom/splendo/kaluga/test/media/MockMediaSurfaceController; - public final fun getVolumeController ()Lcom/splendo/kaluga/test/media/MockVolumeController; -} - -public final class com/splendo/kaluga/test/media/MockMediaManager : com/splendo/kaluga/media/MediaManager, com/splendo/kaluga/media/MediaSurfaceController, com/splendo/kaluga/media/VolumeController { - public fun (Lkotlinx/coroutines/flow/MutableSharedFlow;Lcom/splendo/kaluga/test/media/MockVolumeController;Lcom/splendo/kaluga/test/media/MockMediaSurfaceController;Z)V - public synthetic fun (Lkotlinx/coroutines/flow/MutableSharedFlow;Lcom/splendo/kaluga/test/media/MockVolumeController;Lcom/splendo/kaluga/test/media/MockMediaSurfaceController;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun close ()V - public fun createPlayableMedia (Lcom/splendo/kaluga/media/MediaSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getCreatePlayableMediaMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun getCurrentVolume ()Lkotlinx/coroutines/flow/Flow; - public final fun getEndMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public synthetic fun getEvents ()Lkotlinx/coroutines/flow/Flow; - public fun getEvents ()Lkotlinx/coroutines/flow/MutableSharedFlow; - public final fun getInitializeMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMediaSurfaceController ()Lcom/splendo/kaluga/test/media/MockMediaSurfaceController; - public final fun getPauseMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getPlayMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getResetMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getSeekToMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getVolumeController ()Lcom/splendo/kaluga/test/media/MockVolumeController; - public fun initialize (Lcom/splendo/kaluga/media/PlayableMedia;)V - public fun pause ()V - public fun play (F)V - public fun renderVideoOnSurface (Lcom/splendo/kaluga/media/MediaSurface;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun reset ()V - public fun seekTo-VtjQ1oo (JLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stop ()V - public fun updateVolume (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/media/MockMediaPlayer : com/splendo/kaluga/media/MediaPlayer, com/splendo/kaluga/media/MediaSurfaceController, com/splendo/kaluga/media/VolumeController { - public fun (Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lcom/splendo/kaluga/test/media/MockVolumeController;Lcom/splendo/kaluga/test/media/MockMediaSurfaceController;)V - public fun awaitCompletion (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun close ()V - public fun forceStart (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getAwaitCompletionMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public synthetic fun getControls ()Lkotlinx/coroutines/flow/Flow; - public fun getControls ()Lkotlinx/coroutines/flow/MutableStateFlow; - public fun getCurrentVolume ()Lkotlinx/coroutines/flow/Flow; - public final fun getEndMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getForceStartMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getInitializeForMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getMediaSurfaceController ()Lcom/splendo/kaluga/test/media/MockMediaSurfaceController; - public synthetic fun getPlayableMedia ()Lkotlinx/coroutines/flow/Flow; - public fun getPlayableMedia ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getResetMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getVolumeController ()Lcom/splendo/kaluga/test/media/MockVolumeController; - public fun initializeFor (Lcom/splendo/kaluga/media/MediaSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun renderVideoOnSurface (Lcom/splendo/kaluga/media/MediaSurface;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun reset (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun updateVolume (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/media/MockMediaSurfaceController : com/splendo/kaluga/media/MediaSurfaceController { - public fun ()V - public final fun getRenderVideoOnSurfaceMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun renderVideoOnSurface (Lcom/splendo/kaluga/media/MediaSurface;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/media/MockMediaSurfaceKt { - public static final fun createMockMediaSurface ()Lcom/splendo/kaluga/media/MediaSurface; -} - -public final class com/splendo/kaluga/test/media/MockMediaSurfaceProvider : com/splendo/kaluga/media/MediaSurfaceProvider { - public fun (Lkotlinx/coroutines/flow/MutableSharedFlow;)V - public synthetic fun getSurface ()Lkotlinx/coroutines/flow/Flow; - public fun getSurface ()Lkotlinx/coroutines/flow/MutableSharedFlow; -} - -public final class com/splendo/kaluga/test/media/MockPlayableMedia : com/splendo/kaluga/media/PlayableMedia { - public synthetic fun (Lcom/splendo/kaluga/media/MediaSource;JJLkotlinx/coroutines/flow/MutableStateFlow;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/media/MediaSource;JJLkotlinx/coroutines/flow/MutableStateFlow;Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun getCurrentPlayTime-UwyO8pc ()J - public fun getDuration-UwyO8pc ()J - public synthetic fun getResolution ()Lkotlinx/coroutines/flow/Flow; - public fun getResolution ()Lkotlinx/coroutines/flow/MutableStateFlow; - public fun getSource ()Lcom/splendo/kaluga/media/MediaSource; - public fun getTracks ()Ljava/util/List; - public fun setCurrentPlayTime-LRDsOJo (J)V -} - -public abstract class com/splendo/kaluga/test/media/MockPlaybackState { - public static final field Companion Lcom/splendo/kaluga/test/media/MockPlaybackState$Companion; - public abstract fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; -} - -public abstract class com/splendo/kaluga/test/media/MockPlaybackState$Active : com/splendo/kaluga/test/media/MockPlaybackState { - public final fun failWithError (Lcom/splendo/kaluga/media/PlaybackError;)Lkotlin/jvm/functions/Function1; - public abstract fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun getEnd ()Lkotlin/jvm/functions/Function1; - public final fun getMediaSurfaceController ()Lcom/splendo/kaluga/media/MediaSurfaceController; - public final fun getReset ()Lkotlin/jvm/functions/Function1; - public final fun getVolumeController ()Lcom/splendo/kaluga/media/VolumeController; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Closed : com/splendo/kaluga/test/media/MockPlaybackState, com/splendo/kaluga/media/PlaybackState$Closed { - public static final field INSTANCE Lcom/splendo/kaluga/test/media/MockPlaybackState$Closed; - public fun equals (Ljava/lang/Object;)Z - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Companion { - public final fun createSeekToMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Completed : com/splendo/kaluga/test/media/MockPlaybackState$Prepared, com/splendo/kaluga/media/PlaybackState$Completed { - public fun (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component1 ()Lcom/splendo/kaluga/media/PlayableMedia; - public final fun component2 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Completed; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Completed;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Completed; - public fun equals (Ljava/lang/Object;)Z - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun start (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Configuration { - public fun ()V - public fun (Lkotlin/jvm/functions/Function1;Lcom/splendo/kaluga/media/VolumeController;Lcom/splendo/kaluga/media/MediaSurfaceController;Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock;)V - public synthetic fun (Lkotlin/jvm/functions/Function1;Lcom/splendo/kaluga/media/VolumeController;Lcom/splendo/kaluga/media/MediaSurfaceController;Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lkotlin/jvm/functions/Function1; - public final fun component2 ()Lcom/splendo/kaluga/media/VolumeController; - public final fun component3 ()Lcom/splendo/kaluga/media/MediaSurfaceController; - public final fun component4 ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun copy (Lkotlin/jvm/functions/Function1;Lcom/splendo/kaluga/media/VolumeController;Lcom/splendo/kaluga/media/MediaSurfaceController;Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;Lkotlin/jvm/functions/Function1;Lcom/splendo/kaluga/media/VolumeController;Lcom/splendo/kaluga/media/MediaSurfaceController;Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun equals (Ljava/lang/Object;)Z - public final fun getMediaProvider ()Lkotlin/jvm/functions/Function1; - public final fun getMediaSurfaceController ()Lcom/splendo/kaluga/media/MediaSurfaceController; - public final fun getSeekToMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getVolumeController ()Lcom/splendo/kaluga/media/VolumeController; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Error : com/splendo/kaluga/test/media/MockPlaybackState$Active, com/splendo/kaluga/media/PlaybackState$Error { - public fun (Lcom/splendo/kaluga/media/PlaybackError;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component1 ()Lcom/splendo/kaluga/media/PlaybackError; - public final fun component2 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/media/PlaybackError;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Error; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Error;Lcom/splendo/kaluga/media/PlaybackError;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Error; - public fun equals (Ljava/lang/Object;)Z - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getError ()Lcom/splendo/kaluga/media/PlaybackError; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Idle : com/splendo/kaluga/test/media/MockPlaybackState$Prepared, com/splendo/kaluga/media/PlaybackState$Idle { - public fun (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component1 ()Lcom/splendo/kaluga/media/PlayableMedia; - public final fun component2 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Idle; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Idle;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Idle; - public fun equals (Ljava/lang/Object;)Z - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun hashCode ()I - public fun play (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Initialized : com/splendo/kaluga/test/media/MockPlaybackState$Active, com/splendo/kaluga/media/PlaybackState$Initialized { - public fun (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component2 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Initialized; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Initialized;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Initialized; - public fun equals (Ljava/lang/Object;)Z - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun getSource ()Lcom/splendo/kaluga/media/MediaSource; - public fun hashCode ()I - public fun prepared (Lcom/splendo/kaluga/media/PlayableMedia;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Paused : com/splendo/kaluga/test/media/MockPlaybackState$Prepared, com/splendo/kaluga/media/PlaybackState$Paused { - public fun (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component1 ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; - public final fun component2 ()Lcom/splendo/kaluga/media/PlayableMedia; - public final fun component3 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Paused; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Paused;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Paused; - public fun equals (Ljava/lang/Object;)Z - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getPlay ()Lkotlin/jvm/functions/Function1; - public fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; - public fun getPlaybackParameters ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun hashCode ()I - public fun playWithUpdatedPlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; - public fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Playing : com/splendo/kaluga/test/media/MockPlaybackState$Prepared, com/splendo/kaluga/media/PlaybackState$Playing { - public fun (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component1 ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; - public final fun component2 ()Lcom/splendo/kaluga/media/PlayableMedia; - public final fun component3 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Playing; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Playing;Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Playing; - public fun equals (Ljava/lang/Object;)Z - public fun getCompletedLoop ()Lkotlin/jvm/functions/Function1; - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getPause ()Lkotlin/jvm/functions/Function1; - public fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; - public fun getPlaybackParameters ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; - public fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; -} - -public abstract class com/splendo/kaluga/test/media/MockPlaybackState$Prepared : com/splendo/kaluga/test/media/MockPlaybackState$Active { - public abstract fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; - public final fun getStop ()Lkotlin/jvm/functions/Function1; - public final fun seekTo-VtjQ1oo (JLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Stopped : com/splendo/kaluga/test/media/MockPlaybackState$Active, com/splendo/kaluga/media/PlaybackState$Stopped { - public fun (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component2 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Stopped; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Stopped;Lcom/splendo/kaluga/media/PlayableMedia;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Stopped; - public fun equals (Ljava/lang/Object;)Z - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun getReinitialize ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackState$Uninitialized : com/splendo/kaluga/test/media/MockPlaybackState$Active, com/splendo/kaluga/media/PlaybackState$Uninitialized { - public fun (Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)V - public final fun component1 ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public final fun copy (Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Uninitialized; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/media/MockPlaybackState$Uninitialized;Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;ILjava/lang/Object;)Lcom/splendo/kaluga/test/media/MockPlaybackState$Uninitialized; - public fun equals (Ljava/lang/Object;)Z - public fun getConfiguration ()Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration; - public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; - public fun hashCode ()I - public fun initialize (Lcom/splendo/kaluga/media/MediaSource;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/media/MockPlaybackStateRepo : com/splendo/kaluga/media/BasePlaybackStateRepo { - public fun (Lcom/splendo/kaluga/test/media/MockPlaybackState$Configuration;Lkotlin/coroutines/CoroutineContext;)V - public fun (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/CoroutineContext;)V -} - -public final class com/splendo/kaluga/test/media/MockVolumeController : com/splendo/kaluga/media/VolumeController { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun getCurrentVolume ()Lkotlinx/coroutines/flow/Flow; - public fun getCurrentVolume ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getUpdateVolumeMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun updateVolume (FLkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - diff --git a/test-utils-media/api/androidLib/test-utils-media.api b/test-utils-media/api/test-utils-media.api similarity index 97% rename from test-utils-media/api/androidLib/test-utils-media.api rename to test-utils-media/api/test-utils-media.api index eff204fa6..e5fcd1a89 100644 --- a/test-utils-media/api/androidLib/test-utils-media.api +++ b/test-utils-media/api/test-utils-media.api @@ -133,7 +133,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Closed : com/ public fun equals (Ljava/lang/Object;)Z public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -152,7 +151,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Completed : c public fun getPlayableMedia ()Lcom/splendo/kaluga/media/PlayableMedia; public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun start (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -187,7 +185,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Error : com/s public fun getError ()Lcom/splendo/kaluga/media/PlaybackError; public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -203,7 +200,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Idle : com/sp public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun hashCode ()I public fun play (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -218,7 +214,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Initialized : public fun getSource ()Lcom/splendo/kaluga/media/MediaSource; public fun hashCode ()I public fun prepared (Lcom/splendo/kaluga/media/PlayableMedia;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -236,8 +231,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Paused : com/ public fun getPlaybackParameters ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun hashCode ()I - public fun playWithUpdatedPlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; public fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; } @@ -257,7 +250,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Playing : com public fun getPlaybackParameters ()Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters; public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; public fun updatePlaybackParameters (Lcom/splendo/kaluga/media/PlaybackState$PlaybackParameters;)Lkotlin/jvm/functions/Function1; } @@ -278,7 +270,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Stopped : com public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun getReinitialize ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -292,7 +283,6 @@ public final class com/splendo/kaluga/test/media/MockPlaybackState$Uninitialized public fun getPlaybackState ()Lcom/splendo/kaluga/media/PlaybackState; public fun hashCode ()I public fun initialize (Lcom/splendo/kaluga/media/MediaSource;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } diff --git a/test-utils-media/build.gradle.kts b/test-utils-media/build.gradle.kts index e34f802b1..ac5fc7101 100644 --- a/test-utils-media/build.gradle.kts +++ b/test-utils-media/build.gradle.kts @@ -1,25 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.media") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.media" + dependencies { + common { + main { api(project(":media")) api(project(":test-utils-architecture")) } } - commonTest { - dependencies { - } - } } } diff --git a/test-utils-media/src/jsMain/kotlin/MockMediaSurface.kt b/test-utils-media/src/jsMain/kotlin/MockMediaSurface.kt deleted file mode 100644 index 24d233f54..000000000 --- a/test-utils-media/src/jsMain/kotlin/MockMediaSurface.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.media - -import com.splendo.kaluga.media.MediaSurface - -/** - * Creates a Mock implementation of [MediaSurface] - */ -actual fun createMockMediaSurface(): MediaSurface = MediaSurface() diff --git a/test-utils-media/src/jvmMain/kotlin/MockMediaSurface.kt b/test-utils-media/src/jvmMain/kotlin/MockMediaSurface.kt deleted file mode 100644 index 24d233f54..000000000 --- a/test-utils-media/src/jvmMain/kotlin/MockMediaSurface.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright 2023 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.media - -import com.splendo.kaluga.media.MediaSurface - -/** - * Creates a Mock implementation of [MediaSurface] - */ -actual fun createMockMediaSurface(): MediaSurface = MediaSurface() diff --git a/test-utils-permissions/api/jvm/test-utils-permissions.api b/test-utils-permissions/api/jvm/test-utils-permissions.api deleted file mode 100644 index 5d6983fa3..000000000 --- a/test-utils-permissions/api/jvm/test-utils-permissions.api +++ /dev/null @@ -1,137 +0,0 @@ -public final class com/splendo/kaluga/test/permissions/DummyPermission : com/splendo/kaluga/permissions/base/Permission { - public static final field INSTANCE Lcom/splendo/kaluga/test/permissions/DummyPermission; - public fun equals (Ljava/lang/Object;)Z - public fun getName ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/permissions/MockBasePermissionStateRepo : com/splendo/kaluga/permissions/base/BasePermissionStateRepo { - public fun (Lcom/splendo/kaluga/permissions/base/Permission;Lkotlin/jvm/functions/Function0;ZLkotlin/coroutines/CoroutineContext;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/Permission;Lkotlin/jvm/functions/Function0;ZLkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun didDeinitialize (Lcom/splendo/kaluga/test/permissions/MockPermissionState;)V - public final fun didInitialize (Lcom/splendo/kaluga/test/permissions/MockPermissionState;)V - public final fun getCurrentMockState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState; - public final fun getDidDeinitializeMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getDidInitializeMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getPermission ()Lcom/splendo/kaluga/permissions/base/Permission; -} - -public final class com/splendo/kaluga/test/permissions/MockBasePermissionsBuilder : com/splendo/kaluga/permissions/base/BasePermissionsBuilder { - public fun ()V -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionManager : com/splendo/kaluga/permissions/base/BasePermissionManager { - public synthetic fun (Lcom/splendo/kaluga/permissions/base/Permission;JLcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ZLkotlinx/coroutines/CoroutineScope;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/Permission;JLcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;ZLkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getMonitoringDidStartMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMonitoringDidStopMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMonitoringInterval-UwyO8pc ()J - public final fun getRequestPermissionDidStartMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun grantPermission ()V - public final fun revokePermission (Z)V -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionManager$Builder { - public synthetic fun (Lcom/splendo/kaluga/permissions/base/Permission;JLcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lcom/splendo/kaluga/permissions/base/Permission;JLcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun create (Lcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lkotlinx/coroutines/CoroutineScope;)Lcom/splendo/kaluga/test/permissions/MockPermissionManager; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getCreatedManagers ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getInitialState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public final fun getMonitoringInterval-UwyO8pc ()J - public final fun getPermission ()Lcom/splendo/kaluga/permissions/base/Permission; -} - -public abstract class com/splendo/kaluga/test/permissions/MockPermissionState { - public final fun deny (Z)Lkotlin/jvm/functions/Function1; - public abstract fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public final fun getAllow ()Lkotlin/jvm/functions/Function1; - public final fun getDeinitialize ()Lkotlin/jvm/functions/Function1; - public final fun getLock ()Lkotlin/jvm/functions/Function1; - public final fun getReinitialize ()Lkotlin/jvm/functions/Function1; - public final fun getRequestMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getUnlock ()Lkotlin/jvm/functions/Function1; - public final fun initialize (ZZ)Lkotlin/jvm/functions/Function1; - public final fun request ()V -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionState$ActiveState : java/lang/Enum { - public static final field ALLOWED Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public static final field LOCKED Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public static final field REQUESTABLE Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public static fun values ()[Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionState$Allowed : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Allowed { - public fun ()V - public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionState$Deinitialized : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Deinitialized { - public fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;)V - public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionState$Initializing : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Initializing { - public fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;)V - public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionState$Locked : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Denied$Locked { - public fun ()V - public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionState$Requestable : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable { - public fun ()V - public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionState$Uninitialized : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Uninitialized { - public fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;)V - public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { - public synthetic fun (JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lcom/splendo/kaluga/test/permissions/MockPermissionManager$Builder;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (JLcom/splendo/kaluga/permissions/base/BasePermissionManager$Settings;Lcom/splendo/kaluga/test/permissions/MockPermissionManager$Builder;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getBuilder ()Lcom/splendo/kaluga/test/permissions/MockPermissionManager$Builder; - public final fun getPermissionManager ()Lcom/splendo/kaluga/test/permissions/MockPermissionManager; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionsBuilder : com/splendo/kaluga/permissions/base/PermissionsBuilder { - public fun ()V - public fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;Z)V - public synthetic fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getBluetoothStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getBuildBluetoothStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getBuildCalendarStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getBuildCameraStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getBuildContactsStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getBuildLocationStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getBuildMicrophoneStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getBuildNotificationsStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getBuildStorageStateRepos ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCalendarStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getCameraStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getContactsStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getLocationStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getMicrophoneStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getNotificationsStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getStorageStateRepoBuilderMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun registerAllPermissionsBuilders (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/permissions/MockPermissionsContextKt { - public static final fun getMockPermissionContext ()Lcom/splendo/kaluga/permissions/base/PermissionContext; -} - diff --git a/test-utils-permissions/api/androidLib/test-utils-permissions.api b/test-utils-permissions/api/test-utils-permissions.api similarity index 97% rename from test-utils-permissions/api/androidLib/test-utils-permissions.api rename to test-utils-permissions/api/test-utils-permissions.api index cccb51082..05c50649a 100644 --- a/test-utils-permissions/api/androidLib/test-utils-permissions.api +++ b/test-utils-permissions/api/test-utils-permissions.api @@ -72,37 +72,31 @@ public final class com/splendo/kaluga/test/permissions/MockPermissionState$Activ public final class com/splendo/kaluga/test/permissions/MockPermissionState$Allowed : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Allowed { public fun ()V public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/permissions/MockPermissionState$Deinitialized : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Deinitialized { public fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;)V public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/permissions/MockPermissionState$Initializing : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Initializing { public fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;)V public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/permissions/MockPermissionState$Locked : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Denied$Locked { public fun ()V public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/permissions/MockPermissionState$Requestable : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Denied$Requestable { public fun ()V public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/permissions/MockPermissionState$Uninitialized : com/splendo/kaluga/test/permissions/MockPermissionState, com/splendo/kaluga/permissions/base/PermissionState$Uninitialized { public fun (Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState;)V public fun getActiveState ()Lcom/splendo/kaluga/test/permissions/MockPermissionState$ActiveState; - public fun remain ()Lkotlin/jvm/functions/Function1; } public final class com/splendo/kaluga/test/permissions/MockPermissionStateRepo : com/splendo/kaluga/permissions/base/PermissionStateRepo { diff --git a/test-utils-permissions/build.gradle.kts b/test-utils-permissions/build.gradle.kts index 623cd7d3f..ef64afbcb 100644 --- a/test-utils-permissions/build.gradle.kts +++ b/test-utils-permissions/build.gradle.kts @@ -1,25 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.permissions") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.permissions" + dependencies { + common { + main { api(project(":test-utils-base")) api(project(":permissions")) } } - commonTest { - dependencies { - } - } } } diff --git a/test-utils-permissions/src/jsMain/kotlin/MockPermissionsContext.kt b/test-utils-permissions/src/jsMain/kotlin/MockPermissionsContext.kt deleted file mode 100644 index 47d2839ae..000000000 --- a/test-utils-permissions/src/jsMain/kotlin/MockPermissionsContext.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.permissions - -import com.splendo.kaluga.permissions.base.PermissionContext - -actual val mockPermissionContext = PermissionContext() diff --git a/test-utils-permissions/src/jvmMain/kotlin/MockPermissionsContext.kt b/test-utils-permissions/src/jvmMain/kotlin/MockPermissionsContext.kt deleted file mode 100644 index 47d2839ae..000000000 --- a/test-utils-permissions/src/jvmMain/kotlin/MockPermissionsContext.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.permissions - -import com.splendo.kaluga.permissions.base.PermissionContext - -actual val mockPermissionContext = PermissionContext() diff --git a/test-utils-resources/api/jvm/test-utils-resources.api b/test-utils-resources/api/jvm/test-utils-resources.api deleted file mode 100644 index d10b09581..000000000 --- a/test-utils-resources/api/jvm/test-utils-resources.api +++ /dev/null @@ -1,40 +0,0 @@ -public final class com/splendo/kaluga/test/resources/MockColorLoader : com/splendo/kaluga/resources/KalugaColorLoader { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getLoadColorMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun loadColor (Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer; -} - -public final class com/splendo/kaluga/test/resources/MockFontLoader : com/splendo/kaluga/resources/FontLoader { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getLoadFontMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun loadFont (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaFont;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/resources/MockImageLoader : com/splendo/kaluga/resources/ImageLoader { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getLoadImageMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun loadImage (Ljava/lang/String;Lcom/splendo/kaluga/resources/KalugaImage;)Lcom/splendo/kaluga/resources/KalugaImage; -} - -public final class com/splendo/kaluga/test/resources/MockResourcesKt { - public static final fun mockColor ()I - public static final fun mockFont ()Lcom/splendo/kaluga/resources/KalugaFont; - public static final fun mockImage ()Lcom/splendo/kaluga/resources/KalugaImage; -} - -public final class com/splendo/kaluga/test/resources/MockStringLoader : com/splendo/kaluga/resources/StringLoader { - public fun ()V - public fun (Z)V - public synthetic fun (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getLoadQuantityStringMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getLoadStringMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public fun loadQuantityString (Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; - public fun loadString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -} - diff --git a/test-utils-resources/api/androidLib/test-utils-resources.api b/test-utils-resources/api/test-utils-resources.api similarity index 100% rename from test-utils-resources/api/androidLib/test-utils-resources.api rename to test-utils-resources/api/test-utils-resources.api diff --git a/test-utils-resources/build.gradle.kts b/test-utils-resources/build.gradle.kts index 006223e30..4a6dd44cb 100644 --- a/test-utils-resources/build.gradle.kts +++ b/test-utils-resources/build.gradle.kts @@ -1,24 +1,16 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.resources") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.resources" + dependencies { + common { + main { api(project(":test-utils-base")) api(project(":resources")) } - } - commonTest { - dependencies { + test { implementation(project(":test-utils-base")) } } diff --git a/test-utils-resources/src/jsMain/kotlin/MockResources.kt b/test-utils-resources/src/jsMain/kotlin/MockResources.kt deleted file mode 100644 index 0b6c3aa76..000000000 --- a/test-utils-resources/src/jsMain/kotlin/MockResources.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.resources - -import com.splendo.kaluga.resources.KalugaFont -import com.splendo.kaluga.resources.KalugaImage -import com.splendo.kaluga.resources.KalugaColor - -actual fun mockColor(): KalugaColor = 0 -actual fun mockImage(): KalugaImage = KalugaImage() -actual fun mockFont(): KalugaFont = KalugaFont() diff --git a/test-utils-resources/src/jvmMain/kotlin/MockResources.kt b/test-utils-resources/src/jvmMain/kotlin/MockResources.kt deleted file mode 100644 index 0b6c3aa76..000000000 --- a/test-utils-resources/src/jvmMain/kotlin/MockResources.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - Copyright 2022 Splendo Consulting B.V. The Netherlands - - 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 com.splendo.kaluga.test.resources - -import com.splendo.kaluga.resources.KalugaFont -import com.splendo.kaluga.resources.KalugaImage -import com.splendo.kaluga.resources.KalugaColor - -actual fun mockColor(): KalugaColor = 0 -actual fun mockImage(): KalugaImage = KalugaImage() -actual fun mockFont(): KalugaFont = KalugaFont() diff --git a/test-utils-service/build.gradle.kts b/test-utils-service/build.gradle.kts index 6885ffc7d..35911b5a7 100644 --- a/test-utils-service/build.gradle.kts +++ b/test-utils-service/build.gradle.kts @@ -1,27 +1,19 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.service") +kaluga { + moduleName = "test.service" -dependencies { } + supportJVM = true + supportJS = true -kotlin { - sourceSets { - commonMain { - dependencies { + dependencies { + common { + main { api(project(":service")) api(project(":test-utils-base")) } } - commonTest { - dependencies { - } - } } } diff --git a/test-utils-system/api/jvm/test-utils-system.api b/test-utils-system/api/jvm/test-utils-system.api deleted file mode 100644 index cd511f432..000000000 --- a/test-utils-system/api/jvm/test-utils-system.api +++ /dev/null @@ -1,118 +0,0 @@ -public final class com/splendo/kaluga/test/system/network/MockNetworkManager : com/splendo/kaluga/system/network/NetworkManager { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)V - public synthetic fun getNetwork ()Lkotlinx/coroutines/flow/Flow; - public fun getNetwork ()Lkotlinx/coroutines/flow/MutableStateFlow; - public final fun getStartMonitoringMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public final fun getStopMonitoringMock ()Lcom/splendo/kaluga/test/base/mock/SuspendMethodMock; - public fun startMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun stopMonitoring (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkManager$Builder : com/splendo/kaluga/system/network/NetworkManager$Builder { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType;Z)V - public synthetic fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun create ()Lcom/splendo/kaluga/system/network/NetworkManager; - public final fun getBuiltNetworkManagers ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; -} - -public abstract class com/splendo/kaluga/test/system/network/MockNetworkState { - public abstract fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; -} - -public abstract class com/splendo/kaluga/test/system/network/MockNetworkState$Active : com/splendo/kaluga/test/system/network/MockNetworkState { - public final fun getDeinitialize ()Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkState$Available : com/splendo/kaluga/test/system/network/MockNetworkState$Initialized, com/splendo/kaluga/system/network/state/NetworkState$Available { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available;)V - public final fun component1 ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available; - public final fun copy (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Available; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/system/network/MockNetworkState$Available;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available;ILjava/lang/Object;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Available; - public fun equals (Ljava/lang/Object;)Z - public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available; - public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known; - public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; - public fun getUnavailable ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkState$Deinitialized : com/splendo/kaluga/test/system/network/MockNetworkState, com/splendo/kaluga/system/network/state/NetworkState$Deinitialized { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)V - public final fun copy (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Deinitialized; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/system/network/MockNetworkState$Deinitialized;Lcom/splendo/kaluga/system/network/NetworkConnectionType;ILjava/lang/Object;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Deinitialized; - public fun equals (Ljava/lang/Object;)Z - public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; - public fun getReinitialize ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public abstract class com/splendo/kaluga/test/system/network/MockNetworkState$Inactive : com/splendo/kaluga/test/system/network/MockNetworkState { -} - -public abstract class com/splendo/kaluga/test/system/network/MockNetworkState$Initialized : com/splendo/kaluga/test/system/network/MockNetworkState$Active { - public final fun available (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Available;)Lkotlin/jvm/functions/Function1; - public final fun unknown (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown$Reason;)Lkotlin/jvm/functions/Function1; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkState$Initializing : com/splendo/kaluga/test/system/network/MockNetworkState$Active, com/splendo/kaluga/system/network/state/NetworkState$Initializing { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)V - public final fun component1 ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; - public final fun copy (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Initializing; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/system/network/MockNetworkState$Initializing;Lcom/splendo/kaluga/system/network/NetworkConnectionType;ILjava/lang/Object;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Initializing; - public fun equals (Ljava/lang/Object;)Z - public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; - public fun hashCode ()I - public fun initialized (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkState$NotInitialized : com/splendo/kaluga/test/system/network/MockNetworkState$Inactive, com/splendo/kaluga/system/network/state/NetworkState$NotInitialized { - public static final field INSTANCE Lcom/splendo/kaluga/test/system/network/MockNetworkState$NotInitialized; - public fun equals (Ljava/lang/Object;)Z - public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkState$Unavailable : com/splendo/kaluga/test/system/network/MockNetworkState$Initialized, com/splendo/kaluga/system/network/state/NetworkState$Unavailable { - public static final field INSTANCE Lcom/splendo/kaluga/test/system/network/MockNetworkState$Unavailable; - public fun equals (Ljava/lang/Object;)Z - public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known$Absent; - public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known; - public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkState$Unknown : com/splendo/kaluga/test/system/network/MockNetworkState$Initialized, com/splendo/kaluga/system/network/state/NetworkState$Unknown { - public fun (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown;)V - public final fun component1 ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown; - public final fun copy (Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Unknown; - public static synthetic fun copy$default (Lcom/splendo/kaluga/test/system/network/MockNetworkState$Unknown;Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown;ILjava/lang/Object;)Lcom/splendo/kaluga/test/system/network/MockNetworkState$Unknown; - public fun equals (Ljava/lang/Object;)Z - public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Unknown; - public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; - public fun getUnavailable ()Lkotlin/jvm/functions/Function1; - public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; - public fun toString ()Ljava/lang/String; -} - -public final class com/splendo/kaluga/test/system/network/MockNetworkStateRepoBuilder : com/splendo/kaluga/system/network/state/BaseNetworkStateRepoBuilder { - public fun (Lcom/splendo/kaluga/system/network/NetworkManager$Builder;Z)V - public synthetic fun (Lcom/splendo/kaluga/system/network/NetworkManager$Builder;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun create (Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/system/network/state/BaseNetworkStateRepo; - public fun create (Lkotlin/coroutines/CoroutineContext;)Lcom/splendo/kaluga/system/network/state/NetworkStateRepo; - public final fun getBuiltNetworkStateRepo ()Lcom/splendo/kaluga/base/collections/ConcurrentMutableList; - public final fun getCreateMock ()Lcom/splendo/kaluga/test/base/mock/MethodMock; - public final fun getNetworkManagerBuilder ()Lcom/splendo/kaluga/system/network/NetworkManager$Builder; -} - diff --git a/test-utils-system/api/androidLib/test-utils-system.api b/test-utils-system/api/test-utils-system.api similarity index 96% rename from test-utils-system/api/androidLib/test-utils-system.api rename to test-utils-system/api/test-utils-system.api index cd511f432..eb8f0d3c1 100644 --- a/test-utils-system/api/androidLib/test-utils-system.api +++ b/test-utils-system/api/test-utils-system.api @@ -35,7 +35,6 @@ public final class com/splendo/kaluga/test/system/network/MockNetworkState$Avail public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; public fun getUnavailable ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -47,7 +46,6 @@ public final class com/splendo/kaluga/test/system/network/MockNetworkState$Deini public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; public fun getReinitialize ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -68,7 +66,6 @@ public final class com/splendo/kaluga/test/system/network/MockNetworkState$Initi public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; public fun hashCode ()I public fun initialized (Lcom/splendo/kaluga/system/network/NetworkConnectionType;)Lkotlin/jvm/functions/Function1; - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -77,7 +74,6 @@ public final class com/splendo/kaluga/test/system/network/MockNetworkState$NotIn public fun equals (Ljava/lang/Object;)Z public fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -88,7 +84,6 @@ public final class com/splendo/kaluga/test/system/network/MockNetworkState$Unava public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType$Known; public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } @@ -102,7 +97,6 @@ public final class com/splendo/kaluga/test/system/network/MockNetworkState$Unkno public synthetic fun getNetworkConnectionType ()Lcom/splendo/kaluga/system/network/NetworkConnectionType; public fun getUnavailable ()Lkotlin/jvm/functions/Function1; public fun hashCode ()I - public fun remain ()Lkotlin/jvm/functions/Function1; public fun toString ()Ljava/lang/String; } diff --git a/test-utils-system/build.gradle.kts b/test-utils-system/build.gradle.kts index 73f449ac1..4f5cd38e9 100644 --- a/test-utils-system/build.gradle.kts +++ b/test-utils-system/build.gradle.kts @@ -1,24 +1,15 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test.system") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test.system" + dependencies { + common { + main { api(project(":system")) api(project(":test-utils-base")) } } - commonTest { - dependencies {} - } } } diff --git a/test-utils/api/jvm/test-utils.api b/test-utils/api/jvm/test-utils.api deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-utils/api/androidLib/test-utils.api b/test-utils/api/test-utils.api similarity index 100% rename from test-utils/api/androidLib/test-utils.api rename to test-utils/api/test-utils.api diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index 004697518..46ad530ac 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -1,18 +1,12 @@ plugins { - kotlin("multiplatform") - id("jacoco") - id("convention.publication") - id("com.android.library") - id("org.jetbrains.dokka") - id("org.jmailen.kotlinter") + id("com.splendo.kaluga.plugin") } -publishableComponent("test") - -kotlin { - sourceSets { - commonMain { - dependencies { +kaluga { + moduleName = "test" + dependencies { + common { + main { api(project(":test-utils-alerts")) api(project(":test-utils-architecture")) api(project(":test-utils-base")) @@ -29,8 +23,5 @@ kotlin { api(project(":test-utils-system")) } } - commonTest { - dependencies { } - } } }