📒 NotyKT is a complete 💎Kotlin-stack (Backend + Android) 📱 application built to demonstrate the use of Modern development tools with best practices implementation🦸.

Overview

NotyKT 🖊️

Deploy (API) Build (API) Build (Android) Release

GitHub license ktlint GitHub stars GitHub forks GitHub watchers

NotyKT is the complete Kotlin-stack note taking 🖊️ application 📱 built to demonstrate a use of Kotlin programming language in server-side and Modern Android development tools. Dedicated to all Android Developers with ❤️ .

You can Install and test latest NotyKT Android app from below 👇

Noty Simple App Noty Compose App

📄 Project Documentation

Visit the documentation of this project to get more information in detail.

💡 About the Project

This project includes two subprojects:

🔹 Noty API

This is a REST API built using Ktor Framework deployed on Heroku.
Navigate to /noty-api directory to browse and know more about Noty API project.

🔹 Noty Android Application

This is an Android application which uses Noty REST API. It has application UI implementation using traditional Android's Navigation Architecture as well as modern Jetpack 🚀 Compose UI.
Navigate to /noty-android directory to browse and know more about Noty Android project.

Want to Contribute 🙋‍♂️ ?

Awesome! If you want to contribute to this project, you're always welcome! See Contributing Guidelines. You can also take a look at NotyKT's Project Status Tracker for getting more information about current or upcoming tasks.

Want to discuss? 💬

Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.

Contributors

License

Copyright 2020 Shreyas Patil

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
  • Added SavedStateHandle in ViewModel to recover save note data

    Added SavedStateHandle in ViewModel to recover save note data

    from process death.

    Used SavedStateHandle state in case of process death to resume the on-going add note operation.

    This is my first pull request, please let me know if anything is missing!

    opened by devmanishpatole 24
  • [Backend] Feature Request: Pin Notes

    [Backend] Feature Request: Pin Notes

    This is regarding feature "pinning notes" as discussed here: #534

    This also needs to be implemented on the backend side so that the state of the pinning of notes will be persisted.

    Task

    Create an API for updating the note's pin.

    API Contract

    Request

    PUT /note/<NOTE_ID>/pin
    Content-Type: application/json
    Authorization: Bearer <TOKEN>
    
    {
      "isPinned": true
    }
    

    Response

    1. When note gets pinned/unpinned successfully

    Response Code: 200

    {
      "status": "SUCCESS",
      "message": "Note is pinned/unpinned successfully",
      "noteId": <NOTE ID>
    }
    
    2. When note note exist in system

    Response Code: 404

    {
      "status": "NOT_FOUND",
      "message": "Note not exist with ID '$noteId'"
    }
    
    3. When unauthorized user tries to update note pin

    Response Code: 401

    {
      "status": "UNAUTHORIZED",
      "message": "Access denied"
    }
    
    enhancement noty-api hacktoberfest 
    opened by PatilShreyas 13
  • Test cases for Android application components

    Test cases for Android application components

    • Add Unit tests for modules data, repository, app etc.
    • Add some integrations tests for Android.
    • We can use libraries like Kotest, Mockk, etc for testing which are completely Kotlin libraries.
    priority-medium 
    opened by PatilShreyas 11
  • Defect: Progress dialog keeps running in infinite loop

    Defect: Progress dialog keeps running in infinite loop

    Steps to reproduce:

    1. Login to the app.
    2. Click on add note, navigate to add note detail screen
    3. add title, add notes, click on save
    4. navigate back to list of notes
    5. click on newly added note, navigate to note detail screen
    6. click on delete note button
    7. once note deleted, it navigates back to list of notes screen where progress dialog keeps loading indefinitely
    bug noty-android hacktoberfest 
    opened by Varsha-Kulkarni 7
  • Replace deprecated OptionsMenu with MenuProvider

    Replace deprecated OptionsMenu with MenuProvider

    Replace the usages of

    setHasOptionsMenu(Boolean): Unit
    onCreateOptionsMenu(Menu, MenuInflater): Unit
    onOptionsItemSelected(MenuItem): Boolean
    onPrepareOptionsMenu(Menu): Unit
    

    with MenuProvider

    noty-android hacktoberfest 
    opened by Varsha-Kulkarni 5
  • [Backend] Implement Feature: Pin Notes

    [Backend] Implement Feature: Pin Notes

    Summary

    Pin notes so that they will be added to priority spot, at the top for easy access, similar to Google Keep. Closes: #541

    Description for the changelog

    API Endpoint:

    PUT /note/<NOTE_ID>/pin
    Content-Type: application/json
    Authorization: Bearer <TOKEN>
    
    {
      "isPinned": true
    }
    

    Response

    1. When note gets pinned/unpinned successfully Response Code: 200
    {
      "status": "SUCCESS",
      "message": "Note is pinned/unpinned successfully",
      "noteId": <NOTE ID>
    }
    
    1. When note note exist in system Response Code: 404
    {
      "status": "NOT_FOUND",
      "message": "Note not exist with ID '$noteId'"
    }
    
    1. When unauthorized user tries to update note pin Response Code: 401
    {
      "status": "UNAUTHORIZED",
      "message": "Access denied"
    }
    

    A picture or screenshot regarding change

    https://user-images.githubusercontent.com/60615909/194336416-463f0a79-52da-4977-905e-5ed37ad7d08e.mp4

    Checklist

    • [x] Build and linting is passing.
    • [x] This change is not breaking existing flow of a system.
    • [x] I have written test case for this change.
    • [x] This change is tested from all aspects.
    • [ ] Implemented any new third-party library (Which not existed before this change).
    hacktoberfest-accepted 
    opened by mrfamouskk7 5
  • [Android] Implement API for updating Pin/Unpin state in Android app

    [Android] Implement API for updating Pin/Unpin state in Android app

    Currently, all work regarding the pin/unpin feature is completed. Just API call invocation implementation is pending from the android app side.

    Once #541 is merged, the work on this issue can be started.

    noty-android hacktoberfest Blocked 
    opened by PatilShreyas 5
  • Room database injection - Dagger hilt

    Room database injection - Dagger hilt

    Here, room database is provided through dagger hilt as a singleton in the Application component, so I think it is not required to have the singleton pattern as hilt would ensure that room database instance is a singleton.

    So it would be better to build the database in DatabaseModule itself.

        @Singleton
        @Provides
        fun provideDatabase(
            @ApplicationContext context: Context
        ) = Room.databaseBuilder(
            context.applicationContext,
            NotyDatabase::class.java,
            DB_NAME
        ).addMigrations(*DatabaseMigrations.MIGRATIONS).build()
    
    
    opened by sidhu18 5
  • [Android] Feature Request: Pin notes

    [Android] Feature Request: Pin notes

    Pin notes so that they will be added to priority spot, at the top for easy access, similar to Google Keep.

    We can further discuss about UI changes and state handling required to show these pinned notes.

    enhancement noty-android hacktoberfest 
    opened by Varsha-Kulkarni 4
  • Failed to run test NotesScreenTest

    Failed to run test NotesScreenTest

    Successfully am able to run the compose app, but the tests always fail. I am using the Android Studio Chipmunk (2021.2.1)

    java.lang.AssertionError: Activity never becomes requested state "[STARTED, CREATED, DESTROYED, RESUMED]" (last lifecycle transition = "PRE_ON_CREATE") at androidx.test.core.app.ActivityScenario.waitForActivityToBecomeAnyOf(ActivityScenario.java:338) at androidx.test.core.app.ActivityScenario.launchInternal(ActivityScenario.java:272) at androidx.test.core.app.ActivityScenario.launch(ActivityScenario.java:195) at androidx.test.ext.junit.rules.ActivityScenarioRule.lambda$new$0$ActivityScenarioRule(ActivityScenarioRule.java:70) at androidx.test.ext.junit.rules.ActivityScenarioRule$$Lambda$0.get(ActivityScenarioRule.java:70) at androidx.test.ext.junit.rules.ActivityScenarioRule.before(ActivityScenarioRule.java:103) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:50) at androidx.compose.ui.test.junit4.AndroidComposeTestRule$apply$1$evaluate$1.invoke(AndroidComposeTestRule.android.kt:148) at androidx.compose.ui.test.junit4.AndroidComposeTestRule$apply$1$evaluate$1.invoke(AndroidComposeTestRule.android.kt:147) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$AndroidComposeUiTestImpl.withDisposableContent(ComposeUiTest.android.kt:447) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$runTest$1$1$1$1$1$1$1.invoke(ComposeUiTest.android.kt:265) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.withTextInputService(ComposeUiTest.android.kt:331) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.access$withTextInputService(ComposeUiTest.android.kt:195) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$runTest$1$1$1$1$1$1.invoke(ComposeUiTest.android.kt:264) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.withComposeIdlingResource(ComposeUiTest.android.kt:318) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.access$withComposeIdlingResource(ComposeUiTest.android.kt:195) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$runTest$1$1$1$1$1.invoke(ComposeUiTest.android.kt:263) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.withWindowRecomposer(ComposeUiTest.android.kt:292) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.access$withWindowRecomposer(ComposeUiTest.android.kt:195) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$runTest$1$1$1$1.invoke(ComposeUiTest.android.kt:262) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.withTestCoroutines(ComposeUiTest.android.kt:305) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.access$withTestCoroutines(ComposeUiTest.android.kt:195) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$runTest$1$1$1.invoke(ComposeUiTest.android.kt:261) at androidx.compose.ui.test.junit4.EspressoLink.withStrategy(EspressoLink.android.kt:66) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$runTest$1$1.invoke(ComposeUiTest.android.kt:260) at androidx.compose.ui.test.junit4.IdlingResourceRegistry.withRegistry(IdlingResourceRegistry.jvm.kt:157) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment$runTest$1.invoke(ComposeUiTest.android.kt:259) at androidx.compose.ui.test.junit4.ComposeRootRegistry.withRegistry(ComposeRootRegistry.android.kt:146) at androidx.compose.ui.test.AndroidComposeUiTestEnvironment.runTest(ComposeUiTest.android.kt:258) at androidx.compose.ui.test.junit4.AndroidComposeTestRule$apply$1.evaluate(AndroidComposeTestRule.android.kt:147) at dev.shreyaspatil.noty.composeapp.rule.WorkManagerRule$apply$1.evaluate(WorkManagerRule.kt:39) at dagger.hilt.android.internal.testing.MarkThatRulesRanRule$1.evaluate(MarkThatRulesRanRule.java:108) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56) at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:444) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2205)

    hacktoberfest 
    opened by tmstaedt 4
  • [ComposeApp] Improve UI for dark mode

    [ComposeApp] Improve UI for dark mode

    Summary

    1. Dark mode improvements in Login and Signup
    2. Fix Clipping of Card Shadow in About page

    Description for the changelog

    A picture or screenshot regarding change

    image

    image

    image

    Checklist

    • [x] Build and linting is passing.
    • [x] This change is not breaking existing flow of a system.
    • [ ] I have written test case for this change. (not required)
    • [x] This change is tested from all aspects.
    • [ ] Implemented any new third-party library (Which not existed before this change).

    closes #282 , closes #286

    noty-android hacktoberfest hacktoberfest-accepted 
    opened by yogeshpaliyal 4
  • [Android]: Bump kotlinVersion from 1.7.20 to 1.8.0 in /noty-android

    [Android]: Bump kotlinVersion from 1.7.20 to 1.8.0 in /noty-android

    Bumps kotlinVersion from 1.7.20 to 1.8.0. Updates kotlin-gradle-plugin from 1.7.20 to 1.8.0

    Release notes

    Sourced from kotlin-gradle-plugin'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 kotlin-gradle-plugin'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

    Updates kotlin-stdlib from 1.7.20 to 1.8.0

    Release notes

    Sourced from kotlin-stdlib'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 kotlin-stdlib'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 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 daggerVersion from 2.44.1 to 2.44.2 in /noty-api

    [API]: Bump daggerVersion from 2.44.1 to 2.44.2 in /noty-api

    Bumps daggerVersion from 2.44.1 to 2.44.2. Updates dagger from 2.44.1 to 2.44.2

    Release notes

    Sourced from dagger's releases.

    Dagger 2.44.2

    What’s new in Dagger

    Bug fixes

    • Fixes #3633: Updated shading rules to include newly added classes in androidx.room.compiler to prevent class version conflicts with user dependency on Room.
    Commits
    • 35a18c4 2.44.2 release
    • 94118a2 Shade androidx.room.compiler dependencies in Dagger.
    • 633059f Fix GitHub Actions deprecation warnings.
    • 3019090 Update Dagger yml and README with new latest version number.
    • See full diff in compare view

    Updates dagger-compiler from 2.44.1 to 2.44.2

    Release notes

    Sourced from dagger-compiler's releases.

    Dagger 2.44.2

    What’s new in Dagger

    Bug fixes

    • Fixes #3633: Updated shading rules to include newly added classes in androidx.room.compiler to prevent class version conflicts with user dependency on Room.
    Commits
    • 35a18c4 2.44.2 release
    • 94118a2 Shade androidx.room.compiler dependencies in Dagger.
    • 633059f Fix GitHub Actions deprecation warnings.
    • 3019090 Update Dagger yml and README with new latest version number.
    • See full diff in compare view

    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 logback-classic from 1.4.4 to 1.4.5 in /noty-api

    [API]: Bump logback-classic from 1.4.4 to 1.4.5 in /noty-api

    Bumps logback-classic from 1.4.4 to 1.4.5.

    Commits
    • 34a6efc preparfe release 1.4.5
    • 0d3ac63 fix LOGBACK-1698, [Nested appenders are not allowed] warning using SiftingApp...
    • a64b8d4 make jakarta.servlet-api as both provided and optional
    • 114b3de bump slf4j version
    • 1df6662 fix LOGBACK-1706
    • ea165fb fix LOGBACK-1703
    • 9e07bd0 fix LOGBACK-1703
    • a871e9f minor edits in README.md
    • 7dc0ce5 Merge pull request #605 from Zardoz89/patch-1
    • 7130dfe README.md MUST inform about Java & Jackarta EE support
    • 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
  • [Android]: Bump kover from 0.5.1 to 0.6.1 in /noty-android

    [Android]: Bump kover from 0.5.1 to 0.6.1 in /noty-android

    Bumps kover from 0.5.1 to 0.6.1.

    Release notes

    Sourced from kover's releases.

    0.6.1

    Features

    • Implemented filtering of reports by annotation (#121)
    • Minimal and default agent versions upgraded to 1.0.683

    Bugfixes

    • Added filtering out projects without a build file (#222)
    • Added JaCoCo reports filtering (#220)
    • Fixed coverage for function reference (#148)
    • Fixed incorrect multiplatform lookup adapter (#193)
    • Fixed ArrayIndexOutOfBoundsException during class instrumentation (#166)

    Internal features

    • Upgraded Gradle version to 7.5.1
    • Rewritten functional tests infrastructure
    • Added example projects
    • XML and HTML report generation moved to Kover Aggregator

    Documentation

    • Added contribution guide
    • Added section Building and contributing into Table of contents
    • Fix migration to 0.6.0 documentation

    0.6.0

    Note that this is a full changelog relative to 0.6.0 version. Changelog relative to 0.6.0-Beta can be found at the changelog file.

    In this version, the plugin API has been completely redesigned. The new API allows you to configure Kover in a more flexible manner, there is no need to configure Kover or test tasks separately.

    Please refer to migration guide in order to migrate from previous versions.

    Features

    • Implemented a new plugin API (#19)
    • Added support of instruction and branch counters for verification tasks (#128)
    • Ordered report tasks before verification tasks (#209)
    • Minimal and default agent versions upgraded to 1.0.680

    Bugfixes

    • Verification task is no longer executed if there are no rules (#168)
    • Added instrumentation filtering by common filters (#201)
    • Fixed instrumentation counter in IntelliJ verifier (#210, #211, #212)

    Internal features

    • Kotlin version upgraded to 1.7.10
    • instrumentation config added to the test framework
    • added test on instrumentation config

    Documentation

    • Updated docs for onCheck properties (#213)

    ... (truncated)

    Changelog

    Sourced from kover's changelog.

    0.6.1 / 2022-10-03

    Features

    • Implemented filtering of reports by annotation (#121)
    • Minimal and default agent versions upgraded to 1.0.683

    Bugfixes

    • Added filtering out projects without a build file (#222)
    • Added JaCoCo reports filtering (#220)
    • Fixed coverage for function reference (#148)
    • Fixed incorrect multiplatform lookup adapter (#193)
    • Fixed ArrayIndexOutOfBoundsException during class instrumentation (#166)

    Internal features

    • Upgraded Gradle version to 7.5.1
    • Rewritten functional tests infrastructure
    • Added example projects
    • XML and HTML report generation moved to Kover Aggregator

    Documentation

    • Added contribution guide
    • Added section Building and contributing into Table of contents
    • Fix migration to 0.6.0 documentation

    0.6.0 / 2022-08-23

    Note that this is a full changelog relative to 0.6.0 version. Changelog relative to 0.6.0-Beta can be found at the end of the changelog.

    In this version, the plugin API has been completely redesigned. The new API allows you to configure Kover in a more flexible manner, there is no need to configure Kover or test tasks separately.

    Please refer to migration guide in order to migrate from previous versions.

    Features

    • Implemented a new plugin API (#19)
    • Added support of instruction and branch counters for verification tasks (#128)
    • Ordered report tasks before verification tasks (#209)
    • Minimal and default agent versions upgraded to 1.0.680

    Bugfixes

    • Verification task is no longer executed if there are no rules (#168)
    • Added instrumentation filtering by common filters (#201)
    • Fixed instrumentation counter in IntelliJ verifier (#210, #211, #212)

    Internal features

    • Kotlin version upgraded to 1.7.10
    • instrumentation config added to the test framework
    • added test on instrumentation config

    Documentation

    ... (truncated)

    Commits
    • 24a0188 Release 0.6.1
    • 8734c77 Minimal and default agent versions upgraded to 1.0.683
    • 3dc8702 Fixed incorrect multiplatform lookup adapter
    • 562d11c Add Android example project
    • 55173f6 Implemented filtering of reports by annotation
    • 1d75e05 Fix migration to 0.6.0 documentation
    • d72c49d Added example projects
    • 798dc69 Added section Building and contributing into Table of contents
    • da53779 Added contribution guide
    • 633aebf Added JaCoCo reports filtering
    • 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 postgresql from 42.3.1 to 42.5.1 in /noty-api

    [API]: Bump postgresql from 42.3.1 to 42.5.1 in /noty-api

    Bumps postgresql from 42.3.1 to 42.5.1.

    Changelog

    Sourced from postgresql's changelog.

    Changelog

    Notable changes since version 42.0.0, read the complete History of Changes.

    The format is based on Keep a Changelog.

    [Unreleased]

    Changed

    Added

    Fixed

    [42.5.1] (2022-11-21 15:21:59 -0500)

    Security

    • security: StreamWrapper spills to disk if setText, or setBytea sends very large Strings or arrays to the server. createTempFile creates a file which can be read by other users on unix like systems (Not macos). This has been fixed in this version fixes CVE-2022-41946 see the security advisory for more details. Reported by Jonathan Leitschuh This has been fixed in versions 42.5.1, 42.4.3 42.3.8, 42.2.27.jre7. Note there is no fix for 42.2.26.jre6. See the security advisory for work arounds.

    Fixed

    [42.5.0] (2022-08-23 11:20:11 -0400)

    Changed

    [42.4.2] (2022-08-17 10:33:40 -0400)

    Changed

    • fix: add alias to the generated getUDT() query for clarity (PR #2553)[https://github-redirect.dependabot.com/pgjdbc/pgjdbc/pull/2553]

    Added

    Fixed

    • fix: regression with GSS. Changes introduced to support building with Java 17 caused failures [Issue #2588](pgjdbc/pgjdbc#2588)
    • fix: set a timeout to get the return from requesting SSL upgrade. [PR #2572](pgjdbc/pgjdbc#2572)
    • feat: synchronize statement executions (e.g. avoid deadlock when Connection.isValid is executed from concurrent threads)

    [42.4.1] (2022-08-01 16:24:20 -0400)

    Security

    • fix: CVE-2022-31197 Fixes SQL generated in PgResultSet.refresh() to escape column identifiers so as to prevent SQL injection.
      • Previously, the column names for both key and data columns in the table were copied as-is into the generated SQL. This allowed a malicious table with column names that include statement terminator to be parsed and executed as multiple separate commands.
      • Also adds a new test class ResultSetRefreshTest to verify this change.
      • Reported by Sho Kato

    ... (truncated)

    Commits
    • 9008dc9 Merge pull request from GHSA-562r-vg33-8x8h
    • 135be5a chore: bump Checkstyle to 9.3
    • 1d7465a chore: bump Gradle to 7.5.1
    • 4743ccf minor: Update the LeftCurly according to the updation in checkstyle
    • d5ed52e chore: add .git-blame-ignore-revst to hide reformatting commits from GitHub b...
    • 98c04a0 exclude ArrayTest versions less than 9.1 (#2645)
    • 9f90de9 revert change to PGProperty.get() to keep the API the same (#2644)
    • ee06e22 Feature/urlparser improve3 pr1 (#2641)
    • 56a487c fix: binary decoding of bool values (#2640)
    • b738991 remove javadoc links for java 17 and above (#2637)
    • 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
  • [CI] Setup CI workflow for running Android-ComposeApp UI tests

    [CI] Setup CI workflow for running Android-ComposeApp UI tests

    Description

    Currently, only unit tests are executed on push or pull_request events. It would be nice to execute UI tests (of compose app) module as well.

    Criteria for workflow

    • The workflow should run on push and pull-request event.
    • Should only run when Android project's directory source is changed.

    Task steps

    Once above criteria is met, run the following commands

    ./gradlew :app:composeapp:connectedCheck
    

    Solution

    For running emulator on CI, following action utility can be useful: https://github.com/ReactiveCircus/android-emulator-runner

    hacktoberfest codebase-improvements 
    opened by PatilShreyas 5
Releases(v2.1.1)
  • v2.1.1(Jan 1, 2023)

    This release includes minor fixes in the application. There are no major changes in the client application
    In the backend API, Migrated hosting of backend API service from Heroku to Railway.app

    🎯Codebase Improvements

    • Upgraded Gradle tooling and other dependency versions.
    • Updated Android Target API version to 33 (Android 13).
    • Use the separate version of Compose and Compose Compiler.
    • Migrated from Accompanist's SwipeRefresh to Material SwipeRefresh.

    Full Changelog: https://github.com/PatilShreyas/NotyKT/compare/v2.1.0...v2.1.1

    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(19.14 MB)
    noty-android-simple.apk(9.17 MB)
  • v2.1.0(Oct 25, 2022)

    This release includes new feature and some fixes in the application.

    🔮 What's New?

    • [#534] Added feature: Pinning note.

    Many thanks to superstar contributors of this feature:

    • @Varsha-Kulkarni for proposing this feature and implementing this for Android.
    • @mrfamouskk7 for developing API for this feature (#541).
    • @tyaporush for implementing API in Android application (#543).

    🐛 Bug Fixes

    • [#535] Fix bug: Keyboard retains after navigating back from Add Note or Note detail screen by @Varsha-Kulkarni.
    • [#536] Fix bug: Progress dialog keeps running in infinite loop by @Varsha-Kulkarni

    🎯 Improvements

    • [#473] Fix failing UI test cases by @tusharpingale04
    • [#547] Replace deprecated OptionsMenu with MenuProvider by @Varsha-Kulkarni
    • [#551] Support password visibility/invisibility toggle button for Password fields in Compose app by @tusharpingale04.
    • [#554] [Backend] Use Hikari DataSource for Database connection pooling by @mrfamouskk7.

    Many Thanks to superstar ⭐ contributors for making NotyKT better in this Hacktoberfest


    Full Changelog: https://github.com/PatilShreyas/NotyKT/compare/v2.0.0...v2.1.0

    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(18.20 MB)
    noty-android-simple.apk(8.74 MB)
  • v2.0.0(Feb 20, 2022)

  • v1.3.2(Nov 30, 2021)

    This release includes a few improvements and fixes in the Jetpack Compose and Simple Application to make them better. All features mentioned below are contributed by @kasem-sm

    🐛 Bug Fixes

    • [#329] Fix crashes when user clicks logout (in Simple App).
    • [#337] Fix not able to add note again once already added.

    ✅ Improvements

    • [#338] Show confirmation dialog on note deletion and logout in Simple app.
    • [#339] Fixed Save note button hides behind the keyboard in note detail and add new note screen.
    • [#336] Improved touch region for icons in compose app.
    • [#336] Changed background colour at About Screen to match with the background colour at Note Detail Screen.
    • [#336] Improved style of text fields for notes in Compose app.

    🎯 Codebase Improvements

    • Replaced lifecycleScope.launch with viewLifecycleOwner.lifecycleScope.
    • Refactored Noty Dialogs's ConfirmationDialog to use Default AlertDialog composable instead of Default Dialog composable.

    Many Thanks to superstar ⭐ contributor @kasem-sm for contributing and for making this project better!

    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(18.77 MB)
    noty-android-simple.apk(8.23 MB)
  • v1.3.1(Nov 16, 2021)

    This release includes few improvements and fixes in the Jetpack Compose Application to make it better.

    🐛 Bug Fixes

    • [#281] Earlier, After signup, navigating back takes to log in screen. Now it closes the app.
    • [#282] Show proper cards with proper shadow in About screen. (Contributed by @yogeshpaliyal)
    • [#284] Removed focus (cursor) from fields while sharing image of a note. (Contributed by @yogeshpaliyal)
    • [#286] Improved dark mode visibility. (Contributed by @yogeshpaliyal)
    • [#294] Earlier, flickering (recompositions) were happening after performing navigation through screens.

    ✅ Improvements

    • [#280] Provided helper message for input fields like username and password for better UX in Login/Signup screens.
    • [#283] Improved touch region area of note input fields. (Contributed by @yogeshpaliyal)
    • [#287] Show confirmation dialog before deleting a note.
    • [#297] Show confirmation dialog before logging out.

    🎯 Codebase Improvements

    • Used decorationBox property of Composable TextField to show/hide placeholder instead of manually handling in a box.
    • Removed jcenter() from Gradle repositories (Contributed by @sairajsawant)

    Many Thanks to superstar ⭐ contributors @yogeshpaliyal, @sairajsawant for contributing PRs and @kasem-sm for raising issues

    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(18.70 MB)
    noty-android-simple.apk(8.15 MB)
  • v1.3.0(Oct 24, 2021)

    This release includes a new feature and some fixes in the Jetpack Compose Application.

    🔮 What's New?

    • [#119] Added support in the Jetpack Compose app to Share note as an Image (Contributed by @ch8n).

    ✅ Bug Fixes / Improvements

    • Fixed saving/syncing note information

    🎯 Codebase Improvements

    • Extracted out common used utility code of composeapp and simpleapp into a common utility functions.
    • Created a common @Composable component Capturable for capturing composable component in the form of a Bitmap.
    • Updated Jetpack Compose to 1.0.4 and Kotlin version to 1.5.31.

    Many Thanks to superstar ⭐ contributor @ch8n for the PR

    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(18.66 MB)
    noty-android-simple.apk(8.13 MB)
  • v1.2.0(Aug 30, 2021)

    This release includes User experience improvements in the Jetpack Compose Application. Minor fixes in Simple app.

    🔮 What's New?

    • [#209] Added connectivity indicator in compose app.

    ✅ Bug Fixes / Improvements

    • [#202] Fixed continuous flickering issue after Signup/Login in compose app.
    • [#203] Avoided/Fixed re-syncing of notes after configuration changes in compose app.

    🎯 Codebase Improvements

    • [#201] Optimized APK size by enabling R8.
    • [#206] Fixed memory leak of mAdapter in simple app.
    • Set flag android:exported="true" for Activity to support Android 12 and above.
    • Provide content padding to LazyColumn (to achieve same behavior as clipToPadding in RecyclerView).
    • Cleaned up code.
    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(18.61 MB)
    noty-android-simple.apk(8.10 MB)
  • v1.1.0(Aug 6, 2021)

    This release includes User experience improvements in the Jetpack Compose Application. No change in simple app.

    🔮 What's New?

    • [#117] Added screen: About for the details regarding application.
    • [#118] Added Swipe to refresh support in Notes screen to re-load the notes.

    ✅ Bug Fixes / Improvements

    All below fixes and improvements are done in the Compose application.

    • [#117] Clear all previous screens from backstack after successful login/signup.
    • [#117] Added validation for input text fields in Login and Signup screen.
    • [#120] Fix Background of Login screen in Dark mode (Earlier, it's not supporting dark theme well)
    • [#151] Added transition while navigating through the screens.
    • [#196] Avoid re-syncing notes every time whenever notes screen is launched (after returning to notes screen from other screens like About or note details).
    • [#197] Improved UI/UX of the input Text fields throughout the application.
    • Fix: Back button pressed in note details screen creates new Notes screen instead of going back.

    🎯 Codebase Improvements

    • [#117] Create re-usable Composable components to reduce the repetitive code.
    • Using the stable release of Jetpack Compose 1.0.1 with Kotlin 1.5.21.
    • Renamed color components of theme.
    • Use Hilt Compose navigation.
    • Cleaned up code, refactored classes and composable methods.
    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(18.60 MB)
    noty-android-simple.apk(7.94 MB)
  • v1.0.0(Feb 7, 2021)

    This release includes major changes and improvements.

    🔮 What's New?

    • [#15] Implemented App UI with Jetpack Compose UI toolkit.

    ✅ Bug Fixes / Improvements

    • Fix crash when pressed back from Note details.

    🎯 Codebase Improvements

    • [#15] Added module for Jetpack Compose implementation: :app:composeapp.
    • Migrated to the latest version of Dagger 2.31.2.
    • Use Hilt Assisted Injection for ViewModel and WorkManager.
    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(15.58 MB)
    noty-android-simple.apk(7.44 MB)
  • v0.1.1(Dec 6, 2020)

    This release includes some minor fixes and improvements.

    🔮 What's New?

    • [#88] Added menu for sharing note content as Image to external apps. Now there're be two sub-menus for sharing menu i.e. 'Share as Text' and 'Share as Image'
    • [#92] Added dialogs for showing loading progress or errors for better understanding with interactive animations.

    ✅ Bug Fixes / Improvements

    • [#90] Username field was earlier taking multi-line inputs. This has been fixed and it only takes single-line input.

    🎯 Codebase Improvements

    • [#81] Migrated from LiveData to Flow in ViewModels. This has been implemented so that we can effectively manage states in future when integrated with Jetpack Compose UI.
    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(7.53 MB)
    noty-android-simple.apk(7.38 MB)
  • v0.1.0(Nov 29, 2020)

  • v0.0.2(Nov 7, 2020)

    This release includes some fixes and improvements

    🔮 What's New?

    • [#54] Added About screen in the application with app details.

    ✅ Bug Fixes / Improvements

    • [#59] Layout of Login and Register was lying above the status bar.
    • [#56] Note content layout in Add/details was not smooth to handle. Now it's flexible with smooth Scroll-ability.
    • [#53] Shared message (When sharing note to external apps) content was not valid.
    Source code(tar.gz)
    Source code(zip)
    noty-android-compose.apk(4.61 MB)
    noty-android-simple.apk(5.60 MB)
  • v0.0.1(Oct 29, 2020)

Owner
Shreyas Patil
👨‍🎓 IT Undergrad 📱 Mobile App Developer ❤️Android 🌎Web Developer ⚙️Open Source Enthusiast 👨‍💻Organizer @KotlinMumbai
Shreyas Patil
REST countries sample app that loads information from REST countries API V3 to show an approach to using some of the best practices in Android Development.

MAJORITY assignment solution in Kotlin via MVVM Repository Pattern. REST countries sample app that loads information from REST countries API V3 to sho

Rehan Sarwar 1 Nov 8, 2022
📚 Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.

Android Components Architecture in a Modular Word Android Components Architecture in a Modular Word is a sample project that presents modern, 2020 app

Madalin Valceleanu 2.3k Jan 4, 2023
🚀 Sample Android Clean Architecture on JetRorty App focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack with Compose.

Android Clean Architecture in Rorty is a sample project that presents modern, approach to Android application development using Kotlin and latest tech-stack.

Mr.Sanchez 114 Dec 26, 2022
Sample Android Clean Architecture on App focused on written in Kotlin, following best practices using Jetpack with Compose.

Rick And Morty Jetpack Compose Sample App Table of Contents About the Project Architecture Features Environment Setup Contact About The Project This S

Mert Toptas 132 Jan 2, 2023
An awesome list that curates the best KMM libraries, tools and more.

Awesome KMM Kotlin Multiplatform Mobile (KMM) is an SDK designed to simplify creating cross-platform mobile applications. With the help of KMM, you ca

Konstantin 994 Dec 28, 2022
🔖 A Quotes Application built to Demonstrate the Compose for Desktop UI

A Quotes Application built to Demonstrate the use of Jetpack Compose for building declarative UI in Desktop

Sanju S 60 Sep 9, 2022
Valtimo backend implementation template

Valtimo-backend-implementation-template Requirements Ensure docker desktop is in

Valtimo 1 Feb 7, 2022
CleanArchitecture is a sample project that presents a modern, 2021 approach to Android application development.

CleanArchitecture is a sample project that presents a modern, 2021 approach to Android application development. The goal of the pro

Shushant tiwari 0 Nov 13, 2021
The most complete and powerful data-binding library and persistence infra for Kotlin 1.3, Android & Splitties Views DSL, JavaFX & TornadoFX, JSON, JDBC & SQLite, SharedPreferences.

Lychee (ex. reactive-properties) Lychee is a library to rule all the data. ToC Approach to declaring data Properties Other data-binding libraries Prop

Mike 112 Dec 9, 2022
This repository is part of a Uni-Project to write a complete Compiler for a subset of Java.

Compiler This repository is part of a Uni-Project to write a complete Compiler for a subset of Java. Features error recovery using context sensitive a

null 3 Jan 10, 2022
Sample application to demonstrate Multi-module Clean MVVM Architecture and usage of Android Hilt, Kotlin Flow, Navigation Graph, Unit tests etc.

MoneyHeist-Chars Sample application to demonstrate Multi-module Clean MVVM Architecture and usage of Android Hilt, Kotlin Flow, Navigation Graph, Room

Hisham 20 Nov 19, 2022
🪐 Modern Android development with Hilt, Coroutines, Flow, JetPack(ViewModel) based on MVVM architecture.

Ceres ?? Modern Android development with Hilt, Coroutines, Flow, JetPack(ViewModel) based on MVVM architecture. Download Gradle Add the dependency bel

Teodor G. 21 Jan 11, 2023
Small lib for recovering stack trace in exceptions thrown in Kotlin coroutines

Stacktrace-decoroutinator Library for recovering stack trace in exceptions thrown in Kotlin coroutines. Supports JVM(not Android) versions 1.8 or high

null 104 Dec 24, 2022
Ethereum Web3 implementation for mobile (android & ios) Kotlin Multiplatform development

Mobile Kotlin web3 This is a Kotlin MultiPlatform library that ... Table of Contents Features Requirements Installation Usage Samples Set Up Locally C

IceRock Development 32 Aug 26, 2022
👋 A common toolkit (utils) ⚒️ built to help you further reduce Kotlin boilerplate code and improve development efficiency. Do you think 'kotlin-stdlib' or 'android-ktx' is not sweet enough? You need this! 🍭

Toolkit [ ?? Work in progress ⛏ ?? ??️ ?? ] Snapshot version: repositories { maven("https://s01.oss.sonatype.org/content/repositories/snapshots") }

凛 35 Jul 23, 2022
This is a demo android app representing implementation of SE principles in android app development

Articles Demo This repository contains a sample Android App that shows most popular articles data from NY Times API. This is a sample app that shows h

Waesem Abbas 2 Jan 20, 2022
Android app using Kotlin to manage to-do notes with firebase as backend service

TO-DO Manager TO-DO Manager is a simple note management app. Unlike other apps, TO-DO Manager is free and open source. You can access your nots from a

Ahmed Badr 3 Dec 10, 2022
🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

???? 中文 / ???? 日本語 / ???? English ?? Debug Bottle An Android debug / develop tools written using Kotlin language. All the features in Debug bottle are

Yuriel Arlencloyn 846 Nov 14, 2022
KaMP Kit by Touchlab is a collection of code and tools designed to get your mobile team started quickly with Kotlin Multiplatform.

KaMP Kit Welcome to the KaMP Kit! About Goal The goal of the KaMP Kit is to facilitate your evaluation of Kotlin Multiplatform (aka KMP). It is a coll

Touchlab 1.7k Jan 3, 2023