diff options
Diffstat (limited to 'core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt')
-rw-r--r-- | core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt b/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt index 90961c5..3484353 100644 --- a/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt +++ b/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt @@ -28,18 +28,28 @@ annotation class KauActivity * Counterpart of [Activity.startActivityForResult] * For starting activities without result, see [startActivity] */ -inline fun Activity.startActivityForResult( - clazz: Class<out Activity>, +inline fun <reified T : Activity> Activity.startActivityForResult( requestCode: Int, bundleBuilder: Bundle.() -> Unit = {}, intentBuilder: Intent.() -> Unit = {}) { - val intent = Intent(this, clazz) + val intent = Intent(this, T::class.java) intent.intentBuilder() val bundle = Bundle() bundle.bundleBuilder() startActivityForResult(intent, requestCode, bundle) } +@Deprecated("Use reified generic instead of passing class", + ReplaceWith("startActivityForResult<T>(requestCode, bundleBuilder, intentBuilder)"), + DeprecationLevel.WARNING) +inline fun <reified T : Activity> Activity.startActivityForResult( + clazz: Class<T>, + requestCode: Int, + bundleBuilder: Bundle.() -> Unit = {}, + intentBuilder: Intent.() -> Unit = {}) { + startActivityForResult<T>(requestCode, bundleBuilder, intentBuilder) +} + /** * Restarts an activity from itself with a fade animation * Keeps its existing extra bundles and has a intentBuilder to accept other parameters |