How does Android chooses among multiple access points?
I have been doing a lot of research on this. Unfortunately I was not able to find how, by default, Android chooses among multiple access points. 

For instance, if a user walks into a mall and there are 3 hotspots within range, how does the device selects which access point to connect to? 

    -Does the device selects the AP based in the order in which they are in the Wi-Fi stack? 
    -Does the device selects the AP based on signal strength only? 
    -Does the device selects the AP randomly?

Also, as the user physically moves from the coverage of AP A to the coverage of AP B:

    -Does the device stays connected with AP A until it is out of range?
    -Does the device transitions from AP A to AP B somewhere along the way (sort of like a soft handoff)?

Thank you in advance.
How does Android chooses among multiple access points?
===

I have been doing a lot of research on this. Unfortunately I was not able to find how, by default, Android chooses among multiple access points. 

For instance, if a user walks into a mall and there are 3 hotspots within range, how does the device selects which access point to connect to? 

    -Does the device selects the AP based in the order in which they are in the Wi-Fi stack? 
    -Does the device selects the AP based on signal strength only? 
    -Does the device selects the AP randomly?

Also, as the user physically moves from the coverage of AP A to the coverage of AP B:

    -Does the device stays connected with AP A until it is out of range?
    -Does the device transitions from AP A to AP B somewhere along the way (sort of like a soft handoff)?

Thank you in advance.