def get_connection_info(cls):
        """ Get info about current wifi connection (if any). Returns
        info such as the IP address, BSSID, link speed, signal, etc.. 
         
         Returns
         --------
             result: future
                 A future that resolves with a dict of the connection info
                 or None if an error occurred (ie permission denied).s
 
         """
        app = AndroidApplication.instance()
        f = app.create_future()

        def on_permission_result(result):
            if not result:
                f.set_result(None)
                return

            def on_ready(mgr):
                mgr.getConnectionInfo().then(f.set_result)

            #: Get the service
            WifiManager.get().then(on_ready)

        #: Request permissions
        WifiManager.request_permission([
            WifiManager.PERMISSION_ACCESS_WIFI_STATE
        ]).then(on_permission_result)

        return f