aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt
diff options
context:
space:
mode:
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.kt16
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