> File > //depot/googleclient/gears/opensource/gears/geolocation/network_location_provider.cc > (snapshot 2) > ------------------------------------ > Line 98: key->append(STRING16(L"|") + iter->mac_address + STRING16(L"|")); > does this really work? what if the platform returns the same access points but > in a different order: the keys won't match, right? It does work because the access point data is stored in a set, which is sorted by MAC address, so we always get the MAC addresses in the same order. I've added some comments to device_data_provider.h to make this clear.
> if the signal strength is > different, is it correct for the keys to match? Ignoring the signal strength (and all the other WiFi parameters other then MAC address) means that this is only an approximation, but it's still helpful. It solves the common case where the device 'yo-yos' between a small number of sets of device data. This means that we don't hit the network again for sets we've seen before. New snapshot uploaded.
