Citation: 2C_489/2019 E. C

Agissant par la voie du recours en matière de droit public, A.________ demande au Tribunal fédéral, sous suite de frais et dépens, principalement, d'annuler l'arrêt du Tribunal cantonal du 25 avril 2019. Subsidiairement, il requiert le renvoi de la cause à l'autorité précédente pour nouvelle décision au sens des considérants. Il demande également le bénéfice de l'assistance judiciaire et l'effet suspensif. Par ordonnance du 28 mai 2019, le Président de la IIe Cour de droit public du Tribunal fédéral a admis la requête d'effet suspensif. Le Service de la population a renoncé à se déterminer. Le recourant a produit diverses pièces. Le Tribunal cantonal a renoncé à se prononcer et s'est référé aux considérants de l'arrêt attaqué. Le Secrétariat d'Etat aux migrations a conclu au rejet du recours.