From 7d23503974b389c46dec50b23dcc4d62e5b2a872 Mon Sep 17 00:00:00 2001 From: Anton Cherkashyn Date: Sun, 29 Jul 2018 12:09:53 -0700 Subject: [PATCH] Add Intent extension functions for View class: View.startActivity() View.startService() View.stopService() View.intentFor() --- .../library/static/commons/src/main/java/Intents.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/anko/library/static/commons/src/main/java/Intents.kt b/anko/library/static/commons/src/main/java/Intents.kt index 79682f76..ab241e82 100644 --- a/anko/library/static/commons/src/main/java/Intents.kt +++ b/anko/library/static/commons/src/main/java/Intents.kt @@ -25,6 +25,7 @@ import android.content.Context import android.content.Intent import android.net.Uri import android.os.Build +import android.view.View import org.jetbrains.anko.internals.AnkoInternals inline fun Context.startActivity(vararg params: Pair) = @@ -37,6 +38,9 @@ inline fun AnkoContext<*>.startActivity(vararg params: Pai inline fun Fragment.startActivity(vararg params: Pair) = AnkoInternals.internalStartActivity(activity, T::class.java, params) +inline fun View.startActivity(vararg params: Pair) = + AnkoInternals.internalStartActivity(context, T::class.java, params) + inline fun Activity.startActivityForResult(requestCode: Int, vararg params: Pair) = AnkoInternals.internalStartActivityForResult(this, T::class.java, requestCode, params) @@ -54,6 +58,9 @@ inline fun AnkoContext<*>.startService(vararg params: Pair< inline fun Fragment.startService(vararg params: Pair) = AnkoInternals.internalStartService(activity, T::class.java, params) +inline fun View.startService(vararg params: Pair) = + AnkoInternals.internalStartService(context, T::class.java, params) + inline fun Context.stopService(vararg params: Pair) = AnkoInternals.internalStopService(this, T::class.java, params) @@ -64,6 +71,9 @@ inline fun AnkoContext<*>.stopService(vararg params: Pair< inline fun Fragment.stopService(vararg params: Pair) = AnkoInternals.internalStopService(activity, T::class.java, params) +inline fun View.stopService(vararg params: Pair) = + AnkoInternals.internalStopService(context, T::class.java, params) + inline fun Context.intentFor(vararg params: Pair): Intent = AnkoInternals.createIntent(this, T::class.java, params) @@ -74,6 +84,9 @@ inline fun AnkoContext<*>.intentFor(vararg params: Pair Fragment.intentFor(vararg params: Pair): Intent = AnkoInternals.createIntent(activity, T::class.java, params) +inline fun View.intentFor(vararg params: Pair): Intent = + AnkoInternals.createIntent(context, T::class.java, params) + /** * Add the [Intent.FLAG_ACTIVITY_CLEAR_TASK] flag to the [Intent]. *