EtchDroid/app/src/main/java/eu/depau/etchdroid/services/UsbApiImgWriteService.kt

21 lines
757 B
Kotlin

package eu.depau.etchdroid.services
import android.hardware.usb.UsbDevice
import android.net.Uri
import eu.depau.etchdroid.kotlin_exts.getFileName
import eu.depau.etchdroid.kotlin_exts.getFileSize
import eu.depau.etchdroid.kotlin_exts.name
import java.io.InputStream
class UsbApiImgWriteService : UsbApiWriteService("UsbApiImgWriteService") {
override fun getSendProgress(usbDevice: UsbDevice, uri: Uri): (Long) -> Unit {
val imageSize = uri.getFileSize(this)
return { bytes ->
updateNotification(usbDevice.name, uri.getFileName(this), bytes, (bytes.toFloat() / imageSize * 100).toInt())
}
}
override fun getInputStream(uri: Uri): InputStream {
return contentResolver.openInputStream(uri)!!
}
}