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 PMkarelpeeters
09/08/2018, 6:53 PMisDrawerOpen
doesn't seem to be a member function of drawer
Marcin 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.