Marcin Wisniowski
09/08/2018, 6:10 PMoverride fun onBackPressed() {
drawer?.run {
if (!isDrawerOpen) {
openDrawer()
this
} else null
} ?: super.onBackPressed()
}Nikky
09/08/2018, 6:14 PMdrawer?.takeIf { !isDrawerOpen }?.apply { openDrawer() }
to avoid if else null and you can also ret rid of the run block thenMarcin Wisniowski
09/08/2018, 6:27 PMisDrawerOpen is a method of the drawer, so it won't work inside the takeIf (and I can't do drawer.isDrawerOpen inside since it can be null).chalup
09/08/2018, 6:46 PMchalup
09/08/2018, 6:47 PMchalup
09/08/2018, 6:48 PMkarelpeeters
09/08/2018, 6:53 PMisDrawerOpen doesn't seem to be a member function of drawerMarcin Wisniowski
09/08/2018, 7:10 PMdrawer?.takeUnless { it.isDrawerOpen }?.apply { openDrawer() } ?: super.onBackPressed() works great! Thank you Jerzy, pozdrawiam. 🙂
Karel: drawer is the receiver in run which is why isDrawerOpen doesn't look like it uses it.