Data Type Impl
Base class for implementation of DataType.
Use for streaming data and custom data type views.
If RemoteViews are being updated in startView, DataType.graphical should be true.
See also
Samples
import android.content.Context
import android.widget.RemoteViews
import io.hammerhead.karooext.KarooSystemService
import io.hammerhead.karooext.extension.DataTypeImpl
import io.hammerhead.karooext.extension.KarooExtension
import io.hammerhead.karooext.internal.Emitter
import io.hammerhead.karooext.internal.ViewEmitter
import io.hammerhead.karooext.models.StreamState
import io.hammerhead.karooext.models.UpdateGraphicConfig
import io.hammerhead.karooext.models.ViewConfig
fun main() {
//sampleStart
class EmptyDataType(extension: String) : DataTypeImpl(extension, "empty-datatype") {
override fun startStream(emitter: Emitter<StreamState>) {
emitter.onNext(StreamState.Searching)
emitter.setCancellable {
println("cleanup")
}
}
}
//sampleEnd
}import android.content.Context
import android.widget.RemoteViews
import io.hammerhead.karooext.KarooSystemService
import io.hammerhead.karooext.extension.DataTypeImpl
import io.hammerhead.karooext.extension.KarooExtension
import io.hammerhead.karooext.internal.Emitter
import io.hammerhead.karooext.internal.ViewEmitter
import io.hammerhead.karooext.models.StreamState
import io.hammerhead.karooext.models.UpdateGraphicConfig
import io.hammerhead.karooext.models.ViewConfig
fun main() {
//sampleStart
class EmptyDataType(extension: String) : DataTypeImpl(extension, "empty-visual-datatype") {
override fun startView(context: Context, config: ViewConfig, emitter: ViewEmitter) {
emitter.onNext(UpdateGraphicConfig(showHeader = false))
emitter.updateView(remoteViews)
emitter.setCancellable {
println("cleanup")
}
}
}
//sampleEnd
}Functions
Link copied to clipboard
Start emitting StreamState events for this data type. This is required for use as a standard numeric view or if any data from this data type needs to be consumed by the custom view or another data type.
Link copied to clipboard
Start emitting ViewEvent events and RemoteViews for this data type's custom view.