Android-livedata-validation - DataBinding ViewModel form validation library for Android ♻

Overview

Title


Download Releases Bintray API Language PRWelcome Twitter

Support/Features

  • Supports TextView, EditText, AppCompatEditText, TextInputEditText, TextInputLayout and CheckBox
  • Combine different types of error messages (String, StringRes, Number...)
  • Validation is done in view model using databinding

🔽 Getting started

Download

Gradle:

implementation 'com.forntoh:android-livedata-validation:1.2.0'

Usage

1. Make your ViewModel to extend ValidatorViewModel

class MainViewModel : ValidatorViewModel() {
  ...
  val firstName = MutableLiveData("")
  val lastName = MutableLiveData("")
  ...

2. Initialize the validator in your Fragment/Activity

LiveDataValidator(requireContext()).observe {
    lifecycleOwner(viewLifecycleOwner)
    viewModel(viewModel)
    attachTo(binding.root)
}

3. Override the validate function

Add rules to the validator

/**
 * Add LiveData and Rules to widget
 *
 * @param data    LiveData holding the info to be validated
 * @param viewId  Widget ID on which validation will be applied
 * @param rule    Rules to applied on Widget data
 */
fun <T> addField(data: LiveData<T>, @IdRes viewId: Int, vararg rule: BaseRule)

example

override fun validate() {
    validator
        .addField(firstName, R.id.firstNameEt, NotEmptyRule("First name required"))
        .addField(
            phoneNumber, R.id.phoneNumberEt,
            NumberRule("Must be numbers"),
            NotEmptyRule("Please enter Phone Number"),
            LengthRangeRule.Builder()
                .minLength(3)
                .maxLength(10)
                .error("Please enter valid Phone Number")
                .build()
        )
        .addField(
            email, R.id.emailEtLyt,
            NotEmptyRule("Please enter Email"),
            EmailRule(R.string.error_invalid_email)
        )
        .addField(
            password, R.id.passwordEtLyt,
            NotEmptyRule("Please enter Password"),
            PasswordRule(PasswordPattern.ALPHA_NUMERIC, "Please provide strong Password")
        )
        .addField(
            confirmPassword,
            R.id.confirmPasswordEtLyt,
            NotEmptyRule("Please enter Password"),
            EqualRule(password, "Password and Confirm password must match")
        )
        .addField(haveAcceptTerms, R.id.termsOfUseCB, CheckedRule("Accept terms of use"))
}

4. Bind fields to layout

android:text="@={viewmodel.firstName}"

You can also bind the state of the validation to a button by doing the following

android:enabled="@{viewmodel.validator.isDataValid}"

Available Rules 📏 :

🔃 FunctionRule 🌟

// NEW in 1.2.0: YOU CAN USE THIS FOR EVERYTHING 🤩🤩
// 
// valueHolder: MutalbeLiveData<String>
.addField(
    valueHolder, R.id.functionTIL,
    FunctionRule("Function returned false") {
        val isCorrect = // Do your validation here
        return@FunctionRule isCorrect
    }
)

CheckedRule (Used with CheckBox only)

// haveAcceptTerms: MutalbeLiveData<Boolean>
addField(haveAcceptTerms, R.id.termsOfUseCB, CheckedRule("Accept terms of use"))

📧 EmailRule

// email: MutalbeLiveData<String>
addField(email, R.id.emailEtLyt, EmailRule("Please enter valid Email"))

EqualRule

// confirmPassword,password: MutalbeLiveData<String>
addField(confirmPassword, R.id.confirmPasswordEtLyt,
         EqualRule(password, "Password and Confirm password must match"))

🔢 NumberRule

// phoneNumber: MutalbeLiveData<String>
addField(phoneNumber, R.id.phoneNumberEt, NumberRule("Must be numbers"))

🆚 NumberCompareRule

// amount: MutalbeLiveData<String>
// balance: MutalbeLiveData<Number> = MutalbeLiveData(0)
addField(
    amount, R.id.amountTIL,
    NumberCompareRule(Is.GREATER_THAN, balance, "Must be above zero")
)

You can also append multiple error messages

// amount: MutalbeLiveData<String>
// balance: MutalbeLiveData<Number>
//
// R.string.error_amount_more_than = "is more than amount present in"
addField(
    amount, R.id.amountTIL,
    NumberCompareRule(Is.GREATER_THAN, balance,
     /*error args*/ amount, R.string.error_amount_more_than, "Balance:", balance)
)
// Result: XXX is more than amount present in Balance: YYY

🚮 NonEmptyRule

// firstName: MutalbeLiveData<String>
addField(firstName, R.id.firstNameEt, NotEmptyRule("First name required"))

🔑 PasswordRule

// Password can have alphanumeric and symbol characters
addField(password, R.id.passwordEtLyt, PasswordRule("Please provide strong Password"))
// Password should be alphanumeric only eg abc123
addField(password, R.id.passwordEtLyt, PasswordRule(PasswordPattern.ALPHA_NUMERIC,
"Please provide strong Password"))

#️⃣ RegexRule

addField(usernameEditText, RegexRule(RegexRule.USERNAME_PATTERN, "Please enter valid Username"))
addField(usernameEditText, RegexRule("^[a-zA-Z0-9_-]{3,16}",  "Please enter valid Username"))

License

Copyright 2020, Forntoh Thomas

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
  • Bump material from 1.4.0-alpha01 to 1.4.0

    Bump material from 1.4.0-alpha01 to 1.4.0

    Bumps material from 1.4.0-alpha01 to 1.4.0.

    Release notes

    Sourced from material's releases.

    1.4.0

    What's new since 1.3.0

    • NavigationRailView (Docs)
    • Motion theming (Docs)

    Other highlights

    • Support for centered titles in MaterialToolbar (cbf528e3a6deaa2bc39d0836b3a850b27c2ada49)
    • Max width for MaterialButtons (eb5453cd7ee0cc8e0610b57d39b44b26cd95f31e)
    • Max width for BottomSheets (63d01aa2686d56b165e9131265a449d810359695)
    • Updated edge-to-edge support for BottomSheet (c15139a5c3f685ff8c0e64857fdac4b2afc49abc) (b163458a3a7919d7b7c76de81a7a9b5c940c8def) (c574e9ea23a6f54f7e0582495f9a9d3691b6af22) (28c3254d2a9d51a76ef25aa245a6a140536bcdb6)
    • TextField's collapsed hint background no longer overlap with the field's background color (6015a4e901dc55a02f86e12703820d520684f95e)

    Dependency Updates

    Dependency Previous version New version
    compileSdkVersion 29 30
    androidx.core 1.2.0 1.5.0

    Full list of changes

    https://github.com/material-components/material-components-android/compare/1.3.0...1.4.0

    1.4.0-rc01

    Dependency Updates

    Dependency Previous version New version
    androidx.core 1.5.0-rc01 1.5.0

    Library Updates

    • CollapsingToolbarLayout
      • Fixed RTL text only laying out as RTL when actual text is RTL. (72b0c39ca01388713ead773e8b48034437f196bb)
      • Added experimental setRtlTextDirectionHeuristicsEnabled() method. (5af36434cf1234f382095319bed58ad4a1e71c65)
      • Fix title fade mode collapsing title position errors. (bab907f08e9af6522b3632934808885be418e796)
    • TextAppearance
      • Added a TextAppearanceConfig.shouldLoadFontSynchronously() check to allow forcing synchronous font loading for edge cases. (4e45c2cd202afa03b6ce47dfe508bc5f86652041)

    Full list of changes

    https://github.com/material-components/material-components-android/compare/1.4.0-beta01...1.4.0-rc01

    1.4.0-beta01

    Compile SDK Version changed to API 30.

    Dependency Updates

    Dependency Previous version New version
    androidx.core 1.2.0 1.5.0-rc01

    ... (truncated)

    Commits
    • 1b36365 [CollapsingToolbarLayout] Added option to add extra height when title text sp...
    • 245ffe7 [CollapsingToolbarLayout] Added option to force always applying system window...
    • 6f28838 [CollapsingToolbarLayout] Fixed multiline RTL collapsed title text position
    • 3a76417 Update library version to 1.4.0
    • 5af3643 [CollapsingToolbarLayout] Added experimental setRtlTextDirectionHeuristicsEna...
    • bab907f [TopAppBar] Fix title fade mode collapsing title position errors.
    • 4e45c2c [TextAppearance] Added a TextAppearanceConfig.shouldLoadFontSynchronously() c...
    • d78235f [Gradle] Updated androidx.core dependency from 1.5.0-rc01 to 1.5.0 stable
    • 72b0c39 [CollapsingToolbarLayout] Fixed RTL text only laying out as RTL when actual t...
    • a096515 Updated library version to 1.4.0-rc01
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump gradle from 4.1.2 to 4.2.2

    Bump gradle from 4.1.2 to 4.2.2

    Bumps gradle from 4.1.2 to 4.2.2.

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump kotlin_version from 1.4.31 to 1.5.20

    Bump kotlin_version from 1.4.31 to 1.5.20

    Bumps kotlin_version from 1.4.31 to 1.5.20. Updates kotlin-gradle-plugin from 1.4.31 to 1.5.20

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests
    • KT-44995 FIR: false positive for ANNOTATION_ARGUMENT_MUST_BE_CONST
    • KT-45010 FIR: lambda arguments of inapplicable call is not resolved
    • KT-45048 FIR bootstrap: VerifyError on KtUltraLightClass

    ... (truncated)

    Commits
    • 282fd2c Move 1.4.x changelog to a separate file
    • d2a196c Add changelog for 1.5.20
    • 4ac3753 Restore removed 'kotlinPluginVersion' property.
    • eec6efb Use proper applicability for constraint warnings
    • dc8fa06 rrr/1.5.20-release/ayalyshev/change-notes
    • 2ffcc16 Add regression test for MPP android source set with resources
    • 679e768 Fix adding non-directory to resources for Android source set
    • 6b8cae2 Add workaround for compiler downloader for 1.5.20 release binaries
    • 7d180b8 Treat toolchain as input only for JVM tasks.
    • a5e1ec9 Revert "Warn on using 'jdkHome' option in Gradle builds."
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.31 to 1.5.20

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests
    • KT-44995 FIR: false positive for ANNOTATION_ARGUMENT_MUST_BE_CONST
    • KT-45010 FIR: lambda arguments of inapplicable call is not resolved
    • KT-45048 FIR bootstrap: VerifyError on KtUltraLightClass

    ... (truncated)

    Commits
    • 282fd2c Move 1.4.x changelog to a separate file
    • d2a196c Add changelog for 1.5.20
    • 4ac3753 Restore removed 'kotlinPluginVersion' property.
    • eec6efb Use proper applicability for constraint warnings
    • dc8fa06 rrr/1.5.20-release/ayalyshev/change-notes
    • 2ffcc16 Add regression test for MPP android source set with resources
    • 679e768 Fix adding non-directory to resources for Android source set
    • 6b8cae2 Add workaround for compiler downloader for 1.5.20 release binaries
    • 7d180b8 Treat toolchain as input only for JVM tasks.
    • a5e1ec9 Revert "Warn on using 'jdkHome' option in Gradle builds."
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump fragment-ktx from 1.3.0 to 1.3.5

    Bump fragment-ktx from 1.3.0 to 1.3.5

    Bumps fragment-ktx from 1.3.0 to 1.3.5.

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump material from 1.4.0-alpha01 to 1.4.0-rc01

    Bump material from 1.4.0-alpha01 to 1.4.0-rc01

    Bumps material from 1.4.0-alpha01 to 1.4.0-rc01.

    Release notes

    Sourced from material's releases.

    1.4.0-rc01

    Dependency Updates

    Dependency Previous version New version
    androidx.core 1.5.0-rc01 1.5.0

    Library Updates

    • CollapsingToolbarLayout
      • Fixed RTL text only laying out as RTL when actual text is RTL. (72b0c39ca01388713ead773e8b48034437f196bb)
      • Added experimental setRtlTextDirectionHeuristicsEnabled() method. (5af36434cf1234f382095319bed58ad4a1e71c65)
      • Fix title fade mode collapsing title position errors. (bab907f08e9af6522b3632934808885be418e796)
    • TextAppearance
      • Added a TextAppearanceConfig.shouldLoadFontSynchronously() check to allow forcing synchronous font loading for edge cases. (4e45c2cd202afa03b6ce47dfe508bc5f86652041)

    Full list of changes

    https://github.com/material-components/material-components-android/compare/1.4.0-beta01...1.4.0-rc01

    1.4.0-beta01

    Compile SDK Version changed to API 30.

    Dependency Updates

    Dependency Previous version New version
    androidx.core 1.2.0 1.5.0-rc01

    Library Updates

    • NavigationBarView
      • Moves OnNavigationItem listeners to the NavigationBarView class (0ad4a8df9b9285885ec2ce1c7fbe197e6c8a3e59)
    • TextInputLayout
      • Fixed cutout padding so text field outline doesn't overlap collapsed hint. (1c7b75fe1761175d0e580b15e0889c11d7759c75)
    • MaterialButton
      • Updated Material Button style to set the preferred maximum width to 320dp. (eb5453cd7ee0cc8e0610b57d39b44b26cd95f31e)
    • Documentation
      • Improving navigation rail documentation. (dabdef988de5cdf4a8be7a54b8c59052d16eec2a)
    • CollapsingToolbarLayout
      • Updated fade mode to allow expanded title to translate 1:1 with scrolling content. (1445e6df6e76de42ca7e11ef8f3f7a6db95d3ea1)
      • Added title line spacing and hyphenation frequency setters (3ea60e6ebb6fddb58c50e5606a8b1fef62484d0b)
      • Fixed multiline animation for fade title collapse mode (a29c93a598ee77eb7ef3ca9afec4bd4730d5a62d)
      • Updated default multiline hyphenation frequency to StaticLayout.HYPHENATION_FREQUENCY_NORMAL (2c45dcca0069c4e8cee2c2d4bb2ce01b1564913f)
      • Added support for multiline RTL when using fade title mode (ffef9f6e39ea39b4a6873d440d8809dc7d905a56)
      • Added getLineCount() method (c9f7a61fa4d19f591acafe63ec685df8ed111d07)
    • BottomAppBar
      • change cornersize to float to avoid truncation errors (7ffa57191506c84312cb3f8caeda6cadc88fc6be)
    • BottomSheet
      • read the edgeToEdgeEnabled value earlier in the lifecycle (9c842a21299cf3db7b6e7be7fa85bc7f6370f497)

    ... (truncated)

    Commits
    • 5af3643 [CollapsingToolbarLayout] Added experimental setRtlTextDirectionHeuristicsEna...
    • bab907f [TopAppBar] Fix title fade mode collapsing title position errors.
    • 4e45c2c [TextAppearance] Added a TextAppearanceConfig.shouldLoadFontSynchronously() c...
    • d78235f [Gradle] Updated androidx.core dependency from 1.5.0-rc01 to 1.5.0 stable
    • 72b0c39 [CollapsingToolbarLayout] Fixed RTL text only laying out as RTL when actual t...
    • a096515 Updated library version to 1.4.0-rc01
    • 1445e6d [CollapsingToolbarLayout] Updated fade mode to allow expanded title to transl...
    • 982f74d [TextInputLayout] Fixed cutout padding so text field outline doesn't overlap ...
    • cee29e9 Automated g4 rollback of changelist 372177002
    • 3ea60e6 [CollapsingToolbarLayout] Added title line spacing and hyphenation frequency ...
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump kotlin_version from 1.4.31 to 1.5.10

    Bump kotlin_version from 1.4.31 to 1.5.10

    Bumps kotlin_version from 1.4.31 to 1.5.10. Updates kotlin-gradle-plugin from 1.4.31 to 1.5.10

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.5.10

    How to update to a new release

    Changelog

    Compiler

    Fixes

    • KT-41078 Incorrect type substitution in contracts with type parameters
    • KT-44770 JVM / IR: "IllegalArgumentException: Unrecognized Type: [null]" Jackson doesn't recognize type
    • KT-45084 JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" when inline class is passed to lambda with >22 parameters
    • KT-45779 JVM / IR: java.lang.NoSuchMethodError: 'int java.lang.Integer.plus(int)' caused by function reference
    • KT-45941 JVM IR: local functions use generic type parameters of the outer class in the bytecode, which breaks Bytebuddy and MockK
    • KT-46149 Generate synthetic classes for SAM adapters with erased instead of generic supertype
    • KT-46189 JVM IR: tailrec function with capturing lambda in default parameter value leads to NoSuchMethodError at runtime
    • KT-46214 JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" on a suspend function in an inner class
    • KT-46238 JVM IR: BootstrapMethodError in JDK 11+ on intersection type passed in arguments of SAM adapter where SAM interface's type parameter has a non-trivial upper bound
    • KT-46259 JVM IR: local function for adapted function reference is not declared as ACC_SYNTHETIC
    • KT-46284 JVM IR: "Unbound private symbol IrClassSymbol" on class reference to script class
    • KT-46402 IllegalAccessError: "CapturedLambdaInterpreter (in unnamed module @​0x71b06418) cannot access class jdk.internal.org.objectweb.asm.Type" caused by inline function with a suspend parameter in Maven project
    • KT-46408 JVM IR: BootstrapMethodError due to missing bridge for subclass of generic Java interface
    • KT-46426 JVM IR: Corrupted .class file when passing Array constructor reference as (inline) lambda
    • KT-46455 OOM on parsing invalid code with string interpolation
    • KT-46503 JVM IR: "AssertionError: Unexpected variance in super type argument: out @​1"
    • KT-46505 JVM IR: NullPointerException caused by a callable reference with nullable inline value class parameter
    • KT-46512 JVM / IR: NoSuchMethodError on SAM conversion of a function reference
    • KT-46515 IndexOutOfBoundsException: "Empty list doesn't contain element at index 0." on bad variable name in 1.5.0
    • KT-46516 JVM IR: "AnalyzerException: Expected I, but found R" on subclassing AbstractMutableList
    • KT-46524 Cannot use unsigned literals with api-version < 1.5 even with opt-in
    • KT-46537 JVM / IR: "IllegalStateException: No noarg super constructor for CLASS" caused by "No-arg" plugin with annotation on child class
    • KT-46540 JVM / IR: AnalyzerException: Expected an object reference, but found J caused by java.function.Supplier
    • KT-46554 JVM IR: "IllegalStateException: No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" with value class constructor delegation call
    • KT-46555 JVM IR: IllegalAccessError when using Java method reference
    • KT-46562 Kotlin 1.5.0 generates non-serializable lambdas when they should be serializable
    • KT-46568 JVM IR: "AssertionError: IrCall expected inside JvmStatic wrapper" on compiling protected static function with return type Nothing inside companion object of abstract class
    • KT-46574 JVM / IR: ClassCastException caused by runBlocking awaiting call while returning Kotlin.Result type.
    • KT-46579 JVM IR: "IllegalArgumentException: Sequence contains more than one matching element" for Java enum with overloaded values() static method
    • KT-46584 JVM IR: Intrinsics.needClassReification (UnsupportedOperationException thrown). Property delegate provider crossinline lambda inlining/reification issue
    • KT-46751 JVM / IR:"ClassCastException: java.lang.String cannot be cast to java.lang.Void" in extension function in Kotlin 1.5

    IDE

    • KT-45981 failed to analyze: java.lang.AssertionError: diagnostic callback has been already registered: Code analysis get stuck in AS 2020.3.1.14 & Kotlin v1.5.0-M2
    • KT-46622 60+ second freezes with Kotlin plugin 1.5.0: GetModuleInfoKt.findJvmStdlibAcrossDependencies

    IDE. Gradle Integration

    • KT-46417 [UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    CHANGELOG

    1.4.32

    IDE

    • KT-43824 KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementation
    • KT-45287 LightClasses: KtLightSimpleModifierList is no more a parent of KtLightAnnotationForSourceEntry
    • KT-45291 LightClasses: can't get annotations for constructor val-parameter
    • KT-45417 ULC leakage of primitive type annotations

    Tools. CLI

    • KT-44758 kotlin-compiler-embeddable dependency includes unshaded fastutil package
    • KT-45007 Concurrent Kotlin script compilation/execution results in NullPointerException in KeyedExtensionCollector.getPoint()
    Commits
    • 5af81b4 Update Kotlin/Native: 1.5.10-release-76
    • b3134c0 Implemented collecting use-old-backend flag from Gradle
    • 0505d58 Fix exposing provided by Gradle Kotlin dependencies.
    • f0f2b92 Parcelize: Handle class hierarchies of Parcelers (KT-46567)
    • 87b2cc1 IR: Lower shared variables in enum entries (KT-46605)
    • 43a81e3 Update Kotlin/Native: 1.5.10-eap-69
    • 61cdc66 Cache all module dependencies to avoid O(n^2) calc complexity
    • 40ced5a Do not insert Nothing handling in JvmStatic wrapper.
    • e6966d2 Revert "JVM IR: mute testJvmStaticAndJvmInline for 1.5.0"
    • 8d86066 Minor. Make test actually suspend and add a test without suspension
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.31 to 1.5.10

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.5.10

    How to update to a new release

    Changelog

    Compiler

    Fixes

    • KT-41078 Incorrect type substitution in contracts with type parameters
    • KT-44770 JVM / IR: "IllegalArgumentException: Unrecognized Type: [null]" Jackson doesn't recognize type
    • KT-45084 JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" when inline class is passed to lambda with >22 parameters
    • KT-45779 JVM / IR: java.lang.NoSuchMethodError: 'int java.lang.Integer.plus(int)' caused by function reference
    • KT-45941 JVM IR: local functions use generic type parameters of the outer class in the bytecode, which breaks Bytebuddy and MockK
    • KT-46149 Generate synthetic classes for SAM adapters with erased instead of generic supertype
    • KT-46189 JVM IR: tailrec function with capturing lambda in default parameter value leads to NoSuchMethodError at runtime
    • KT-46214 JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" on a suspend function in an inner class
    • KT-46238 JVM IR: BootstrapMethodError in JDK 11+ on intersection type passed in arguments of SAM adapter where SAM interface's type parameter has a non-trivial upper bound
    • KT-46259 JVM IR: local function for adapted function reference is not declared as ACC_SYNTHETIC
    • KT-46284 JVM IR: "Unbound private symbol IrClassSymbol" on class reference to script class
    • KT-46402 IllegalAccessError: "CapturedLambdaInterpreter (in unnamed module @​0x71b06418) cannot access class jdk.internal.org.objectweb.asm.Type" caused by inline function with a suspend parameter in Maven project
    • KT-46408 JVM IR: BootstrapMethodError due to missing bridge for subclass of generic Java interface
    • KT-46426 JVM IR: Corrupted .class file when passing Array constructor reference as (inline) lambda
    • KT-46455 OOM on parsing invalid code with string interpolation
    • KT-46503 JVM IR: "AssertionError: Unexpected variance in super type argument: out @​1"
    • KT-46505 JVM IR: NullPointerException caused by a callable reference with nullable inline value class parameter
    • KT-46512 JVM / IR: NoSuchMethodError on SAM conversion of a function reference
    • KT-46515 IndexOutOfBoundsException: "Empty list doesn't contain element at index 0." on bad variable name in 1.5.0
    • KT-46516 JVM IR: "AnalyzerException: Expected I, but found R" on subclassing AbstractMutableList
    • KT-46524 Cannot use unsigned literals with api-version < 1.5 even with opt-in
    • KT-46537 JVM / IR: "IllegalStateException: No noarg super constructor for CLASS" caused by "No-arg" plugin with annotation on child class
    • KT-46540 JVM / IR: AnalyzerException: Expected an object reference, but found J caused by java.function.Supplier
    • KT-46554 JVM IR: "IllegalStateException: No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" with value class constructor delegation call
    • KT-46555 JVM IR: IllegalAccessError when using Java method reference
    • KT-46562 Kotlin 1.5.0 generates non-serializable lambdas when they should be serializable
    • KT-46568 JVM IR: "AssertionError: IrCall expected inside JvmStatic wrapper" on compiling protected static function with return type Nothing inside companion object of abstract class
    • KT-46574 JVM / IR: ClassCastException caused by runBlocking awaiting call while returning Kotlin.Result type.
    • KT-46579 JVM IR: "IllegalArgumentException: Sequence contains more than one matching element" for Java enum with overloaded values() static method
    • KT-46584 JVM IR: Intrinsics.needClassReification (UnsupportedOperationException thrown). Property delegate provider crossinline lambda inlining/reification issue
    • KT-46751 JVM / IR:"ClassCastException: java.lang.String cannot be cast to java.lang.Void" in extension function in Kotlin 1.5

    IDE

    • KT-45981 failed to analyze: java.lang.AssertionError: diagnostic callback has been already registered: Code analysis get stuck in AS 2020.3.1.14 & Kotlin v1.5.0-M2
    • KT-46622 60+ second freezes with Kotlin plugin 1.5.0: GetModuleInfoKt.findJvmStdlibAcrossDependencies

    IDE. Gradle Integration

    • KT-46417 [UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    CHANGELOG

    1.4.32

    IDE

    • KT-43824 KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementation
    • KT-45287 LightClasses: KtLightSimpleModifierList is no more a parent of KtLightAnnotationForSourceEntry
    • KT-45291 LightClasses: can't get annotations for constructor val-parameter
    • KT-45417 ULC leakage of primitive type annotations

    Tools. CLI

    • KT-44758 kotlin-compiler-embeddable dependency includes unshaded fastutil package
    • KT-45007 Concurrent Kotlin script compilation/execution results in NullPointerException in KeyedExtensionCollector.getPoint()
    Commits
    • 5af81b4 Update Kotlin/Native: 1.5.10-release-76
    • b3134c0 Implemented collecting use-old-backend flag from Gradle
    • 0505d58 Fix exposing provided by Gradle Kotlin dependencies.
    • f0f2b92 Parcelize: Handle class hierarchies of Parcelers (KT-46567)
    • 87b2cc1 IR: Lower shared variables in enum entries (KT-46605)
    • 43a81e3 Update Kotlin/Native: 1.5.10-eap-69
    • 61cdc66 Cache all module dependencies to avoid O(n^2) calc complexity
    • 40ced5a Do not insert Nothing handling in JvmStatic wrapper.
    • e6966d2 Revert "JVM IR: mute testJvmStaticAndJvmInline for 1.5.0"
    • 8d86066 Minor. Make test actually suspend and add a test without suspension
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump fragment-ktx from 1.3.0 to 1.3.4

    Bump fragment-ktx from 1.3.0 to 1.3.4

    Bumps fragment-ktx from 1.3.0 to 1.3.4.

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump core-ktx from 1.3.2 to 1.5.0

    Bump core-ktx from 1.3.2 to 1.5.0

    Bumps core-ktx from 1.3.2 to 1.5.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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump appcompat from 1.2.0 to 1.3.0

    Bump appcompat from 1.2.0 to 1.3.0

    Bumps appcompat from 1.2.0 to 1.3.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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump gradle from 4.1.2 to 4.2.1

    Bump gradle from 4.1.2 to 4.2.1

    Bumps gradle from 4.1.2 to 4.2.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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump material from 1.4.0-alpha01 to 1.4.0-beta01

    Bump material from 1.4.0-alpha01 to 1.4.0-beta01

    Bumps material from 1.4.0-alpha01 to 1.4.0-beta01.

    Release notes

    Sourced from material's releases.

    1.4.0-beta01

    Compile SDK Version changed to API 30.

    Dependency Updates

    Dependency Previous version New version
    androidx.core 1.2.0 1.5.0-rc01

    Library Updates

    • NavigationBarView
      • Moves OnNavigationItem listeners to the NavigationBarView class (0ad4a8df9b9285885ec2ce1c7fbe197e6c8a3e59)
    • TextInputLayout
      • Fixed cutout padding so text field outline doesn't overlap collapsed hint. (1c7b75fe1761175d0e580b15e0889c11d7759c75)
    • MaterialButton
      • Updated Material Button style to set the preferred maximum width to 320dp. (eb5453cd7ee0cc8e0610b57d39b44b26cd95f31e)
    • Documentation
      • Improving navigation rail documentation. (dabdef988de5cdf4a8be7a54b8c59052d16eec2a)
    • CollapsingToolbarLayout
      • Updated fade mode to allow expanded title to translate 1:1 with scrolling content. (1445e6df6e76de42ca7e11ef8f3f7a6db95d3ea1)
      • Added title line spacing and hyphenation frequency setters (3ea60e6ebb6fddb58c50e5606a8b1fef62484d0b)
      • Fixed multiline animation for fade title collapse mode (a29c93a598ee77eb7ef3ca9afec4bd4730d5a62d)
      • Updated default multiline hyphenation frequency to StaticLayout.HYPHENATION_FREQUENCY_NORMAL (2c45dcca0069c4e8cee2c2d4bb2ce01b1564913f)
      • Added support for multiline RTL when using fade title mode (ffef9f6e39ea39b4a6873d440d8809dc7d905a56)
      • Added getLineCount() method (c9f7a61fa4d19f591acafe63ec685df8ed111d07)
    • BottomAppBar
      • change cornersize to float to avoid truncation errors (7ffa57191506c84312cb3f8caeda6cadc88fc6be)
    • BottomSheet
      • read the edgeToEdgeEnabled value earlier in the lifecycle (9c842a21299cf3db7b6e7be7fa85bc7f6370f497)
      • Adding a max width for bottom sheets to optimize for large screens. (63d01aa2686d56b165e9131265a449d810359695)
    • Other
      • Update compile sdk version to 30 (123438570f9b672e65a0559c2b0c214b9560dc01)
      • Updated TextAppearance to load font synchronously if its cached. Also updates lib to depend on 1.5.0-rc01 for the ResourcesCompat#getCachedFont method. (d301145698fec7c734278024879a9448afc332dc)

    Full list of changes

    https://github.com/material-components/material-components-android/compare/1.4.0-alpha02...1.4.0-beta01

    1.4.0-alpha02

    Dependency Updates

    • No dependency updates.

    Library Updates

    • Catalog
      • Updated catalog to showcase header view inside a Navigation Rail View. (6a37a553e756f42169d4e1241b08ac68a01c4932)

    ... (truncated)

    Commits
    • 1445e6d [CollapsingToolbarLayout] Updated fade mode to allow expanded title to transl...
    • 982f74d [TextInputLayout] Fixed cutout padding so text field outline doesn't overlap ...
    • cee29e9 Automated g4 rollback of changelist 372177002
    • 3ea60e6 [CollapsingToolbarLayout] Added title line spacing and hyphenation frequency ...
    • 9c842a2 [BottomSheet] read the edgeToEdgeEnabled value earlier in the lifecycle
    • a29c93a [CollapsingToolbarLayout] Fixed multiline animation for fade title collapse mode
    • 7ffa571 [BottomAppBar] change cornersize to float to avoid truncation errors
    • 0ad4a8d [NavigationRail] Moves OnNavigationItem listeners to the NavigationBarView class
    • 2c45dcc [CollapsingToolbarLayout] Updated default multiline hyphenation frequency to ...
    • ffef9f6 [CollapsingToolbarLayout] Added support for multiline RTL when using fade tit...
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump gradle from 4.1.2 to 7.0.0

    Bump gradle from 4.1.2 to 7.0.0

    Bumps gradle from 4.1.2 to 7.0.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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Validator isDataValid is not checking all the validations

    Validator isDataValid is not checking all the validations

    Issue

    When I have an email and password in a form. both have the validation rule NotEmptyRule.when the email is entered then isDataValid is getting true not checking for password.

    Note this happens only the first time. if I enter the password and clear it woking as expected.

    https://user-images.githubusercontent.com/42542947/127019867-6c5e30ef-cc86-4b07-89f6-a7c2db796eee.mp4

    You can see in the video when I have entered the email isDataValid getting true. even tho I have validation for the password.

    can please suggest the code changes for this. you don't have to worry about the password error label I just put something to test.

    opened by avinash1203 2
  • Bump fragment-ktx from 1.3.0 to 1.3.6

    Bump fragment-ktx from 1.3.0 to 1.3.6

    Bumps fragment-ktx from 1.3.0 to 1.3.6.

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump appcompat from 1.2.0 to 1.3.1

    Bump appcompat from 1.2.0 to 1.3.1

    Bumps appcompat from 1.2.0 to 1.3.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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump kotlin_version from 1.4.31 to 1.5.21

    Bump kotlin_version from 1.4.31 to 1.5.21

    Bumps kotlin_version from 1.4.31 to 1.5.21. Updates kotlin-gradle-plugin from 1.4.31 to 1.5.21

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.5.21

    Changelog

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    Checksums

    File Sha256
    kotlin-compiler-1.5.21.zip f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59
    kotlin-native-linux-1.5.21.tar.gz fa3dfec9c11711c2b713a1482bcc4511bb8f73f182f12aa7d858943f6f084397
    kotlin-native-macos-1.5.21.tar.gz adced4f332b2d3f91d14bf3cf5c1059cfbbac4dc75d91ae88645118badbc401a
    kotlin-native-windows-1.5.21.zip 9da4f5c2f98ac003a062c5a18260a5ed52154b5506d045539f0f3c1bfadf6b01

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.5.21

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations

    ... (truncated)

    Commits
    • ec9d0b0 Add changelog for 1.5.21
    • f2b6728 Add change notes for 1.5.21
    • d9dd7f6 IR: repair collectAndFilterRealOverrides
    • 70522f6 JVM_IR: simplify resolveFakeOverride call in SyntheticAccessorLowering
    • 3843893 IR: properly compute IrProperty.resolveFakeOverride()
    • a1e6c87 Fix Gradle tests failing compilation.
    • 18328f9 Create a copy of incorrectly deserialized parent's writeSelf function
    • 68474d7 Fix publication failed in projects which are using BOM.
    • 8538ed4 [lombok] Get field names directly from JavaClassImpl
    • 26c0b3d [FE 1.0] Fix message of INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.31 to 1.5.21

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.5.21

    Changelog

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    Checksums

    File Sha256
    kotlin-compiler-1.5.21.zip f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59
    kotlin-native-linux-1.5.21.tar.gz fa3dfec9c11711c2b713a1482bcc4511bb8f73f182f12aa7d858943f6f084397
    kotlin-native-macos-1.5.21.tar.gz adced4f332b2d3f91d14bf3cf5c1059cfbbac4dc75d91ae88645118badbc401a
    kotlin-native-windows-1.5.21.zip 9da4f5c2f98ac003a062c5a18260a5ed52154b5506d045539f0f3c1bfadf6b01

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    1.5.21

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations

    ... (truncated)

    Commits
    • ec9d0b0 Add changelog for 1.5.21
    • f2b6728 Add change notes for 1.5.21
    • d9dd7f6 IR: repair collectAndFilterRealOverrides
    • 70522f6 JVM_IR: simplify resolveFakeOverride call in SyntheticAccessorLowering
    • 3843893 IR: properly compute IrProperty.resolveFakeOverride()
    • a1e6c87 Fix Gradle tests failing compilation.
    • 18328f9 Create a copy of incorrectly deserialized parent's writeSelf function
    • 68474d7 Fix publication failed in projects which are using BOM.
    • 8538ed4 [lombok] Get field names directly from JavaClassImpl
    • 26c0b3d [FE 1.0] Fix message of INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump material from 1.4.0-alpha01 to 1.5.0-alpha01

    Bump material from 1.4.0-alpha01 to 1.5.0-alpha01

    Bumps material from 1.4.0-alpha01 to 1.5.0-alpha01.

    Release notes

    Sourced from material's releases.

    1.5.0-alpha01

    Dependency Updates

    Dependency Previous version New version
    compileSdkVersion 29 30
    androidx.core 1.2.0 1.5.0

    Library Updates

    • New Divider component (Docs)
      • Added new Divider component to the library and Divider doc. (782dffa8b719ff4129590380896d2619531906dc)
      • Added divider demo in catalog (acf08f76400124721c0f767aaf8ae52eaf05705d)
      • Fixed divider title (d0e3ce152ed93ad2450264209764a88e97d7d223)
    • Transitions / Motion
      • Extracted music player app into its own package and made transition demo depend on it. (a536a8068de35dc84b826ed92ad5d5895c0cd8a8)
      • Add motion package and utils to resolve motion theme attrs. (217bdef9f04c34968882433ba151951f011fffdf)
    • BottomSheet
      • make FloatRange for setHalfExpandedRatio() exclusive (77c2a8383ced5c91c26762d7a31bd5e330341032)
      • Adds additional methods that are restricted to the library. They will be used for Experiment and deleted/revised after experiment. (b4982f9cdc9dbb61515b5f4dc9f514fba650cec2)
      • read the edgeToEdgeEnabled value earlier in the lifecycle (030e5bd65bc2a20f626947af0bf3b84634bac27b)
    • BottomAppBar
      • Improved Bottom App bar demo controls. (c995ae200ef2b02a2110612844b94f9e6c1f4f01)
      • Adding the attr to set the color of navigation icon. (0ed7c7675e42cbe417fb947f150ed9faf6a5174b)
      • change cornersize to float to avoid truncation errors (8e9b68089353c7f92dd35fe5a2f0f39cad4f3053)
    • MaterialButton
      • Updated Material Button style to set the preferred maximum width to 320dp. (c5c7a74cef46569ee74f92d0ef973cafe06c06e9)
    • BottomNavigationView
      • Added deprecation Javadoc for BottomNavigationView#OnNavigationItemSelectedListener and BottomNavigationView#OnNavigationItemReselectedListener. (720088c5c2462dbaaa90490bca04bb3bbdc708b1)
      • Updated to explicitly read and set minimum height. (943c4f0eedb35850f19167ac989387f5b640af2f)
    • Documentation
      • [Documentation] (f6237e337e81f24759b63beb30d698c74a5cb4d7)
      • Fix menu doc. (86f8c5167fc41315e4844dbd57840a103d04bdd2)
      • Updated BottomNavigation documentation. (b5032876e2e7e3b4b45fa0304a0c0c61970f92b6)
      • Fix typo in the word "checkbox". (bd5a96fd13e9bca7ab2ca7e97668199bf44dd8d9)
      • Fixing typo. (af9570c40fc818a6c918e3969c1b33fcc1877864)
      • Improving navigation rail documentation. (95a769c373792d2fce70d7ee21f3857f65e9d74e)
    • TextInputLayout
      • Apply tint when setting start icons (4044183f46385d09fe0059143bda77ce78f2dad9)
      • Do not load default drawable if custom end icon is being used (717774ec7f9d44c66fae6c801f1c4308243b9802)
      • Make clear text icon focusable (8a4f42aca737f4b0c2b7e7851e557ef275df6ebd)
      • [Documentation][TextInputLayout] (336042dd0ddd58fdd2f4154ec4c68c48527f11bb)
      • Added a fade transition to placeholder TextView's appear and disappear. (c92e6934d53032e9a3c0b4550787e665e6494d86)
      • Fixed cutout padding so text field outline doesn't overlap collapsed hint. (87b50c6aee240659841a7d5f2e52c1a6324d611f)
    • Badging
      • Update badge position after clearing numbers (5973920cffb3ddec11703c1bf044577c7727f676)
      • Support differing offsets for badges with/without text, support badge width and padding in styles. (bd4914dd8bcdb64c4ec8734c95b90cec2a3d723d)
    • MaterialDatePicker
      • Avoid NPE caused by getSelection() before created (cb5d622f131323bf1f27e9e6c27c16f4a918d3d1)
      • Fix opening at the selected date in the end month (eb7b11478b110fc917958565876899856ba2411b)
      • Fix DatePicker crashes and and potential issue of range selection (281688a2f21263817f037d187a98b4cbc8471985)

    ... (truncated)

    Commits
    • 4b9148c [Release] update library version to 1.5.0-alpha01
    • 501ef8e [NavigationRailView] Update inset handling for Navigation Rail & Bottom Nav
    • 4044183 [TextInputLayout] Apply tint when setting start icons
    • 456f135 [Button] Fix progress indicator is not shown when set as the icon
    • f6237e3 [Documentation]
    • 717774e [TextField] Do not load default drawable if custom end icon is being used
    • db8b239 [Slider] Do not invoke OnChangeListeners when restoring states
    • 655dde0 [CollapsingToolbarLayout] Added option to add extra height when title text sp...
    • 58ceeab [SnackBar] Handle anchor view properly so no memory leak will happen
    • 9ebf1a1 [CollapsingToolbarLayout] Added option to force always applying system window...
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
Releases(1.2.2)
Owner
Forntoh Thomas
A passionate mobile app developer who converts words and images into beautiful code 😉
Forntoh Thomas
A lightweight, simplified form validation library for Android

A lightweight, simplified form validation library for Android

İbrahim Süren 91 Nov 9, 2022
kotlin mvvm+dataBinding+retrofit2+Arouter等BaseActivity、BaseFragment、BaseDialogFragment基类封装

kotlin-mvvm kotlin mvvm+dataBinding+retrofit2+ARouter等BaseActivity、BaseFragment、BaseDialogFragment基类封装 Android开发项目基本使用框架,封装了各类组件,在基类实现了沉浸式状态栏,可以自己更改颜色

奋斗中的骚年 3 Jul 12, 2022
Form Validator Library for Android

Android-Validator Form Validator Library for Android [](https://flattr.com/submit/auto?user_id=throrin19&url=https://github.com/throrin19/Android-Vali

Benjamin Besse 449 Dec 17, 2022
App to simulate making lemonada juice in form of attractive application

Project: Lemonade App - Starter Code Starter code for the first independent project for Android Basics in Kotlin Introduction This is the starter code

null 0 Oct 28, 2021
Mi-FreeForm - An APP that is activated through Shizuku/Sui and can display most apps in the form of freeform

Mi-FreeForm 简体中文 Mi-FreeForm is an APP that is activated through Shizuku/Sui and

KindBrive 181 Dec 31, 2022
Compose easy forms validation library

Compose EasyForms Focus on building your form UI while the library do the heavy work for you. Features Built in support for most of the Form widgets i

Kosh Sergani 24 Jul 18, 2022
Kotlin validation with a focus on readability

kommodus Kotlin validation with a focus on readability import com.github.kommodus.constraints.* import com.github.kommodus.Validation data class Test

Serhii Shobotov 0 Dec 12, 2021
Validator - Notify type based validation for input fields.

Validator - Notify type based validation for input fields.

Mustafa Yiğit 57 Dec 8, 2022
Sample project displaying process of OTP validation using firebase

OTP-Validation-using-firebase Sample project displaying process of OTP validation using firebase Screenshots Concepts used Integrated Firebase sdk for

Ankita Gaba 2 Jun 18, 2022
Android library which makes it easy to handle the different obstacles while calling an API (Web Service) in Android App.

API Calling Flow API Calling Flow is a Android library which can help you to simplify handling different conditions while calling an API (Web Service)

Rohit Surwase 19 Nov 9, 2021
Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Shahid Iqbal 4 Nov 29, 2022
A robust native library loader for Android.

ReLinker A robust native library loader for Android. More information can be found in our blog post Min SDK: 9 JavaDoc Overview The Android PackageMan

Keepsafe 2.9k Dec 27, 2022
Joda-Time library with Android specialization

joda-time-android This library is a version of Joda-Time built with Android in mind. Why Joda-Time? Android has built-in date and time handling - why

Daniel Lew 2.6k Dec 9, 2022
UPnP/DLNA library for Java and Android

Cling EOL: This project is no longer actively maintained, code may be outdated. If you are interested in maintaining and developing this project, comm

4th Line 1.6k Jan 4, 2023
:iphone: [Android Library] Get device information in a super easy way.

EasyDeviceInfo Android library to get device information in a super easy way. The library is built for simplicity and approachability. It not only eli

Nishant Srivastava 1.7k Dec 22, 2022
Android library for viewing, editing and sharing in app databases.

DbInspector DbInspector provides a simple way to view the contents of the in-app database for debugging purposes. There is no need to pull the databas

Infinum 924 Jan 4, 2023
Android Market In-app Billing Library

Update In-app Billing v2 API is deprecated and will be shut down in January 2015. This library was developed for v2 a long time ago. If your app is st

Robot Media 533 Nov 25, 2022
An Android library allowing images to exhibit a parallax effect that reacts to the device's tilt

Motion An Android library allowing images to exhibit a parallax effect. By replacing static pictures and backgrounds with a fluid images that reacts t

Nathan VanBenschoten 781 Nov 11, 2022
Android library to easily serialize and cache your objects to disk using key/value pairs.

Deprecated This project is no longer maintained. No new issues or pull requests will be accepted. You can still use the source or fork the project to

Anup Cowkur 667 Dec 22, 2022