Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.app.Activity
- import android.content.Context
- import android.content.Intent
- import android.os.Build
- import android.os.Bundle
- /**
- * Extensions for simpler launching of Activities
- */
- inline fun <reified T : Activity> Activity.launchActivity(
- requestCode: Int = -1,
- options: Bundle? = null,
- noinline init: Intent.() -> Unit = {}) {
- val intent = newIntent<T>(this)
- intent.init()
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- startActivityForResult(intent, requestCode, options)
- } else {
- startActivityForResult(intent, requestCode)
- }
- }
- inline fun <reified T : Activity> Context.launchActivity(
- options: Bundle? = null,
- noinline init: Intent.() -> Unit = {}) {
- val intent = newIntent<T>(this)
- intent.init()
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- startActivity(intent, options)
- } else {
- startActivity(intent)
- }
- }
- inline fun <reified T : Any> newIntent(context: Context): Intent =
- Intent(context, T::class.java)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement