Skip to content

Instantly share code, notes, and snippets.

View filipproch's full-sized avatar

Filip Prochazka filipproch

View GitHub Profile
@filipproch
filipproch / build.gradle
Last active March 18, 2018 17:56
Kotlin example
dependencies {
implementation 'com.github.salomonbrys.kodein:kodein:4.1.0'
implementation 'com.github.salomonbrys.kodein:kodein-android:4.1.0'
}
class MyApp : Application(), KodeinAware {
override val kodein by Kodein.lazy {
/* ... */
}
}
interface TasksRepository {
fun createNewTask(message: String)
fun getTasks(): List<Task>
}
val diModel = Kodein.Module {
bind<TasksRepository>() with singleton {
FakeTasksRepository()
}
}
val appDiModule = Kodein.Module {
import(diModel)
import(diUI)
}
class MyApp : Application(), KodeinAware {
class MyApp : Application(), KodeinAware {
override val kodein: Kodein = Kodein {
bind<TasksRepository>() with singleton {
FakeTasksRepository()
}
}
}
class MainActivity : AppCompatActivity(), AppCompatActivityInjector {
override val injector: KodeinInjector = KodeinInjector()
private val repository: TasksRepository by instance()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initializeInjector()
}
val repository: TasksRepository = kodein.instance()
void startNewGame() {
myCells.forEach((cellElement) => cellElement.setInnerHtml("a"));
}
// with function
void startNewGame() {
myCells.forEach(resetElement);
}

Keybase proof

I hereby claim:

  • I am filipproch on github.
  • I am filipproch (https://keybase.io/filipproch) on keybase.
  • I have a public key ASBr4s3Fi0jXfqbLU5dlaOs_aJFZuKJnxzY1zfz0VRXwOQo

To claim this, I am signing this object: