Skip to content

Instantly share code, notes, and snippets.

kotlin {
android()
ios {
binaries.all {
freeCompilerArgs += "-Xobjc-generics"
}
}
tvos {
@agent10
agent10 / customDelay.kt
Created April 9, 2020 19:17
Delay workaround for mpp for iOS
actual suspend fun customDelay(timeMillis: Long) {
suspendCancellableCoroutine<Unit> { cont ->
val ntime = dispatch_time(DISPATCH_TIME_NOW, timeMillis * NSEC_PER_MSEC.toLong())
dispatch_after(ntime, dispatch_get_main_queue()) {
cont.resume(Unit)
}
}
}
@agent10
agent10 / InternetChecker.kt
Created March 6, 2020 16:03
Simple check internet connection
class InternetChecker @Inject constructor() {
fun hasInternet(): Single<Boolean> {
return Single.fromCallable {
try {
// Connect to Google DNS to check for connection
val timeoutMs = 1500
val socket = Socket()
val socketAddress = InetSocketAddress("8.8.8.8", 53)
socket.connect(socketAddress, timeoutMs)
@agent10
agent10 / ImageConverter.kt
Created February 21, 2020 19:02
android.media.Image(yuv420) converter to Bitmap with RenderScript
import android.content.Context
import android.graphics.Bitmap
import android.graphics.ImageFormat
import android.graphics.Matrix
import android.media.Image
import android.renderscript.*
class ImageConverter(private val context: Context) {
class ImageConvertFailed : Exception("Image converting failed")
import android.Manifest
import android.content.Context
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.graphics.*
import android.hardware.camera2.*
import android.media.ImageReader
import android.os.Bundle
import android.os.Handler