This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.graphics.Rect | |
| import android.view.View | |
| import androidx.recyclerview.widget.RecyclerView | |
| // ViewHolder of current item, index of item, itemsCount | |
| typealias SpacePredictor = (RecyclerView.ViewHolder, Int, Int) -> Boolean | |
| class BottomSpaceToTopItemDecoration( | |
| val predictor: SpacePredictor | |
| ) : RecyclerView.ItemDecoration() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package com.app.animalcare.client.common.utils.audio | |
| import io.github.aakira.napier.Napier | |
| import kotlinx.cinterop.* | |
| import platform.AVFAudio.* | |
| import platform.CoreAudioTypes.kAudioFormatMPEG4AAC | |
| import platform.Foundation.NSError | |
| import platform.Foundation.NSURL | |
| data class LocalUrl( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @OptIn(ExperimentalForeignApi::class, BetaInteropApi::class) | |
| internal inline fun ByteArray.toData(offset: Int = 0, length: ULong = size.toULong()): NSData { | |
| if (isEmpty()) return NSData() | |
| val pinned = pin() | |
| return NSData.create( | |
| bytesNoCopy = pinned.addressOf(offset), | |
| length = length, | |
| deallocator = { _, _ -> pinned.unpin() } | |
| ) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import io.github.aakira.napier.Napier | |
| import kotlinx.cinterop.* | |
| import platform.AVFAudio.AVAudioPlayer | |
| import platform.AVFAudio.AVAudioPlayerDelegateProtocol | |
| import platform.Foundation.NSError | |
| import platform.Foundation.NSURL | |
| import kotlin.time.Duration | |
| import kotlin.time.DurationUnit | |
| import kotlin.time.ExperimentalTime | |
| import kotlin.time.toDuration |