By extending selendroid device with androidHybrid and androidContextController methods we make it not only a selendroid proxy, but a kind of proxy controller - controlling selendroid and chromedriver - similarly to android device. When it is in Chromium context, it proxies requests to chromedriver and when in NATIVE_APP context (UI) - to Selendroid. Therefore it has to handle context switching commands by itself. The same applies to getting the current context and getting available contexts list as Selendroid doesn't support Chromium context.