App built using Kotlin, Dagger Hilt, Room Database, Coroutines, Flow, AndroidX Glance, WorkManager, Coil etc.

Overview

Header Image

Slime Build (Android) Slime Build (API) Slime Heroku Deployment

GitHub stars GitHub watchers

Android Weekly

Introduction 🙋‍♂️

An article sharing platform where you can personalize, subscribe to your favorite topics, get daily-read reminders, explore new authors, and share your articles. App built using Kotlin, Dagger Hilt, Room Database, Coroutines, Flow, AndroidX Glance, WorkManager, Coil etc.

Documentation 📚

Documentation

We have prepared a detailed guide on every feature, API route, and project structure. Please visit here to know more about the same. Additionally, every major folder, such as /api and /features, contains short documentation in the Github repository itself.

Repository overview 📂

SlimeKT has its backend built with Ktor. The folder /api consists of our backend deployed on Heroku. SlimeKT Android application resides inside of the /app folder.

App Architecture Diagram

It follows the recommended app architecture as stated in official Android documentation

App Architecture

Sample, Screenshots and Demo 📱

Slime APK

Screenshot Board 1

Screenshot Board 2

For more screenshots and screen-recording demo, please visit our documentation.

What's next

SlimeKT is a Work In Progress project and there are several features/ideas which are yet to be implemented. You can help us on our journey by contributing your skills. Please checkout our Contribution Guide for more.

Tech stack / Miscellaneous Features 🚀

  • Kotlin, Jetpack Compose, Work Manager, Glance API, Material You, Coroutines, Flow, Accompanist, Navigation Component, Ktor, Room Database, Coil, Dagger Hilt, Mockk etc.
  • Observer Pattern: Data from the cache would be shown while new data is fetched from the server. Newly retrieved data gets updated immediately on the screen.
  • WorkManager: App uses WorkManager API to update user's subscriptions and to fetch Daily Read articles.
  • AndroidX Glance: Daily Read Widget with the power of Jetpack Compose.
  • Material You: On Android 12 and above, you can have custom theme based on your device wallpaper.

Please visit the documentation of this project for detailed information.

Project Setup Guide

Android App

You need to have Android Studio Bumblebee or Dolphin to set up this project locally. After downloading all the requirements, please import the project into Android Studio, build the project, and click Run.

Backend (API)

You need to have IntelliJ IDEA and MongoDB Compass installed. After downloading all the requirements, please import the /api module into IntelliJ IDEA, build the project and click the Run icon beside main function in Application.kt file.

Test Cases (Android app)

Current Testing status - https://kasem-sm.github.io/SlimeKT/tests/status/

Contribution Guide and Contributors 👷‍♂️

There are no special rules for contributing your expertise and making the open-source community more powerful. Just don't forget to file an issue or start a discussion so that I may not be surprised when you create a pull request. Running spotlessApply before creating a pull request would be cherry on the cake.

  • Special thanks to our contributors:

Medium Articles related to this project 🖋

  1. SlimeKT - Kotlin Powered open source project. (Android app with Ktor backend)
  2. Android’s IME Actions: Don’t ignore them. Read here
  3. Create Animated PlaceHolder for your Jetpack Compose text fields Read here
  4. When Jetpack's Glance met his fellow worker, WorkManager (Coming soon)

More articles by kasem-sm on Medium.

Find this project useful? 💖

Support it by starring this repository. Join our Stargazers team!

Contact 🤙

Direct Messages on My Twitter are always open. If you have any questions related to SlimeKT or Android development, ping me anytime!

Credits 💎

  • Tivi by chrisbanes - A divine project for me to explore. I refer to this project as Gold 🥇 .
  • Gabor Varadi - He is always willing to answer my questions. A great man and a blessing to the Android community (AKA, the SavedStateHandle preacher).
  • Doris Liu and Manuel Vivo - They always help review my code snippets and add their value to them.
  • Hadi - Assisted me in improving the modularized structure of this project.

License

Copyright 2022 Kasem S.M

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.
Comments
  • Swapped navigation to Jetpack Compose Destinations

    Swapped navigation to Jetpack Compose Destinations

    I've downgraded the compose version to 1.2 in order to use the Jetpack Compose Destinations library. I've tried to make it as much scalable as possible. Let me know if I had violated the project structure or any other clean code. I'll correct and will create another pull request.

    enhancement 
    opened by rvenky125 23
  • Migrate to versions catalog

    Migrate to versions catalog

    This PR updates the project setup to add a dependency versions catalog and update the configuration based on the new catalog. I have split the changes to three separate commits to aid with the code review.

    Some notes -

    1. I have tried my best to use bundles but in the Gradle files but there are no major benefits as bundles could include only 1 or 2 dependencies.
    2. I had to bump up the jvmargs as the compiler was throwing a out of memory exception. Happy to revert the changes if it is not acceptable.
    3. I have updated some of the dependencies to their latest versions and removed some duplicates.
    4. We could convert the Groovy-based build.gradle files into Kotlin script in the future.

    I have compiled the app with Android Studio Dolphin | 2021.3.1.Patch1 and tested on a Pixel 6/Android 12 device.

    Could you please review the changes?

    Closes #155

    opened by indyfromoz 4
  • Fix #190: Validation register

    Fix #190: Validation register

    Added register screen validation with supporting text. I did not think it was a good practice or not here, just wanted to try. Feel free to share your opinion. I didn't write those test cases. I'll write them again if this was merged. Thank you.

    opened by rvenky125 4
  • [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.22-1.0.8

    [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.22-1.0.8

    Bumps com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.22-1.0.8.

    Release notes

    Sourced from com.google.devtools.ksp's releases.

    1.7.22-1.0.8

    KSP 1.0.8 for Kotlin 1.7.22

    1.7.21-1.0.8

    KSP 1.0.8 for Kotlin 1.7.21

    1.7.20-1.0.8

    Issues Fixed

    • fixed nested java class resolution for more cases.
    • #1153 isMutable is always true for fields in Java source
    • K/N: fix duplicated compilation

    contributors

    @​cdsap @​3flex

    1.7.20-1.0.7

    Behavior Changes

    blockOtherPlugins is on by default. The old behavior (allowing other plugins to be loaded in KSP's Gradle task) is deprecated and will be removed in the future.

    New Features

    #1041 A new CodeGenerator.createFile method with more flexibility

    Issues Fixed

    #167 nullability for java sources ignores annotations #897 Compatibility with Kotlin/Native compiler plugins #974 Exceptions are swallowed when using withCompilation flag #985 No "kotlin.ExtensionFunctionType" annotation on functional types with receivers #989 NoSuchElementException when getting a default argument of the inner annotation type #997 Incremental KSP fails in Java/Kotlin mixed module #1011 Generic TypeAliases Parameter are not consistent resolved #1034 After updating to KSP 1.7.0, Missing information occurs in some cases that are configured in Java. #1039 Support class extraction provided by annotation #1063 Memory leak: org.sqlite.JDBC holds classloader of KSP

    Contributors

    Thank you for the pull requests! @​Jeffset @​midery @​jameskleeh @​Bencodes @​heli-os

    Commits
    • 26b7a0e UPDATE_KOTLIN_VERSION: 1.7.22
    • 9c06151 Revert "Revert "UPDATE_KOTLIN_VERSION: 1.7.21""
    • b23654e Revert "Revert "UPDATE_KOTLIN_VERSION: 1.7.20""
    • 1330eeb Revert "Revert "UPDATE_KOTLIN_VERSION: 1.7.20-Beta""
    • 6219cb5 Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-446"""
    • 708e760 Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-1390"""
    • 5f96d74 Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-1593"""
    • 6ca8e2d Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-2355"""
    • ec9ce4f Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-2355"""
    • 490a518 Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-2355"""
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [API]: Bump jvm from 1.7.10 to 1.7.22 in /api

    [API]: Bump jvm from 1.7.10 to 1.7.22 in /api

    Bumps jvm from 1.7.10 to 1.7.22.

    Release notes

    Sourced from jvm's releases.

    Kotlin 1.7.22

    This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21. Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.

    Checksums

    File Sha256
    kotlin-compiler-1.7.22.zip 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83
    kotlin-native-linux-x86_64-1.7.22.tar.gz dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff
    kotlin-native-macos-x86_64-1.7.22.tar.gz 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5
    kotlin-native-macos-aarch64-1.7.22.tar.gz 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e
    kotlin-native-windows-x86_64-1.7.22.zip 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92

    Kotlin 1.7.21

    Changelog

    Compiler

    • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
    • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
    • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
    • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
    • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
    • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays

    Native. Runtime. Memory

    • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful

    Tools. Gradle. Multiplatform

    • KT-54387 Remove MPP alpha stability warning
    • KT-48436 False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"

    Tools. JPS

    • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation

    Checksums

    File Sha256

    ... (truncated)

    Changelog

    Sourced from jvm's changelog.

    1.7.21

    Compiler

    • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
    • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
    • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
    • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
    • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
    • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays

    Native. Runtime. Memory

    • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful

    Tools. Gradle. Multiplatform

    • KT-54387 Remove MPP alpha stability warning
    • KT-48436 False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"

    Tools. JPS

    • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation

    1.7.20

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    ... (truncated)

    Commits
    • be3c5a5 Instruction for building 1.7.21 release
    • 80eb82a Instructions for building 1.7.20 release
    • cb51803 Scripts for building Kotlin repository
    • 7784d10 Change bootstrap to 1.7.21-release-254
    • e7f77e9 Keep track of array types in OptimizationBasicInterpreter
    • 7deaab9 Edit changelog for 1.7.21
    • 0b49dc2 Fix binary compatibility for inlined local delegated properies
    • 90b3e21 Advance bootstrap to 1.7.21
    • c55a197 Edit changelog for 1.7.21
    • b1b18c2 Add regression test for KT-54707
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [API]: Bump org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.7.22 in /api

    [API]: Bump org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.7.22 in /api

    Bumps org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.7.22.

    Release notes

    Sourced from org.jetbrains.kotlin.plugin.serialization's releases.

    Kotlin 1.7.22

    This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21. Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.

    Checksums

    File Sha256
    kotlin-compiler-1.7.22.zip 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83
    kotlin-native-linux-x86_64-1.7.22.tar.gz dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff
    kotlin-native-macos-x86_64-1.7.22.tar.gz 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5
    kotlin-native-macos-aarch64-1.7.22.tar.gz 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e
    kotlin-native-windows-x86_64-1.7.22.zip 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92

    Kotlin 1.7.21

    Changelog

    Compiler

    • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
    • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
    • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
    • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
    • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
    • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays

    Native. Runtime. Memory

    • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful

    Tools. Gradle. Multiplatform

    • KT-54387 Remove MPP alpha stability warning
    • KT-48436 False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"

    Tools. JPS

    • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation

    Checksums

    File Sha256

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.

    1.7.21

    Compiler

    • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
    • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
    • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
    • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
    • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
    • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays

    Native. Runtime. Memory

    • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful

    Tools. Gradle. Multiplatform

    • KT-54387 Remove MPP alpha stability warning
    • KT-48436 False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"

    Tools. JPS

    • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation

    1.7.20

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    ... (truncated)

    Commits
    • be3c5a5 Instruction for building 1.7.21 release
    • 80eb82a Instructions for building 1.7.20 release
    • cb51803 Scripts for building Kotlin repository
    • 7784d10 Change bootstrap to 1.7.21-release-254
    • e7f77e9 Keep track of array types in OptimizationBasicInterpreter
    • 7deaab9 Edit changelog for 1.7.21
    • 0b49dc2 Fix binary compatibility for inlined local delegated properies
    • 90b3e21 Advance bootstrap to 1.7.21
    • c55a197 Edit changelog for 1.7.21
    • b1b18c2 Add regression test for KT-54707
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [API]: Bump com.diffplug.spotless from 6.9.0 to 6.12.0 in /api

    [API]: Bump com.diffplug.spotless from 6.9.0 to 6.12.0 in /api

    Bumps com.diffplug.spotless from 6.9.0 to 6.12.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.21-1.0.8

    [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.21-1.0.8

    Bumps com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.21-1.0.8.

    Release notes

    Sourced from com.google.devtools.ksp's releases.

    1.7.21-1.0.8

    KSP 1.0.8 for Kotlin 1.7.21

    1.7.20-1.0.8

    Issues Fixed

    • fixed nested java class resolution for more cases.
    • #1153 isMutable is always true for fields in Java source
    • K/N: fix duplicated compilation

    contributors

    @​cdsap @​3flex

    1.7.20-1.0.7

    Behavior Changes

    blockOtherPlugins is on by default. The old behavior (allowing other plugins to be loaded in KSP's Gradle task) is deprecated and will be removed in the future.

    New Features

    #1041 A new CodeGenerator.createFile method with more flexibility

    Issues Fixed

    #167 nullability for java sources ignores annotations #897 Compatibility with Kotlin/Native compiler plugins #974 Exceptions are swallowed when using withCompilation flag #985 No "kotlin.ExtensionFunctionType" annotation on functional types with receivers #989 NoSuchElementException when getting a default argument of the inner annotation type #997 Incremental KSP fails in Java/Kotlin mixed module #1011 Generic TypeAliases Parameter are not consistent resolved #1034 After updating to KSP 1.7.0, Missing information occurs in some cases that are configured in Java. #1039 Support class extraction provided by annotation #1063 Memory leak: org.sqlite.JDBC holds classloader of KSP

    Contributors

    Thank you for the pull requests! @​Jeffset @​midery @​jameskleeh @​Bencodes @​heli-os

    Commits
    • 8bf4a97 Revert "Revert "UPDATE_KOTLIN_VERSION: 1.7.21""
    • 572497a Revert "UPDATE_KOTLIN_VERSION: 1.7.21"
    • 001fd33 format ktlint
    • 3576878 retrieving commandlinearguments from ksptasks in apoptions
    • 474d852 UPDATE_KOTLIN_VERSION: 1.7.21
    • 6ef5fa7 Explicitly set root project name
    • dd75a5a Don't auto-merge AA commits
    • 52c1fad K/N: fix duplicated compilation
    • ddf5c51 fix 2 misuse of non cached constructor of KSConstructorSyntheticImpl
    • e099473 final Java fields should not be mutable.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [API]: Bump jvm from 1.7.10 to 1.7.21 in /api

    [API]: Bump jvm from 1.7.10 to 1.7.21 in /api

    Bumps jvm from 1.7.10 to 1.7.21.

    Release notes

    Sourced from jvm's releases.

    Kotlin 1.7.20

    1.7.20

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser
    • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
    • KT-51665 FIR: implement label resolve for "typed this" case
    • KT-52361 Report warning on potentially empty intersection types

    Performance Improvements

    • KT-47816 Disable script discovery for non-script environments
    • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
    • KT-23397 Optimize out field for property delegate when it's safe (JVM)

    Fixes

    • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
    • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
    • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
    • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class

    ... (truncated)

    Changelog

    Sourced from jvm's changelog.

    1.7.20

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser
    • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
    • KT-51665 FIR: implement label resolve for "typed this" case
    • KT-52361 Report warning on potentially empty intersection types

    Performance Improvements

    • KT-47816 Disable script discovery for non-script environments
    • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
    • KT-23397 Optimize out field for property delegate when it's safe (JVM)

    Fixes

    • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
    • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
    • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
    • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
    • KT-53019 K2: cannot cast callable reference to Function1 in runtime

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [API]: Bump org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.7.21 in /api

    [API]: Bump org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.7.21 in /api

    Bumps org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.7.21.

    Release notes

    Sourced from org.jetbrains.kotlin.plugin.serialization's releases.

    Kotlin 1.7.20

    1.7.20

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser
    • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
    • KT-51665 FIR: implement label resolve for "typed this" case
    • KT-52361 Report warning on potentially empty intersection types

    Performance Improvements

    • KT-47816 Disable script discovery for non-script environments
    • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
    • KT-23397 Optimize out field for property delegate when it's safe (JVM)

    Fixes

    • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
    • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
    • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
    • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.

    1.7.20

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser
    • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
    • KT-51665 FIR: implement label resolve for "typed this" case
    • KT-52361 Report warning on potentially empty intersection types

    Performance Improvements

    • KT-47816 Disable script discovery for non-script environments
    • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
    • KT-23397 Optimize out field for property delegate when it's safe (JVM)

    Fixes

    • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
    • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
    • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
    • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
    • KT-53019 K2: cannot cast callable reference to Function1 in runtime

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.20-1.0.8

    [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.20-1.0.8

    Bumps com.google.devtools.ksp from 1.7.20-1.0.6 to 1.7.20-1.0.8.

    Release notes

    Sourced from com.google.devtools.ksp's releases.

    1.7.20-1.0.8

    Issues Fixed

    • fixed nested java class resolution for more cases.
    • #1153 isMutable is always true for fields in Java source
    • K/N: fix duplicated compilation

    contributors

    @​cdsap @​3flex

    1.7.20-1.0.7

    Behavior Changes

    blockOtherPlugins is on by default. The old behavior (allowing other plugins to be loaded in KSP's Gradle task) is deprecated and will be removed in the future.

    New Features

    #1041 A new CodeGenerator.createFile method with more flexibility

    Issues Fixed

    #167 nullability for java sources ignores annotations #897 Compatibility with Kotlin/Native compiler plugins #974 Exceptions are swallowed when using withCompilation flag #985 No "kotlin.ExtensionFunctionType" annotation on functional types with receivers #989 NoSuchElementException when getting a default argument of the inner annotation type #997 Incremental KSP fails in Java/Kotlin mixed module #1011 Generic TypeAliases Parameter are not consistent resolved #1034 After updating to KSP 1.7.0, Missing information occurs in some cases that are configured in Java. #1039 Support class extraction provided by annotation #1063 Memory leak: org.sqlite.JDBC holds classloader of KSP

    Contributors

    Thank you for the pull requests! @​Jeffset @​midery @​jameskleeh @​Bencodes @​heli-os

    Commits
    • 572497a Revert "UPDATE_KOTLIN_VERSION: 1.7.21"
    • 001fd33 format ktlint
    • 3576878 retrieving commandlinearguments from ksptasks in apoptions
    • 474d852 UPDATE_KOTLIN_VERSION: 1.7.21
    • 6ef5fa7 Explicitly set root project name
    • dd75a5a Don't auto-merge AA commits
    • 52c1fad K/N: fix duplicated compilation
    • ddf5c51 fix 2 misuse of non cached constructor of KSConstructorSyntheticImpl
    • e099473 final Java fields should not be mutable.
    • a7ace3f disable aa on release branch
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [API]: Bump com.diffplug.spotless from 6.9.0 to 6.12.1 in /api

    [API]: Bump com.diffplug.spotless from 6.9.0 to 6.12.1 in /api

    Bumps com.diffplug.spotless from 6.9.0 to 6.12.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.8.0-1.0.8

    [Android]: Bump com.google.devtools.ksp from 1.7.20-1.0.6 to 1.8.0-1.0.8

    Bumps com.google.devtools.ksp from 1.7.20-1.0.6 to 1.8.0-1.0.8.

    Release notes

    Sourced from com.google.devtools.ksp's releases.

    1.8.0-1.0.8

    KSP 1.0.8 for Kotlin 1.8.0.

    1.8.0-RC2-1.0.8

    KSP 1.0.8 for Kotlin 1.8.0-RC2

    1.8.0-RC-1.0.8

    KSP 1.0.8 for Kotlin 1.8.0-RC

    1.8.0-Beta-1.0.8

    This is KSP 1.0.8 release for kotlin 1.8.0-Beta

    1.7.22-1.0.8

    KSP 1.0.8 for Kotlin 1.7.22

    1.7.21-1.0.8

    KSP 1.0.8 for Kotlin 1.7.21

    1.7.20-1.0.8

    Issues Fixed

    • fixed nested java class resolution for more cases.
    • #1153 isMutable is always true for fields in Java source
    • K/N: fix duplicated compilation

    contributors

    @​cdsap @​3flex

    1.7.20-1.0.7

    Behavior Changes

    blockOtherPlugins is on by default. The old behavior (allowing other plugins to be loaded in KSP's Gradle task) is deprecated and will be removed in the future.

    New Features

    #1041 A new CodeGenerator.createFile method with more flexibility

    Issues Fixed

    #167 nullability for java sources ignores annotations #897 Compatibility with Kotlin/Native compiler plugins #974 Exceptions are swallowed when using withCompilation flag #985 No "kotlin.ExtensionFunctionType" annotation on functional types with receivers #989 NoSuchElementException when getting a default argument of the inner annotation type #997 Incremental KSP fails in Java/Kotlin mixed module #1011 Generic TypeAliases Parameter are not consistent resolved #1034 After updating to KSP 1.7.0, Missing information occurs in some cases that are configured in Java. #1039 Support class extraction provided by annotation #1063 Memory leak: org.sqlite.JDBC holds classloader of KSP

    Contributors

    Thank you for the pull requests! @​Jeffset

    ... (truncated)

    Commits
    • 1a1818b UPDATE_KOTLIN_VERSION: 1.8.0
    • 9daa5e4 Setup module name according to Kotlin 1.8.0-RC2
    • d71fb83 UPDATE_KOTLIN_VERSION: 1.8.0-RC2
    • ceddc19 UPDATE_KOTLIN_VERSION: 1.8.0-RC
    • 490f129 Setup module name for KGP correctly
    • c20fff2 Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-Beta""
    • 01268fe Revert "Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-2843""""
    • d7726dc Revert "Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-2355""""
    • 0e51c14 Revert "Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-2355""""
    • 221ade5 Revert "Revert "Revert "Revert "UPDATE_KOTLIN_VERSION: 1.8.0-dev-2355""""
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [API]: Bump jvm from 1.7.10 to 1.8.0 in /api

    [API]: Bump jvm from 1.7.10 to 1.8.0 in /api

    Bumps jvm from 1.7.10 to 1.8.0.

    Release notes

    Sourced from jvm's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend

    ... (truncated)

    Changelog

    Sourced from jvm's changelog.

    1.8.0

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [API]: Bump org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.8.0 in /api

    [API]: Bump org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.8.0 in /api

    Bumps org.jetbrains.kotlin.plugin.serialization from 1.7.10 to 1.8.0.

    Release notes

    Sourced from org.jetbrains.kotlin.plugin.serialization's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.

    1.8.0

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(v2.4)
  • v2.4(Oct 6, 2022)

  • v2.3(Jul 31, 2022)

  • v2.2(Jul 30, 2022)

    What's Changed

    • Swapped navigation to Jetpack Compose Destinations by @rvenky125 in https://github.com/kasem-sm/SlimeKT/pull/184
    • Fix #187. Cleanups + Updated compose and other dependencies to latest version. by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/188

    New Contributors

    • @rvenky125 made their first contribution in https://github.com/kasem-sm/SlimeKT/pull/184

    Full Changelog: https://github.com/kasem-sm/SlimeKT/compare/v2.1...v2.2

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(5.42 MB)
  • v2.1(Jul 22, 2022)

  • v2.0(Jun 18, 2022)

  • v1.0(May 31, 2022)

    What's Changed

    • Removed unused files/resources, code cleanup by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/112
    • feat: add gradle task for modularization graph visualization by @nirmaljeffrey in https://github.com/kasem-sm/SlimeKT/pull/126
    • Fixes #123. App crashes when google-service.json is missing. by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/127
    • Project Structure Improvements by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/130
    • Make ./gradlew executable by @esafirm in https://github.com/kasem-sm/SlimeKT/pull/104
    • [Android] Migrate to Ktor 2.0 by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/132
    • Fix subscription related minor issues. by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/136
    • Fixed Inconsistent package name across modules by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/138
    • Added Compose UI Tests for home screen. by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/139
    • Misc Cleanups by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/145
    • Change update mechanism of DailyReadWidget.kt by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/148

    New Contributors

    • @nirmaljeffrey made their first contribution in https://github.com/kasem-sm/SlimeKT/pull/126
    • @esafirm made their first contribution in https://github.com/kasem-sm/SlimeKT/pull/104

    Full Changelog: https://github.com/kasem-sm/SlimeKT/compare/v0.31.0.4041...v1.0

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(3.86 MB)
  • v0.31.0.4041(May 9, 2022)

  • v0.29.0.3962(May 1, 2022)

  • v0.25.0.3930(Apr 25, 2022)

  • v0.22.0.3850(Apr 21, 2022)

    What's Changed

    • 41/bookmark feature by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/90
    • Updated compose version and cleanups by @kasem-sm in https://github.com/kasem-sm/SlimeKT/pull/91

    Full Changelog: https://github.com/kasem-sm/SlimeKT/commits/v0.22.0.3850

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(3.65 MB)
Owner
Kasem SM
Freelance Android Developer
Kasem SM
MVVM ,Hilt DI ,LiveData ,Flow ,SharedFlow ,Room ,Retrofit ,Coroutine , Navigation Component ,DataStore ,DataBinding , ViewBinding, Coil

RickMorty This is a simple app which has been implemented using Clean Architecture alongside MVVM design to run (online/offline) using : [ MVVM ,Hilt

Ali Assalem 13 Jan 5, 2023
A clean architecture example. Using Kotlin Flow, Retrofit and Dagger Hilt, etc.

android-clean-architecture A clean architecture example. Using Kotlin Flow, Retrofit and Dagger Hilt, etc. Intro Architecture means the overall design

Prieyudha Akadita S. 69 Dec 21, 2022
Clean Android multi-module offline-first scalable app in 2022. Including Jetpack Compose, MVI, Kotlin coroutines/Flow, Kotlin serialization, Hilt and Room.

Android Kotlin starter project - 2022 edition Android starter project, described precisely in this article. Purpose To show good practices using Kotli

Krzysztof Dąbrowski 176 Jan 3, 2023
🦁 A Disney app using transformation motions based on MVVM (ViewModel, Coroutines, Flow, LiveData, Room, Repository, Koin) architecture.

DisneyMotions A demo Disney app using transformation motions based on MVVM architecture. The motion system is included in the 1.2.0-alpha05 released m

Jaewoong Eum 1.4k Jan 2, 2023
🛒 Mercado Libre App Clone using modern Android development with Hilt, Coroutines, Jetpack (Room, ViewModel), and Jetpack Compose based on MVVM architecture.

Meli Clone ?? Mercado Libre App Clone using modern Android development with Hilt, Coroutines, Jetpack (Room, ViewModel), and Jetpack Compose based on

Esteban Aragon 7 Sep 22, 2022
🗡️ Deddit demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack, and Material Design based on MVVM architecture

Deddit demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (ViewModel,Paging3), and Material Design based on MVVM

Krish Parekh 9 Sep 2, 2022
A simple ToDo Task Manager App made in Kotlin using Room DataBase.

ToDo List App ?? About A simple To-Do List Management App that helps you get things done. Built with Kotlin, it helps the user to add their task. User

Tanya Gupta 17 Dec 12, 2022
Showify is a my first simple ✅ Android application 📱 using DI, where I learn how to use dagger-hilt, retrofit2, mvvm, livedata, Requestly Interceptor

Showify is a my first simple ✅ Android application ?? using DI, where I learn how to use dagger-hilt, retrofit2, mvvm, livedata, Requestly Interceptor and so much more...

MOHIT GUPTA 1 Jun 21, 2022
A Modern Kotlin-Ktor RESTful API example. Connects to a PostgreSQL database and uses Exposed framework for database operations.

kotlin-ktor-rest-api A Modern Kotlin-Ktor RESTful API example. Connects to a PostgreSQL database and uses Exposed framework for database operations. F

Selim Atasoy 32 Dec 20, 2022
FlowExt is a Kotlin Multiplatform library, that provides many operators and extensions to Kotlin Coroutines Flow

FlowExt | Kotlinx Coroutines Flow Extensions | Kotlinx Coroutines Flow Extensions. Extensions to the Kotlin Flow library | kotlin-flow-extensions | Coroutines Flow Extensions | Kotlin Flow extensions | kotlin flow extensions | Flow extensions

Petrus Nguyễn Thái Học 151 Jan 1, 2023
Sample demonstrates use of Flow, StateFlow & how we can test Flow

FlowSample This sample demonstrates use of Flow, StateFlow & how we can test Flow. In Kotlin, Coroutine is just the scheduler part of RxJava but now w

null 0 Oct 24, 2021
Dagger-Hilt

DaggerHilt Dagger-Hilt in this Repo i have demonstrated the use of the following in android Kotlin Dagger2 Room Persistence Retrofit2 MVI / MVVM Archi

Mohamed Dekow 2 Apr 8, 2022
My own approach to what I think an Android MVVM project with Clean Architecture should look like with Dagger-Hilt as Dependency Injector engine

MVVM Project Hilt Introducción Este proyecto es mi visión particular, ni mejor ni peor (sólo una más) que cualquier otra aproximación a lo que yo enti

Antonio Fdez. Alabarce 7 Dec 16, 2022
Sample for the Androidx Biometrics Library

Android BiometricLogin Sample (Kotlin) Sample for the Androidx Biometrics Library Introduction This is the canonical sample that demonstrates how to i

Darlington Kupeta 1 Apr 15, 2022
Android Kotlin+ MVVM + Retrofit2 + Room +Dagger2 + Coroutines + Junit4 + Espresso + Mockito + MockWebServer

Movies-TMDB Android Kotlin+ MVVM + Retrofit2 + Room +Dagger2 + Coroutines + Junit4 + + Espresso + Mockito + MockWebServer Movies-TMDB Android Movies-T

kavin 2 Oct 24, 2022
Movie Android App written in Kotlin, MVVM, Clean Architechture, Modularized, Coroutines, Android Architecture Components and Hilt

Movie Android App written in Kotlin, MVVM, Clean Architechture, Modularized, Coroutines, Android Architecture Components and Hilt.

Klejvi Kapaj 16 Dec 27, 2022
Modular Android architecture which showcase Kotlin, MVVM, Navigation, Hilt, Coroutines, Jetpack compose, Retrofit, Unit test and Kotlin Gradle DSL.

SampleCompose Modular Android architecture which showcase Kotlin, MVVM, Navigation, Hilt, Coroutines, Jetpack compose, Retrofit, Unit test and Kotlin

Mohammadali Rezaei 7 Nov 28, 2022
Basic application that uses Retrofit, Moshi and Coil libraries to parse data from web API

DogAlbum_Api_CodeThrough Basic application that uses Retrofit, Moshi and Coil libraries to parse data from web API This folder contains the completed

Ayana Bando 0 Nov 9, 2021