This file contains 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 |
This file contains 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 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 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() { |