Skip to content

Instantly share code, notes, and snippets.

View aanandshekharroy's full-sized avatar
👋

Aanand Shekhar Roy aanandshekharroy

👋
View GitHub Profile
@aanandshekharroy
aanandshekharroy / ParameterizedUnitTest.kt
Created February 10, 2018 11:04
Used JUnitParams to create parametrized unit test in Kotlin
import junitparams.JUnitParamsRunner
import junitparams.Parameters
import org.junit.Test;
import org.junit.Assert.*;
import org.junit.Before
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import java.util.*
@aanandshekharroy
aanandshekharroy / rxKotlin.kt
Created February 12, 2018 16:52
Simple RxKotlin
Observable.fromArray(1,2,3,4)
.subscribeBy(
onNext = {
println(it)
},
onComplete = {
println("Completed")
},
onError = {
println(it.message)
Observable.fromArray(1,2,3,4)
.subscribeBy(
onNext = {
if(it==2){
throw (RuntimeException("Exception on 2"))
}
println(it)
},
onComplete = {
println("Completed")
Observable.fromArray(1,2,3)
.doOnNext {
if(it==2){
throw (RuntimeException("Exception on 2"))
}
}
.onExceptionResumeNext(Observable.just(10))
.subscribeBy(
onNext = {
println(it)
Observable.fromArray(1,2,3)
.doOnNext {
if(it==2){
throw (RuntimeException("Exception on 2"))
}
}
.doOnError {
println("Doing on error")
}
.subscribeBy(
Observable.fromArray(1,2,3)
.doOnNext {
if(it==2){
throw (RuntimeException("Exception on 2"))
}
}
.onErrorReturnItem (-1)
.subscribeBy(
onNext = {
println(it)
Observable.fromArray(1,2,3)
.doOnNext {
if(it==2){
throw (RuntimeException("Exception on 2"))
}
}
.onErrorReturn{
t: Throwable ->
if(t.message=="<something you want>"){
1 // Return a value based on error type
Observable.fromArray(1,2,3)
.doOnNext {
if(it==2){
throw (RuntimeException("Exception on 2"))
}
}
.retry()
.subscribeBy(
onNext = {
println(it)
Observable.fromArray(1,2,3)
.doOnNext {
if(it==2){
throw (RuntimeException("Exception on 2"))
}
}
.retry(3)
.subscribeBy(
onNext = {
println(it)
class RandomNumberGeneratorService:Service() {
private val binder: IBinder = RandomNumberGeneratorServiceBinder()
private lateinit var handlerThread:HandlerThread
private lateinit var handler: Handler
var randomNumber: Int = -1
private val TAG = RandomNumberGeneratorService::class.java.simpleName
private lateinit var mNM: NotificationManager
private val NOTIFICATION = R.string.local_service_started
private val HANDLER_THREAD_NAME="random_number_generator_thread"
private lateinit var notificationBuilder: NotificationCompat.Builder