``` @Module open class WhatNowModule(private val a...
# kapt
s
Copy code
@Module
open class WhatNowModule(private val app: WhatNowApplication) {
    @Provides
    fun provideWhatNowApplication(): WhatNowApplication {
        return app
    }

    @Provides
    fun provideApplication(): Application {
        return app
    }

    @Provides
    fun provideHollywoodApp(initialModel: Model,
                                     actors: Collection<Actor>,
                                     exceptionHandler: ModelExceptionHandler): HollywoodApplication {
        return HollywoodApplication(initialModel,
                actors,
                exceptionHandler, LoggerFactory.getLogger(HollywoodApplication::class.java))
    }

    @Provides
    fun provideInitialModel(tasksModel: TasksModel,
                                     preferencesModel: WhatNowPreferencesModel): Model {
        return CompositeModel(tasksModel, preferencesModel)
    }

    @Provides
    fun provideActors(): Collection<Actor> {
        return Arrays.asList<Actor>(StubActor())
    }

    @Provides
    fun provideModelExceptionHandler(): ModelExceptionHandler {
        return ReinstateModelExceptionHandler()
    }
}