public WiFiP2pService getServiceByDevice ( WifiP2pDevice device ) { if ( device == null ) { return null ; } WfdLog . d ( TAG , "groupownerdevice passed to getServiceByDevice: " + device . deviceName + ", " + device . deviceAddress ) ; WfdLog . d ( TAG , "servicelist size: " + serviceList . size ( ) ) ; for ( WiFiP2pService element : serviceList ) { WfdLog . d ( TAG , "element in list: " + element . getDevice ( ) . deviceName + ", " + element . getDevice ( ) . deviceAddress ) ; WfdLog . d ( TAG , "element passed : " + device . deviceName + ", " + device . deviceAddress ) ; if ( element . getDevice ( ) . deviceAddress . equals ( device . deviceAddress ) ) { WfdLog . d ( TAG , "getServiceByDevice if satisfied : " + device . deviceAddress + ", " + element . getDevice ( ) . deviceAddress ) ; return element ; } } WfdLog . d ( TAG , "servicelist size: " + serviceList . size ( ) ) ; return null ; }
Method to get a service from the list using only the device . This method use only the deviceAddress not the device name because sometimes Android doesn t get the name but only the mac address .