Skip to content

Instantly share code, notes, and snippets.

@icris
icris / BaseActivity.kt
Last active April 5, 2017 14:05
Some simple functions. Useful for displaying a progress dialog when something working in background.
import com.trello.rxlifecycle2.components.support.RxAppCompatActivity
import com.trello.rxlifecycle2.kotlin.bindToLifecycle
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
/**
* base activity
* all activities should extend base activity
* Created by icris on 2017/3/27.
*/
@icris
icris / LoadingDialog.kt
Last active April 5, 2017 14:00
A dialogFragment with a loading gif.
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.support.v4.app.DialogFragment
import android.view.*
import com.facebook.common.util.UriUtil
import com.facebook.drawee.backends.pipeline.Fresco
import com.facebook.drawee.drawable.ScalingUtils
import com.facebook.drawee.view.SimpleDraweeView
import org.jetbrains.anko.*
@icris
icris / SimpleDraweeView.kt
Created March 30, 2017 14:33
Anko custom SimpleDraweeView. dependency: *Fresco*, *Anko*
@file:Suppress("NOTHING_TO_INLINE")
import android.app.Activity
import android.content.Context
import android.net.Uri
import android.view.ViewManager
import com.facebook.common.util.UriUtil
import com.facebook.drawee.backends.pipeline.Fresco
import com.facebook.drawee.view.SimpleDraweeView
import org.jetbrains.anko.custom.ankoView
@icris
icris / Null.kt
Created March 30, 2017 13:41
RxJava 2.x no longer accepts null values, as a simple workaround, an Observable<Null> can emit a Null, and it works with retrofit+Jackson when dealing with data from a web service.
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.DeserializationContext
import com.fasterxml.jackson.databind.JsonDeserializer
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
/**
* null
* Created by icris on 2017/3/26.
*/
@JsonDeserialize(using = NullDeserializer::class)