Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. import android.app.Activity
  2. import android.content.Context
  3. import android.content.Intent
  4. import android.os.Build
  5. import android.os.Bundle
  6.  
  7. /**
  8. * Extensions for simpler launching of Activities
  9. */
  10. inline fun <reified T : Activity> Activity.launchActivity(
  11. requestCode: Int = -1,
  12. options: Bundle? = null,
  13. noinline init: Intent.() -> Unit = {}) {
  14.  
  15. val intent = newIntent<T>(this)
  16. intent.init()
  17. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
  18. startActivityForResult(intent, requestCode, options)
  19. } else {
  20. startActivityForResult(intent, requestCode)
  21. }
  22. }
  23.  
  24. inline fun <reified T : Activity> Context.launchActivity(
  25. options: Bundle? = null,
  26. noinline init: Intent.() -> Unit = {}) {
  27.  
  28. val intent = newIntent<T>(this)
  29. intent.init()
  30. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
  31. startActivity(intent, options)
  32. } else {
  33. startActivity(intent)
  34. }
  35. }
  36.  
  37. inline fun <reified T : Any> newIntent(context: Context): Intent =
  38. Intent(context, T::class.java)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement