Can't decide what phone to get

SirDarknight

Honorable
Jun 5, 2013
9
0
10,510
My budget is under $400 ($350-$380). My requirements :

Best camera(preferably the front one) in that budget
Preferably a microSD Card slot
A decent battery
Good performance

Now, my choices are mainly Xiaomi Mi5, OnePlus Two & Huawei Honor 8. What'd you think would be the best choice? Which one of them has the best camera & performance?

Thanks in advance