Faits : A. Le 6 janvier 2019, B._ a déposé plainte pénale contre inconnu pour viol pour des faits survenus au petit matin du même jour. Le 8 janvier 2019, le Ministère public de l'arrondissement de l'Est vaudois a ouvert une instruction pénale en raison de ces faits. Le 25 janvier 2019, A._ a été arrêté, alors que les prélèvements ADN effectués sur le corps de la plaignante avaient permis d'identifier celui-ci comme étant son agresseur. Celui-ci a en substance expliqué avoir eu une relation sexuelle consentie avec la plaignante. Le 26 janvier 2019, le Tribunal des mesures de contraintes (Tmc) a ordonné la détention provisoire de A._ une première fois pour un mois au maximum, puis, le 25 février, pour trois mois. Cette deuxième décision a été confirmée par le Tribunal cantonal le 13 mars 2019 puis par le Tribunal fédéral (arrêt 1B_177/2019 du 7 mai 2019) qui a reconnu l'existence d'un risque de fuite du prévenu sans que les mesures de substitution proposées puissent le pallier. B. Par ordonnance du 14 mai 2019, le Tribunal des mesures de contrainte a ordonné la prolongation de la détention provisoire du prévenu pour deux mois, soit jusqu'au 25 juillet 2019. Statuant sur recours de l'intéressé, la Chambre des recours pénale du Tribunal cantonal a confirmé cette décision par arrêt du 3 juin 2019. C. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral de réformer l'arrêt cantonal en ce sens qu'il est immédiatement libéré. Subsidiairement, il demande la mise en place des mesures de substitution suivantes en accompagnement de sa libération immédiate: dépôt de toutes ses pièces d'identité, obligation de se présenter régulièrement - soit plusieurs fois par semaine - auprès du poste de gendarmerie de Gland, mise en place d'une surveillance électronique, versement d'une caution de 20'000 francs par sa famille ou toute autre mesure de substitution jugée utile par le Tribunal fédéral. Plus subsidiairement, il conclut à l'annulation de l'arrêt cantonal et au renvoi de la cause pour nouvelle décision dans le sens des considérants. Le recourant sollicite en outre l'octroi de l'assistance judiciaire. La cour cantonale et le Ministère public renoncent à se déterminer et se réfèrent aux considérants de l'arrêt attaqué. Le Ministère public précise que le délai de prochaine clôture en vue de la mise en accusation du prévenu est arrivé à échéance le 28 juin 2019 et que la rédaction de l'acte d'accusation "est pour ainsi dire terminée". Dans sa réplique, le recourant indique ne pas avoir d'observations complémentaires à déposer mais précise avoir formulé, dans le délai de prochaine clôture, des réquisitions afin de faire entendre encore deux personnes.