The signal is device_metadata_available, and is raised after all the connection processing is complete. It should be visible to a plugin as gui.device_metadata_available.
The sequence: gui.device_manager.is_device_connected will become True, then sometime later gui.device_metadata_available will be signaled. This does not mean that there are no more jobs running. Automatic metadata management might have kicked off a sync_booklists to write new metadata onto the device, and that job might still be running when the signal is emitted.