RouteExtra.kt 973 B

123456789101112131415161718192021222324252627282930
  1. package com.hzliuzhi.applet.container.navigation
  2. import android.util.Log
  3. import com.hzliuzhi.applet.browser.navigation.BrowserRoute
  4. import com.hzliuzhi.applet.core.router.DeepLink
  5. import com.hzliuzhi.applet.core.router.navRoute
  6. internal fun String?.toRoute(): String? {
  7. val value = this?.replace(DeepLink().scheme, "") ?: ""
  8. return when {
  9. value.startsWith("home") -> navRoute<AppRoute.Home>()
  10. value.startsWith("launcher") -> {
  11. val text = value.substringAfter("launcher?text=", "")
  12. navRoute(AppRoute.Launcher(text = text))
  13. }
  14. value.startsWith("browser/update") -> navRoute<BrowserRoute.Update>()
  15. value.startsWith("browser/web?url=") -> {
  16. val url = value.substringAfter("browser/web?url=", "")
  17. navRoute(BrowserRoute.Web(url = url))
  18. }
  19. value.startsWith("browser/kiosk?url=") -> {
  20. val url = value.substringAfter("browser/kiosk?url=", "")
  21. navRoute(BrowserRoute.Kiosk(url = url))
  22. }
  23. else -> null
  24. }
  25. }