Skip to content
This repository has been archived by the owner on Jul 13, 2020. It is now read-only.

Commit

Permalink
Add intent helpers for stopping services. (#509)
Browse files Browse the repository at this point in the history
  • Loading branch information
kizitonwose authored and 4u7 committed Nov 20, 2017
1 parent 2c7c805 commit 93fd14e
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 2 deletions.
9 changes: 9 additions & 0 deletions anko/library/static/commons/src/Intents.kt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,15 @@ inline fun <reified T: Service> AnkoContext<*>.startService(vararg params: Pair<
inline fun <reified T: Service> Fragment.startService(vararg params: Pair<String, Any?>) =
AnkoInternals.internalStartService(activity, T::class.java, params)

inline fun <reified T : Service> Context.stopService(vararg params: Pair<String, Any?>) =
AnkoInternals.internalStopService(this, T::class.java, params)

inline fun <reified T : Service> AnkoContext<*>.stopService(vararg params: Pair<String, Any?>) =
AnkoInternals.internalStopService(ctx, T::class.java, params)

inline fun <reified T : Service> Fragment.stopService(vararg params: Pair<String, Any?>) =
AnkoInternals.internalStopService(activity, T::class.java, params)

inline fun <reified T: Any> Context.intentFor(vararg params: Pair<String, Any?>): Intent =
AnkoInternals.createIntent(this, T::class.java, params)

Expand Down
11 changes: 9 additions & 2 deletions anko/library/static/commons/src/Internals.kt
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,16 @@ object AnkoInternals {
@JvmStatic
fun internalStartService(
ctx: Context,
activity: Class<out Service>,
service: Class<out Service>,
params: Array<out Pair<String, Any?>>
): ComponentName? = ctx.startService(createIntent(ctx, activity, params))
): ComponentName? = ctx.startService(createIntent(ctx, service, params))

@JvmStatic
fun internalStopService(
ctx: Context,
service: Class<out Service>,
params: Array<out Pair<String, Any?>>
): Boolean = ctx.stopService(createIntent(ctx, service, params))

@JvmStatic
private fun fillIntentArguments(intent: Intent, params: Array<out Pair<String, Any?>>) {
Expand Down
4 changes: 4 additions & 0 deletions anko/library/static/supportV4/src/SupportIntents.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,8 @@ inline fun <reified T: Service> Fragment.startService(vararg params: Pair<String
AnkoInternals.internalStartService(activity, T::class.java, params)
}

inline fun <reified T : Service> Fragment.stopService(vararg params: Pair<String, Any>) {
AnkoInternals.internalStopService(activity, T::class.java, params)
}

inline fun <reified T: Any> Fragment.intentFor(): Intent = Intent(activity, T::class.java)

0 comments on commit 93fd14e

Please sign in to comment.