Skip to content

Instantly share code, notes, and snippets.

View Syex's full-sized avatar

Tom Seifert Syex

View GitHub Profile
class Emitter(private val stateObservable: Observable<State>) {
private val subject = BehaviorSubject.create<Data>()
init {
stateObservable.subscribe { stateChanged(it) }
}
private fun stateChanged(state: State) {
when (state) {
class Emitter {
fun defaultStateObservable(): Observable<Data>
fun specialStateObservable(): Observable<Data>
}
class Emitter {
fun defaultStateObservable(): Observable<Data>
fun specialStateObservable(): Observable<Data>
}
class Emitter(private val stateObservable: Observable<State>) {
init {
stateObservable.subscribe { stateChanged(it) }
}
private fun stateChanged(state: State) {
}
class Emitter(private val stateObservable: Observable<State>) {
private val subject = BehaviorSubject.create<Data>()
private var subscriberCount = AtomicInteger()
private val onSubscribeConsumer: (() -> Unit) = {
if (subscriberCount.getAndIncrement() == 0) subscribeToObservable()
}
private val onDisposeConsumer: (() -> Unit) = {
if (subscriberCount.decrementAndGet() == 0) unsubscribeFromObservable()
}
interface SampleRepository {
fun getData(): Observable<Data>
}
class SampleRepositoryImpl(private val emitter: Emitter) : SampleRepository {
override fun getData(): Observable<Data> = emitter.stateObservable()
}
fun recognizeText() {
val bitmap = BitmapFactory.decodeResource(resources, R.drawable.image)
val visionImage = FirebaseVisionImage.fromBitmap(bitmap)
val detector = FirebaseVision.getInstance().visionTextDetector
detector.detectInImage(visionImage)
.addOnSuccessListener {
for (block in it.blocks) {
val boundingBox = block.boundingBox
val cornerPoints = block.cornerPoints
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path
name="images"
path="." />
</paths>