ParamToActivityMapper
interface ParamToActivityMapper
Implement this mapper that will return Activity class for the given parameters. Once implemented it, you need to contribute it as a multibinding using ContributesMultibinding into the AppScope.
@ContributesMultibinding(AppScope::class)
class ExampleParamToActivityMapper @Inject constructor(...) : ParamToActivityMapper {
fun fun map(params: ActivityParams): Class<out AppCompatActivity>? {
return if (params is ExampleActivityParams) {
ExampleActivity::class.java
}
else {
null
}
}
}
data class ExampleActivityParams(...) : ActivityParams
class ExampleActivity() : DuckDuckGoActivity() {...}
Content copied to clipboard
Alternatively you can also use the ContributeToActivityStarter annotation to autogenerate the parap to activity mapper above.
@ContributeToActivityStarter(ExampleActivityParams::class)
class ExampleActivity() : DuckDuckGoActivity() {...}
Content copied to clipboard
Functions
Link copied to clipboard
abstract fun map(activityParams: GlobalActivityStarter.ActivityParams): Class<out AppCompatActivity>?
abstract fun map(deeplinkActivityParams: GlobalActivityStarter.DeeplinkActivityParams): GlobalActivityStarter.ActivityParams?