ActionSource - VerstSiu/kotlin_extension GitHub Wiki

Router helper to declare application id related action path.

API List

package com.ijoic.ktx.content.router

abstract class ActionSource([module: String?]) {
   /*
    * Bind actions
    */
   protected fun bindRootAction(suffix: String): String
   protected fun bindChildAction(suffix: String): String
}

Usage

  1. Initialize app context:

    class MyApplication: Application() {
      override fun onCreate() {
        super.onCreate()
        AppState.bindContext(this)
      }
    }
    
  2. Declare action constants:

    class AccountActions: ActionSource("account") {
      /**
       * Sign in.
       */
      val signIn = bindRootAction("sign_in") // "{your-app-package}.sign_in"
    
      /**
       * Sign up.
       */
      val signUp = bindChildAction("sign_up") // "{your-app-package}.account.sign_up"
    }
    
  3. Use action constants:

    context.routeTo(AccountActions.signIn)
    

Customize

  • change default package name:

    Router.defPackage = "{your-app-package}"