➕ An efficient and beaufitul Multi Float action button library based on Twitter implemented in Jetpack Compose 🚀

Overview

Multi Float Action Button


An efficient and beaufitul Multi Float action button library based on Twitter implemented in Jetpack Compose 🚀

banner_multifab

License API repo size
forks stars

Including in your project

Gradle

Add below codes to your root build.gradle file (not your module build.gradle file).

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

And add a dependency code to your module's build.gradle file.

dependencies {
  implementation 'com.github.iamageo:MultiFab:{multifab-version}'
}

Anatomy

anatomy

1 - MultiFloatActionButton

  • FabIcon
  • FabOption
  • itemsMultiFab
  • onFabItemClicked
  • FabTitle
  • ShowFabTitle

2 - MultiFabItem

Basic Usage

Add in you Activity file.

MultiFloatingActionButton(
    fabIcon = FabIcon(
        iconRes = R.drawable.ic_baseline_add_24,
        iconResAfterRotate = R.drawable.ic_baseline_remove_24,
        iconRotate = 180f
    ),
    fabOption = FabOption(
        iconTint = Color.White,
        showLabels = true,
        backgroundTint = Color.Blue,
    ),
    itemsMultiFab = listOf(
        MultiFabItem(
            icon = R.drawable.ic_baseline_add_24,
            label = "first",
            labelColor = Color.White
        ),
        MultiFabItem(
            icon = R.drawable.ic_baseline_add_24,
            label = "second",
            labelColor = Color.White
        ),
    ),
    onFabItemClicked = { println(it) },
    fabTitle = "MultiFloatActionButton",
    showFabTitle = false
 )

Preview

multifab

License

    Copyright 2022 Geovani Amaral

    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 org.jetbrains.kotlin.android from 1.7.20 to 1.7.21

    Bump org.jetbrains.kotlin.android from 1.7.20 to 1.7.21

    Bumps org.jetbrains.kotlin.android from 1.7.20 to 1.7.21.

    Release notes

    Sourced from org.jetbrains.kotlin.android's releases.

    Kotlin 1.7.21

    Changelog

    Compiler

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

    Native. Runtime. Memory

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

    Tools. Gradle. Multiplatform

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

    Tools. JPS

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

    Checksums

    File Sha256
    kotlin-compiler-1.7.21.zip 8412b31b808755f0c0d336dbb8c8443fa239bf32ddb3cdb81b305b25f0ad279e
    kotlin-native-linux-x86_64-1.7.21.tar.gz 0f9eb04a5ee0665a195c1f1093c778f5696216660feb638b29f923f586093dd0
    kotlin-native-macos-x86_64-1.7.21.tar.gz 9530cadcf05cfd6111ef35725115009283b1a0292427261b78d43853c35ccd44
    kotlin-native-macos-aarch64-1.7.21.tar.gz f75e1a68e193b0cd9df56f15166fb4e721641b408065531b620cf204d78922e5
    kotlin-native-windows-x86_64-1.7.21.zip 5e76301f6c386ea83dc668e171887244908c18da636f7237d5371b56d8fec8da
    Changelog

    Sourced from org.jetbrains.kotlin.android's changelog.

    1.7.21

    Compiler

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

    Native. Runtime. Memory

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

    Tools. Gradle. Multiplatform

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

    Tools. JPS

    • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation
    Commits
    • e7f77e9 Keep track of array types in OptimizationBasicInterpreter
    • 7deaab9 Edit changelog for 1.7.21
    • 0b49dc2 Fix binary compatibility for inlined local delegated properies
    • 90b3e21 Advance bootstrap to 1.7.21
    • c55a197 Edit changelog for 1.7.21
    • b1b18c2 Add regression test for KT-54707
    • 7a25213 KT-53465, KT-53677 Get rid of unnecessary checkcasts to array of reified type
    • 2587f3e Edit changelog for 1.7.21
    • 62dfe43 Add changelog for 1.7.21
    • 34ae02b K1: add more tests for BI assignment checker, fix corner cases
    • Additional commits viewable in compare view

    Dependabot compatibility score

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


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

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

    Bump org.jetbrains.kotlin.android from 1.5.31 to 1.7.10

    Bumps org.jetbrains.kotlin.android from 1.5.31 to 1.7.10.

    Release notes

    Sourced from org.jetbrains.kotlin.android's releases.

    Kotlin 1.7.10

    Changelog

    Compiler

    • KT-52702 Invalid locals information when compiling kotlinx.collections.immutable with Kotlin 1.7.0-RC2
    • KT-52892 Disappeared specific builder inference resolution ambiguity errors
    • KT-52782 Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature
    • KT-52718 declaringClass deprecation message mentions the wrong replacement in 1.7

    IDE. Configuration

    • KTIJ-21982 Cannot run/build anything with Kotlin plugin since last update

    Tools. Gradle

    • KT-52777 'org.jetbrains.kotlinx:atomicfu:1.7.0' Gradle 7.0+ plugin variant was published with missing classes

    Tools. Gradle. JS

    • KT-52856 Kotlin/JS: Upgrade NPM dependencies

    Tools. Gradle. Multiplatform

    • KT-52955 SourceSetMetadataStorageForIde: Broken 'cleanupStaleEntries' with enabled configuration caching or isolated ClassLoaders
    • KT-52694 Kotlin 1.7.0 breaks Configuration Caching in Android projects

    Tools. Incremental Compile

    • KT-52669 Full rebuild in IC exception recovery leaves corrupt IC data

    Checksums

    File Sha256
    kotlin-compiler-1.7.10.zip 7683f5451ef308eb773a686ee7779a76a95ed8b143c69ac247937619d7ca3a09
    kotlin-native-linux-x86_64-1.7.10.tar.gz b874373e87381b94c6a385178ea9594a5b4cfeb2fbae2bd89d3cb84c96bc3b96
    kotlin-native-macos-x86_64-1.7.10.tar.gz 4e9470c25e0c6b3b79e86a59c7eca4d79c5a28ca515e80db93504535b2332a00
    kotlin-native-macos-aarch64-1.7.10.tar.gz c02be577f541a5c73e1af75534006eea6e09cf67b3a886f323dae6f0406bcb3e
    kotlin-native-windows-x86_64-1.7.10.zip 52c64c754a23da3d554d89beb9cdc322ffcb19b8d6f1e812e849e597d282b99d

    Kotlin 1.7.0

    Changelog

    Analysis API. FIR

    • KT-50864 Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign target
    • KT-50252 Analysis API: Implement FirModuleResolveStates for libraries
    • KT-50862 Analsysis API: do not create use site subsitution override symbols

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.android's changelog.

    1.7.10

    Compiler

    • KT-52702 Invalid locals information when compiling kotlinx.collections.immutable with Kotlin 1.7.0-RC2
    • KT-52892 Disappeared specific builder inference resolution ambiguity errors
    • KT-52782 Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature
    • KT-52718 declaringClass deprecation message mentions the wrong replacement in 1.7

    IDE

    Fixes

    • KTIJ-19088 KotlinUFunctionCallExpression.resolve() returns null for calls to @​JvmSynthetic functions
    • KTIJ-19624 NoDescriptorForDeclarationException on iosTest.kt.vm
    • KTIJ-21515 Load JVM target 1.6 as 1.8 in Maven projects
    • KTIJ-21735 Exception when opening a project
    • KTIJ-17414 UAST: Synthetic enum methods have null return values
    • KTIJ-17444 UAST: Synthetic enum methods are missing nullness annotations
    • KTIJ-19043 UElement#comments is empty for a Kotlin property with a getter
    • KTIJ-10031 IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @​Serializable)
    • KTIJ-21151 Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides
    • KTIJ-20736 NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start
    • KTIJ-21063 IDE highlighting: False positive error "Context receivers should be enabled explicitly"
    • KTIJ-20810 NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open
    • KTIJ-17869 KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors
    • KTIJ-21061 UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type
    • KTIJ-20200 UAST: @​Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=true

    IDE. Code Style, Formatting

    • KTIJ-20554 Introduce some code style for definitely non-null types

    IDE. Completion

    • KTIJ-14740 Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set

    IDE. Debugger

    • KTIJ-20815 MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError

    IDE. Decompiler, Indexing, Stubs

    • KTIJ-21472 "java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file
    • KTIJ-20802 Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&Any

    IDE. FIR

    • KTIJ-20971 FIR IDE: "Parameter Info" shows parameters of uncallable methods
    • KTIJ-21021 FIR IDE: Completion of extension function does not work on nullable receiver

    ... (truncated)

    Commits
    • ea836fd Add changelog for 1.7.10
    • 66fb59d Merge KT-MR-6569: [IC] Fix fallback logic in IncrementalCompilerRunner
    • 298c99e Revert renaming the kotlinx-atomicfu-runtime module
    • 39d59cb [IC] Fix fallback logic in IncrementalCompilerRunner
    • aab426c Remove 'org.jetbrains.kotlin.platform.type' attribute from publication
    • 7cc0002 Update Gradle publish plugin to 1.0.0-rc-3 version
    • 5c34d5b [MPP] SourceSetMetadataStorageForIde: Remove faulty 'cleanupStaleEntries'
    • a449dda [FE 1.0] Imitate having builder inference annotation while trying resolve wit...
    • 304bf92 Revert "[Gradle] Propagate offline mode to Native compiler"
    • 91863f2 Revert "[Gradle] Propagate offline mode to Native cinterop"
    • Additional commits viewable in compare view

    Dependabot compatibility score

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


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

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

    Bump org.jetbrains.kotlin.android from 1.5.31 to 1.8.0

    Bumps org.jetbrains.kotlin.android from 1.5.31 to 1.8.0.

    Release notes

    Sourced from org.jetbrains.kotlin.android's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

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

    Analysis API. FIR

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

    Android

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

    Backend. Native. Debug

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

    Compiler

    New Features

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

    Performance Improvements

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

    Fixes

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

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.android's changelog.

    1.8.0

    Analysis API

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

    Analysis API. FIR

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

    Android

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

    Backend. Native. Debug

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

    Compiler

    New Features

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

    Performance Improvements

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

    Fixes

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

    ... (truncated)

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

    Dependabot compatibility score

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


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

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

    Bump org.jetbrains.kotlin.android from 1.7.20 to 1.7.22

    Bumps org.jetbrains.kotlin.android from 1.7.20 to 1.7.22.

    Release notes

    Sourced from org.jetbrains.kotlin.android's releases.

    Kotlin 1.7.22

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

    Checksums

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

    Kotlin 1.7.21

    Changelog

    Compiler

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

    Native. Runtime. Memory

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

    Tools. Gradle. Multiplatform

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

    Tools. JPS

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

    Checksums

    File Sha256

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.android's changelog.

    1.7.21

    Compiler

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

    Native. Runtime. Memory

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

    Tools. Gradle. Multiplatform

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

    Tools. JPS

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

    Dependabot compatibility score

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


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

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

    Bump org.jetbrains.kotlin.android from 1.7.10 to 1.7.20

    Bumps org.jetbrains.kotlin.android from 1.7.10 to 1.7.20.

    Release notes

    Sourced from org.jetbrains.kotlin.android's releases.

    Kotlin 1.7.20

    1.7.20

    Analysis API

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

    Analysis API. FE1.0

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

    Analysis API. FIR

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

    Compiler

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

    New Features

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

    Performance Improvements

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

    Fixes

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

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.android's changelog.

    1.7.20

    Compiler

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser

    Fixes

    • KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
    • KT-51234 Context receivers can be duplicated in function declaration
    • KT-51576 Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" with at character
    • KT-49479 JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls
    • KT-52270 NullPointerException caused by braces on if-else returning a method reference inside lambda
    • KT-47621 False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter
    • KT-37796 NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself
    • KT-45430 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context
    • KT-52691 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces
    • KT-52822 Fix contract for KtElement.getReference()
    • KT-50223 IndexOutOfBoundsException from ClassicTypeSystemContext$DefaultImpls.getParameter during call resolution
    • KT-51963 Change Maven version to 1.7.255
    • KT-47664 Incorrect type checking in the case of generic types
    • KT-48765 NI: Inferred type does not respect the bound of type variable
    • KT-51243 False positive error "No required context receiver" inside contextual lambda
    • KT-43541 TYPE_MISMATCH for member function which is not occur for top level function during unsafe cast
    • KT-51016 [FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypes
    • KT-50155 FIR: support contextual receivers
    • KT-38637 Catch NoSuchFieldException in optimized when expression over enum

    Docs & Examples

    • KT-49896 Kotlin/JS: improve -Xir-property-lazy-initialization description due to making it true by default

    IDE

    • KTIJ-22286 Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released version
    • KTIJ-22065 IDE notification motivating Kotlin users to use EAP
    • KTIJ-22209 Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10)
    • KTIJ-22171 Fix test BuiltInDecompilerConsistencyTest
    • KTIJ-22016 Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class

    IDE. Code Style, Formatting

    • KTIJ-21346 Incorrect formatting for functions with context receivers and visibility modifiers

    IDE. Completion

    ... (truncated)

    Commits
    • 7159702 Add changelog for 1.7.20
    • 9ca25ce Native: add more tests for Swift Set and Dictionary used in Kotlin
    • 1244679 Native: improve thread state switches for NSSet/NSDictionary adapters
    • 1abfeb9 [Gradle][MPP] MPP/AGP compatibility: Bump maxSupportedVersion to 7.3
    • b489e93 Fix lowering of receiver access in IR scripting
    • 8a8853c K1. Fix error message for BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION
    • 608d45c Add changelog for 1.7.20-RC
    • 3a340d2 Fix kind of NoBuilderInferenceWithoutAnnotationRestriction
    • a17fc51 Fix receiver inconsistency when builder inference restriction disabled
    • f0fd2cf Put back the line with language feature to 1.7 block
    • Additional commits viewable in compare view

    Dependabot compatibility score

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


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

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

    java.lang.NoSuchMethodError: No static method fadeIn$default

    Hi, I get this error with the following config: Android Studio: 2021.3.1 Kotlin: 1.7.20 Compose: 1.2.1 MultiFab: 1.0.5

    Here's error output:

    java.lang.NoSuchMethodError: No static method fadeIn$default(FLandroidx/compose/animation/core/FiniteAnimationSpec;ILjava/lang/Object;)Landroidx/compose/animation/EnterTransition; in class Landroidx/compose/animation/EnterExitTransitionKt; or its super classes (declaration of 'androidx.compose.animation.EnterExitTransitionKt' appears in /data/app/~~D6k9LKxbwDjXMQt720p_9g==/meshki.studio.negarname-pYrZrw7mGLR663YE-7aG-A==/base.apk)
                                                                                                        	at com.iamageo.multifablibrary.MultiFloatingActionButtonKt.MultiFloatingActionButton(MultiFloatingActionButton.kt:46)
                                                                                                        	at meshki.studio.negarname.ui.screens.ComposableSingletons$NotesScreenKt$lambda-1$1.invoke(NotesScreen.kt:44)
                                                                                                        	at meshki.studio.negarname.ui.screens.ComposableSingletons$NotesScreenKt$lambda-1$1.invoke(NotesScreen.kt:43)
                                                                                                        	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:770)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:448)
                                                                                                        	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        	at androidx.compose.runtime.ActualJvm_jvmKt.invokeComposable(ActualJvm.jvm.kt:74)
                                                                                                        	at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3193)
                                                                                                        	at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3183)
                                                                                                        	at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:252)
                                                                                                        	at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
                                                                                                        	at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3183)
                                                                                                        	at androidx.compose.runtime.ComposerImpl.composeContent$runtime_release(Composer.kt:3119)
                                                                                                        	at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:584)
                                                                                                        	at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:811)
                                                                                                        	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:3712)
                                                                                                        	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:3712)
                                                                                                        	at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:519)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcomposeInto(SubcomposeLayout.kt:468)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:441)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:432)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:421)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$Scope.subcompose(SubcomposeLayout.kt:732)
                                                                                                        	at androidx.compose.material.ScaffoldKt$ScaffoldLayout$1$1$1.invoke(Scaffold.kt:257)
                                                                                                        	at androidx.compose.material.ScaffoldKt$ScaffoldLayout$1$1$1.invoke(Scaffold.kt:243)
                                                                                                        	at androidx.compose.ui.layout.MeasureScope$layout$1.placeChildren(MeasureScope.kt:70)
                                                                                                        	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1$measure$1.placeChildren(SubcomposeLayout.kt:602)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:968)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutSnapshotReads$ui_release(OwnerSnapshotObserver.kt:52)
    2022-10-24 17:47:57.196  9942-9942  AndroidRuntime          meshki.studio.negarname              E  	at androidx.compose.ui.node.LayoutNode.layoutChildren$ui_release(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.onNodePlaced$ui_release(LayoutNode.kt:938)
                                                                                                        	at androidx.compose.ui.node.InnerPlaceable.placeAt-f8xVGno(InnerPlaceable.kt:79)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50(Placeable.kt:370)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:161)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.access$placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:28)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:149)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutModifierSnapshotReads$ui_release(OwnerSnapshotObserver.kt:59)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeAt-f8xVGno(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50(Placeable.kt:370)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50$default(Placeable.kt:203)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt.placeInBox(Box.kt:186)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt.access$placeInBox(Box.kt:1)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt$boxMeasurePolicy$1$measure$2.invoke(Box.kt:126)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt$boxMeasurePolicy$1$measure$2.invoke(Box.kt:125)
                                                                                                        	at androidx.compose.ui.layout.MeasureScope$layout$1.placeChildren(MeasureScope.kt:70)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:968)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutSnapshotReads$ui_release(OwnerSnapshotObserver.kt:52)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.layoutChildren$ui_release(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.onNodePlaced$ui_release(LayoutNode.kt:938)
                                                                                                        	at androidx.compose.ui.node.InnerPlaceable.placeAt-f8xVGno(InnerPlaceable.kt:79)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.placeWithLayer(Placeable.kt:393)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.placeWithLayer$default(Placeable.kt:266)
                                                                                                        	at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier$measure$1.invoke(GraphicsLayerModifier.kt:407)
                                                                                                        	at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier$measure$1.invoke(GraphicsLayerModifier.kt:406)
                                                                                                        	at androidx.compose.ui.layout.MeasureScope$layout$1.placeChildren(MeasureScope.kt:70)
                                                                                                        	at androidx.compose.ui.node.ModifiedLayoutNode.placeAt-f8xVGno(ModifiedLayoutNode.kt:101)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50(Placeable.kt:370)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:161)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.access$placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:28)
    2022-10-24 17:47:57.197  9942-9942  AndroidRuntime          meshki.studio.negarname              E  	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:149)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutModifierSnapshotReads$ui_release(OwnerSnapshotObserver.kt:59)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeAt-f8xVGno(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50(Placeable.kt:370)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50$default(Placeable.kt:203)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt.placeInBox(Box.kt:186)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt.access$placeInBox(Box.kt:1)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt$boxMeasurePolicy$1$measure$2.invoke(Box.kt:126)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt$boxMeasurePolicy$1$measure$2.invoke(Box.kt:125)
                                                                                                        	at androidx.compose.ui.layout.MeasureScope$layout$1.placeChildren(MeasureScope.kt:70)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:968)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutSnapshotReads$ui_release(OwnerSnapshotObserver.kt:52)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.layoutChildren$ui_release(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.onNodePlaced$ui_release(LayoutNode.kt:938)
                                                                                                        	at androidx.compose.ui.node.InnerPlaceable.placeAt-f8xVGno(InnerPlaceable.kt:79)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.placeWithLayer(Placeable.kt:393)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.placeWithLayer$default(Placeable.kt:266)
                                                                                                        	at androidx.compose.ui.graphics.BlockGraphicsLayerModifier$measure$1.invoke(GraphicsLayerModifier.kt:344)
                                                                                                        	at androidx.compose.ui.graphics.BlockGraphicsLayerModifier$measure$1.invoke(GraphicsLayerModifier.kt:343)
                                                                                                        	at androidx.compose.ui.layout.MeasureScope$layout$1.placeChildren(MeasureScope.kt:70)
                                                                                                        	at androidx.compose.ui.node.ModifiedLayoutNode.placeAt-f8xVGno(ModifiedLayoutNode.kt:101)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50(Placeable.kt:370)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:161)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.access$placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:28)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:149)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutModifierSnapshotReads$ui_release(OwnerSnapshotObserver.kt:59)
    2022-10-24 17:47:57.198  9942-9942  AndroidRuntime          meshki.studio.negarname              E  	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeAt-f8xVGno(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50(Placeable.kt:370)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50$default(Placeable.kt:203)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt.placeInBox(Box.kt:186)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt.access$placeInBox(Box.kt:1)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt$boxMeasurePolicy$1$measure$5.invoke(Box.kt:167)
                                                                                                        	at androidx.compose.foundation.layout.BoxKt$boxMeasurePolicy$1$measure$5.invoke(Box.kt:163)
                                                                                                        	at androidx.compose.ui.layout.MeasureScope$layout$1.placeChildren(MeasureScope.kt:70)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:968)
                                                                                                        	at androidx.compose.ui.node.LayoutNode$layoutChildren$1.invoke(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutSnapshotReads$ui_release(OwnerSnapshotObserver.kt:52)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.layoutChildren$ui_release(LayoutNode.kt:953)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.onNodePlaced$ui_release(LayoutNode.kt:938)
                                                                                                        	at androidx.compose.ui.node.InnerPlaceable.placeAt-f8xVGno(InnerPlaceable.kt:79)
                                                                                                        	at androidx.compose.ui.layout.Placeable.access$placeAt-f8xVGno(Placeable.kt:31)
                                                                                                        	at androidx.compose.ui.layout.Placeable$PlacementScope.place-70tqf50(Placeable.kt:370)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:161)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.access$placeOuterWrapper-f8xVGno(OuterMeasurablePlaceable.kt:28)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:149)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable$placeAt$1.invoke(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2116)
                                                                                                        	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:110)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78)
                                                                                                        	at androidx.compose.ui.node.OwnerSnapshotObserver.observeLayoutModifierSnapshotReads$ui_release(OwnerSnapshotObserver.kt:59)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.placeAt-f8xVGno(OuterMeasurablePlaceable.kt:148)
                                                                                                        	at androidx.compose.ui.node.OuterMeasurablePlaceable.replace(OuterMeasurablePlaceable.kt:173)
                                                                                                        	at androidx.compose.ui.node.LayoutNode.replace$ui_release(LayoutNode.kt:826)
                                                                                                        	at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureAndRelayoutIfNeeded(MeasureAndLayoutDelegate.kt:280)
                                                                                                        	at androidx.compose.ui.node.MeasureAndLayoutDelegate.access$remeasureAndRelayoutIfNeeded(MeasureAndLayoutDelegate.kt:38)
                                                                                                        	at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureAndLayout(MeasureAndLayoutDelegate.kt:208)
                                                                                                        	at androidx.compose.ui.platform.AndroidComposeView.measureAndLayout(AndroidComposeView.android.kt:757)
                                                                                                        	at androidx.compose.ui.node.Owner.measureAndLayout$default(Owner.kt:196)
                                                                                                        	at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.android.kt:954)
                                                                                                        	at android.view.View.draw(View.java:22707)
                                                                                                        	at android.view.View.updateDisplayListIfDirty(View.java:21579)
                                                                                                        	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4512)
                                                                                                        	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4485)
                                                                                                        	at android.view.View.updateDisplayListIfDirty(View.java:21535)
                                                                                                        	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4512)
                                                                                                        	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4485)
    2022-10-24 17:47:57.198  9942-9942  AndroidRuntime          meshki.studio.negarname              E  	at android.view.View.updateDisplayListIfDirty(View.java:21535)
                                                                                                        	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4512)
                                                                                                        	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4485)
                                                                                                        	at android.view.View.updateDisplayListIfDirty(View.java:21535)
                                                                                                        	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4512)
                                                                                                        	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4485)
                                                                                                        	at android.view.View.updateDisplayListIfDirty(View.java:21535)
                                                                                                        	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:534)
                                                                                                        	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:540)
                                                                                                        	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:616)
                                                                                                        	at android.view.ViewRootImpl.draw(ViewRootImpl.java:4525)
                                                                                                        	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4245)
                                                                                                        	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3374)
                                                                                                        	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2179)
                                                                                                        	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8787)
                                                                                                        	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1037)
                                                                                                        	at android.view.Choreographer.doCallbacks(Choreographer.java:845)
                                                                                                        	at android.view.Choreographer.doFrame(Choreographer.java:780)
                                                                                                        	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
                                                                                                        	at android.os.Handler.handleCallback(Handler.java:938)
                                                                                                        	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                        	at android.os.Looper.loopOnce(Looper.java:201)
                                                                                                        	at android.os.Looper.loop(Looper.java:288)
                                                                                                        	at android.app.ActivityThread.main(ActivityThread.java:7842)
                                                                                                        	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
                                                                                                        	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
    
    bug 
    opened by Borderliner 6
Releases(1.0.5)
Owner
Geovani Amaral
Android developer & Open Source ❤
Geovani Amaral
Android library providing an implementation of the Material Design Floating Action Button Speed Dial.

Android library providing an implementation of the Material Design Floating Action Button Speed Dial.

Sanyam Mehta 6 Dec 24, 2022
Floating Action Button But Moveable And Expandalbe

MeFab todo add the maven bacge here Floating Action Button but MOVEABLE and EXPA

Hussien Fahmy 6 Dec 30, 2022
[] Android floating action button

DEPRECATED Use the FloatingActionButton from the support library instead. FloatingActionButton Description Android floating action button which reacts

Oleksandr Melnykov 4k Jan 5, 2023
A simple Floating Action Button that shows an anchored Navigation View

Floating Navigation View A simple Floating Action Button that shows an anchored Navigation View and was inspired by Menu Material Fixed created by Tom

André Mion 1.3k Dec 29, 2022
Kotlin Expanding Floating Action button

Kotlin-Expanding-Floating-Action_button Home Screen As you can see there is only a siongle floating button with + icon Expanding Fab button When we cl

Akshay Teli 0 Nov 3, 2021
Base on android-process-button this is the advanced version of the android-process-button.

Rock Button release log Base on android-process-button this is the advanced version of the android-process-button ##Main Features ActionProcessButton

MDCCLXXVI KPT 119 Nov 25, 2022
FButton - a flat button library for Android

FButton FButton is a custom Button of Android with "Flat UI" concept. FButton's design get inspiration from designmono. This library is very small and

Le Van Hoang 1.4k Dec 12, 2022
[] An Android library for an expandable button menu

ExpandableButtonMenu ExpandableButtonMenu is an Android library which implements an expandable button that can be used as a substitute of a fixed size

Lemon Labs 325 Nov 14, 2022
Button for android with animations for transition and error states.

Transition Button Android Preview Expand animation: Shake animation: Installation Gradle dependencies { implementation 'com.royrodriguez:transitionbu

Roy Rodriguez 137 Jan 3, 2023
A cute widget of Switch Button for you to create beautiful and friendly UI.

SwitchButton To get a quick preview, you can get Demo apk in Google Play or Directly download. This project provides you a convenient way to use and c

kyleduo 4.6k Dec 31, 2022
comtomize view submit button which you use for submit operation or download operation and so on.

This is library project with a custom view that implements concept of Submit Button (https://dribbble.com/shots/1426764-Submit-Button?list=likes&offse

ZhangLei 129 Feb 5, 2021
Android Circular Progress Button

?? Before using this library, read information below ?? This library is not more supported. If you want to add new feature or fix a bug, grab source

Dmytro Danylyk 5.6k Jan 7, 2023
Circle button widget for Android

DEPRECATED This library is deprecated and no new development is taking place. Consider using a FAB(Floating action button) instead. E.g. the Android D

Markus Hintersteiner 1.5k Dec 9, 2022
Android button which moves in eight direction.

Moving Button Android button which moves in eight direction. Preview Sample Demo You can download demo movie file here : demo.mov It's also on Youtube

Leonardo Taehwan Kim 130 Nov 22, 2022
A download button with pretty cool animation

ArrowDownloadButton A download button with pretty cool animation, this is an implemention of https://dribbble.com/shots/2012292-Download-Animation Enj

Rongchan Liu 966 Nov 29, 2022
Button which is visible while user holds it. Main use case is controlling audio recording state (like in Telegram, Viber, VK).

HoldingButton Button which is visible while user holds it. Main use case is controlling audio recording state (like in Telegram, Viber, VK). Getting s

Artem Hluhovskyi 594 Jan 1, 2023
This is a Material Design loading button

This is a library project with a custom view that implements concept of Send Comment (https://dribbble.com/shots/1986254-Send-Comment-Shoppr) made by

DevinShine 295 Jul 31, 2022
A raised button that lowers down to 0dp of elevation

RaiflatButton A raised button that lowers down to 0dp of elevation. From my blog post: https://rubensousa.github.io/2016/10/raiflatbutton It behaves l

Rúben Sousa 328 Sep 11, 2022
A shopping cart button with a telescopic displacement rotation animation ...一个带伸缩位移旋转动画的购物车按钮

AnimShopButton A shopping cart button with a telescopic displacement rotation animation ... 一个仿饿了么 带伸缩位移旋转动画的购物车按钮 注意,本控件非继承自ViewGroup,而是纯自定义View,实现的仿

张旭童 1.3k Nov 10, 2022