Skip to content

Instantly share code, notes, and snippets.

@mayuce
Created November 7, 2020 13:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mayuce/892258e8c1167358d77306feab453080 to your computer and use it in GitHub Desktop.
Save mayuce/892258e8c1167358d77306feab453080 to your computer and use it in GitHub Desktop.
package com.some.package.router
import android.content.Context
import android.net.Uri
import android.os.Parcelable
import android.widget.Toast
import com.some.package.routing.Routable
import com.some.package.ui.moviedetail.presentation.MovieDetailActivity
import kotlinx.android.parcel.Parcelize
class MovieDetailRouter {
companion object : Routable<MovieDetailActivity, RouterData> {
private const val KEY_MOVIE_ID = "movieId"
override val route: Class<MovieDetailActivity>
get() = MovieDetailActivity::class.java
override val deepLinkCode: Array<Int>?
get() = arrayOf(1)
override fun startDeepLink(context: Context?, data: Uri?) {
data?.getQueryParameter(KEY_MOVIE_ID)?.toIntOrNull()?.let {
Toast.makeText(context, "Movie Detail deep link executing", Toast.LENGTH_SHORT)
.show()
startActivity(context, RouterData(it))
}
}
}
@Parcelize
data class RouterData(
val movieId: Int?
) : Parcelable
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment