Faits :
A.
Par jugement du 17 août 2018, le Tribunal de police de l'arrondissement de Lausanne, statuant sur opposition à une ordonnance pénale du 6 avril 2018, a libéré X._ des chefs d'accusation d'infraction à la loi fédérale sur les étrangers, contravention et infraction à la loi fédérale sur les stupéfiants et mis fin à l'action pénale dirigée à son encontre. Il a également ordonné la levée du séquestre n° 23'166 et la restitution d'une somme de 80 fr. à X._.
B.
Par jugement du 16 janvier 2019, la Cour d'appel pénale du Tribunal cantonal vaudois a admis l'appel formé par le ministère public à l'encontre du jugement de première instance. Elle l'a réformé et a reconnu X._ coupable d'infraction et de contravention à la loi fédérale sur les stupéfiants, le condamnant à une peine privative de liberté ferme de 45 jours, sous déduction d'un jour de détention provisoire. Elle l'a également condamné à une amende de 300 francs, fixant la peine privative de liberté de substitution en cas de non-paiement fautif à 3 jours. Elle a de surcroît ordonné le maintien du séquestre précité, la confiscation de la somme de 80 fr. et sa dévolution à l'Etat.
La cour cantonale a retenu, en substance, les faits suivants.
X._ est né le 4 avril 1995 à A._, en Gambie. Il vit depuis plusieurs années en Italie. Il est au bénéfice d'un permis de séjour italien, d'une carte de résident en Italie et d'un titre de voyage pour étrangers, délivrés en 2016 par les autorités italiennes. Son casier judiciaire suisse comporte trois inscriptions relatives à des condamnations prononcées en 2017 et 2018 pour infraction à la législation sur les étrangers.
A des dates indéterminées comprises entre fin mars et le 5 avril 2018, X._ a occasionnellement consommé de la marijuana.
Le 5 avril 2018, aux alentours de 20 heures, à la rue B._ à Lausanne, X._ a vendu une boulette de cocaïne d'un poids de 1.2 g brut au dénommé C._, ressortissant français, pour la somme de 80 francs.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement de la Cour d'appel pénale du 16 janvier 2019. Il conclut, avec suite de frais et dépens, principalement, à son acquittement de tous les chefs d'accusation, subsidiairement à l'annulation du jugement attaqué et au renvoi de la cause à l'autorité inférieure pour nouvelle décision. Il sollicite également l'octroi de l'assistance judiciaire.
Considérant en droit :
1.
Dans un premier moyen, le recourant invoque l'art. 158 CPP et soutient que le procès-verbal de l'audition à laquelle a procédé la police en date du 5 avril 2018 serait inexploitable, au motif qu'il a refusé de signer le formulaire "droits et obligations de la personne entendue en qualité de prévenu" et qu'il n'a pas bénéficié des services d'un interprète indépendant. Il se plaint également d'une violation de l'art. 68 al. 1 CPP. Son grief comprend ainsi deux volets. Le premier se rapporte à la preuve de la notification des charges et des droits procéduraux, le second à la compréhension des informations y relatives.
1.1. Conformément à l'art. 158 al. 1 CPP, au début de la première audition, la police ou le ministère public informent le prévenu dans une langue qu'il comprend qu'une procédure préliminaire est ouverte contre lui et pour quelles infractions (let. a), qu'il peut refuser de collaborer (let. b), qu'il a le droit de faire appel à un défenseur ou de demander un défenseur d'office (let. c) et qu'il peut demander l'assistance d'un traducteur ou d'un interprète (let. d). Selon l'art. 158 al. 2 CPP, les auditions effectuées sans que les informations requises aient été données ne sont pas exploitables.
1.2. Quoique l'art. 158 al. 1 CPP ne le précise pas, les informations communiquées au prévenu en application de cette disposition doivent être consignées au procès-verbal (art. 77 let. d CPP; art. 143 al. 1 let. c et al. 2 CPP; ATF 141 IV 20 consid. 1.3.3 p. 29). En ce sens, la preuve que les informations requises ont été communiquées au prévenu incombe à l'autorité concernée (cf. arrêt 6B_500/2012 du 4 avril 2013 consid. 1.2; NIKLAUS RUCKSTUHL, in Basler Kommentar, Schweizerische Strafprozessordnung, 2e éd. 2014, n° 18a ad art. 158 CPP).
1.3. Sur le plan linguistique, l'art. 158 al.1 CP exige que le prévenu soit informé au sujet des charges qui pèsent sur lui et sur ses droits procéduraux dans une langue qu'il comprend. La disposition renvoie à cet égard à l'art. 68 CPP, également applicable dans le cadre des investigations policières (cf. art. 306 al. 3 CPP; SCHMID/JOSITSCH, Schweizerische Strafprozessordnung, Praxiskommentar, 3e éd. 2018, n° 3 ad art. 68 CPP), qui fixe les règles générales en matière de traductions.
Aux termes de l'art. 68 al. 1 CPP, la direction de la procédure fait appel à un traducteur ou un interprète lorsqu'une personne participant à la procédure ne comprend pas la langue de la procédure ou n'est pas en mesure de s'exprimer suffisamment bien dans cette langue (al. 1 1ère phrase). Pour les affaires simples ou urgentes, il peut être renoncé à une telle mesure, pour autant que la personne concernée y consente et que la direction de la procédure et le préposé au procès-verbal maîtrisent suffisamment bien la langue de cette personne (al. 1 2ème phrase). D'après l'art. 68 al. 2 CPP, le contenu essentiel des actes de procédure les plus importants est porté à la connaissance du prévenu oralement ou par écrit dans une langue qu'il comprend, même si celui-ci est assisté d'un défenseur (al. 2 1ère phrase).
L'art. 68 al. 2 CPP renvoie, à l'instar de l'art. 158 al. 1 CPP sur ce point, aux droits particuliers du prévenu, qui découlent pour l'essentiel des art. 32 al. 2 Cst., 6 par. 3 let. a et e CEDH, 14 par. 3 let. a et f PIDCP ainsi que de la pratique fondée sur ces dispositions. Selon la jurisprudence, l'étendue de l'assistance qu'il convient d'accorder à un prévenu dont la langue maternelle n'est pas celle de la procédure doit être appréciée non pas de manière abstraite, mais en fonction des besoins effectifs de l'accusé et des circonstances concrètes du cas (ATF 143 IV 117 consid. 3.1 p. 120 s. et les références citées). En exigeant une traduction dans une langue que le prévenu comprend, les art. 158 al. 1 CPP et 68 al. 2 CPP n'imposent pas nécessairement une traduction dans sa langue maternelle (cf. arrêt 6B_824/2018 du 19 septembre 2018 consid. 1.2; SCHMID/JOSITSCH, op. cit., n° 2 ad art. 68 CPP et n° 7 ad art. 158 CPP; JEAN-MARC VERNIORY, in Commentaire romand, Code de procédure pénale suisse, 2011, n° 6 ad art. 158 CPP). Ses compétence dans la langue usitée doivent toutefois être suffisantes pour lui permettre de comprendre les actes de procédure et de communiquer avec l'autorité (JEAN-MARC VERNIORY, loc. cit.).
1.4. En l'espèce, il est constant que le recourant a refusé de signer le formulaire "droits et obligations de la personne entendue en qualité de prévenu". Les policiers qui l'ont entendu en ont eux-mêmes fait mention sur le document en cause (pièce 4, annexe). Il ressort au demeurant du jugement attaqué, qui cite à cet égard le procès-verbal d'audition du 5 avril 2018, que le recourant a été dûment informé de ses droits, qu'il a accepté que l'audition se déroule en anglais et que l'appointé D._ fonctionne en qualité d'interprète. La cour cantonale a également relevé que le recourant avait paraphé et signé ce même procès-verbal (pièce 4 p. 3 s.). Il s'agit de constatations de faits qui lient le Tribunal fédéral (art. 105 al. 1 LTF) et contre lesquelles le recourant ne soulève aucun grief d'arbitraire. Quoi qu'il en soit, la signature du formulaire remis au prévenu pour l'informer sur des droits et obligations ne saurait constituer le seul moyen de preuve concernant la communication requise en la matière. D'autres éléments peuvent au contraire être pris en compte. En l'occurrence, la mention concernant le refus de signer le formulaire apposée et signée par les policiers sur le document en cause, de même que, comme l'a relevé a bon droit la cour cantonale, le contenu du procès-verbal d'audition du recourant, ne laissent planer aucun doute quant au fait que le recourant a été dûment informé sur les charges pesant à son encontre et sur ses droits procéduraux. Le premier volet de son grief s'avère par conséquent infondé.
S'agissant des exigences en matière de traduction, respectivement de traducteur, force est de constater que les faits à élucider ne présentaient aucune complexité particulière, dès lors qu'il était question d'une simple transaction de stupéfiants en rue. Il s'agissait par conséquent d'une affaire simple au sens de l'art. 68 al. 1 2ème phrase CPP. Comme relevé en outre, le recourant a consenti à ce que l'audition se déroule en anglais et a accepté que l'appointé D._ fonctionne en qualité d'interprète. Devant le Tribunal fédéral, le recourant ne fait nullement état de difficultés de compréhension dans cette langue, sachant que les auditions ultérieures se sont elles aussi déroulées en anglais. Il se borne à soutenir qu'il n'existe aucun élément relatif aux connaissances d'anglais de l'appointé D._, ni à celles de l'agent ayant fonctionné en qualité de préposé au procès-verbal. Il ressort toutefois du jugement attaqué que le procès-verbal en cause contenait de nombreux détails sur sa situation personnelle, dont l'exactitude était confirmée par d'autres éléments du dossier. La cour cantonale a dès lors considéré à juste titre que la traduction effectuée par l'appointé D._ était suffisante et que l'on pouvait exclure une mauvaise compréhension, en ce qui le concerne, des propos du recourant. Là encore, il s'agit de constatations de faits qui lient le Tribunal fédéral (art. 105 al. 1 LTF) et contre lesquelles le recourant ne soulève pas davantage de grief d'arbitraire. Au demeurant, ces éléments permettaient à la cour cantonale de retenir, sans violer le droit fédéral, que l'appointé précité maîtrisait suffisamment bien la langue usitée pour assumer le rôle de traducteur, conformément aux exigences prévues par l'art. 68 al. 1 2ème phrase CPP. En l'absence d'un quelconque doute concernant la traduction en cause, la question des garanties relatives aux compétences linguistiques de l'agent préposé au procès-verbal souffre de rester indécise, ce d'autant plus qu'elle se pose en rapport avec une langue aussi couramment parlée que l'anglais. En tout état, le second volet du grief soulevé par le recourant s'avère par conséquent lui aussi infondé.
En définitive, c'est donc à tort que le recourant se prévaut d'une violation de l'art. 158 al. 1 CPP et du caractère inexploitable du procès-verbal d'audition de police du 5 avril 2018.
2.
Dans un second moyen, le recourant reproche également à la cour d'avoir établi les faits et apprécié les preuves de façon arbitraire et d'avoir violé le principe in dubio pro reo.
2.1. Le sens et la portée de la présomption d'innocence, garantie par les art. 10 CPP, 32 al. 1 Cst., 14 par. 2 Pacte ONU II et 6 par. 2 CEDH, et son corollaire, le principe "in dubio pro reo", en tant règle concernant le fardeau de la preuve et l'appréciation des preuves, ont été rappelés à l'ATF 144 IV 345 consid. 2.2.3 p. 348 ss, auquel on peut se référer.
Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence à la présomption d'innocence (art. 6 par. 2 CEDH, 32 al. 1 Cst. et 10 CPP), le principe "in dubio pro reo" n'a pas de portée plus large que l'interdiction de l'arbitraire (ATF 144 IV 345 consid. 2.2.3.3 p. 351 s.; 143 IV 500 consid. 1.1 p. 503).
Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat (ATF 143 IV 241 consid. 2.3.1 p. 244; en matière d'appréciation des preuves: cf. ATF 143 IV 500 consid. 1.1 p. 503 et les références citées). Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux, dont l'interdiction de l'arbitraire, que s'ils ont été invoqués et motivés de manière précise (art. 106 al. 2 LTF; ATF 143 IV 500 consid. 1.1 p. 503 et les références citées).
Selon la jurisprudence, un rapport de police est susceptible de constituer un moyen de preuve (arrêts 6B_1140/2014 du 3 mars 2016 consid. 1.3 [non publié aux ATF 142 IV 129]; 6B_685/2010 du 4 avril 2011 consid. 3.1; cf. aussi arrêt 6B_1237/2018 du 15 mai 2019 consid. 1.4.1 [destiné à la publication aux ATF] et les références citées). Il est soumis, comme tel, au principe de libre appréciation des preuves (art. 10 al. 2 CPP; ibid.).
2.2. En l'espèce, la cour cantonale a imputé au recourant la vente d'une boulette de cocaïne sur la base de deux rapports de police du 5 avril 2018 (pièces 4 et 5), et d'un rapport de dénonciation manuscrit établi par la police, intégralement retranscrit dans l'un des deux rapports précités (pièce 5) et produit en appel par le ministère public (pièce 26/1). Il en ressort qu'à l'occasion d'une opération de surveillance, le brigadier E._ de la police de Lausanne a assisté à une transaction de produits stupéfiants entre le recourant et le dénommé C._. Ce dernier se trouvait au volant d'un véhicule immatriculé en France, sur la rue B._. Le recourant a été interpellé sur place à 20h00 par le brigadier F._ et l'appointé D._. C._ a été interpellé à la route des Plaines-du-Loup vers 20h00 par le sergent G._ et l'appointé H._. Une boulette de 1.2 grammes brut a été découverte lors de la fouille du prénommé, qui a admis l'avoir acquise pour 80 fr. à la rue B._ et qui a formellement mis en cause le recourant comme étant son vendeur, après une "présentation en rue". La cour cantonale a considéré que ces éléments étaient manifestement suffisants pour établir, sans le moindre doute et en dépit des dénégations du recourant, la matérialité des faits qui lui étaient reprochés. Elle l'a ainsi reconnu coupable de détention et de vente de stupéfiants au sens de l'art. 19 al. 1 let. c et d LStup.
Le recourant objecte que la cour cantonale aurait dû, à l'instar du premier juge, considérer l'existence d'un doute légitime concernant les faits retenus à sa charge. Il échoue toutefois à démontrer en quoi la cour cantonale aurait versé dans l'arbitraire en appréciant les preuves ou violé le principe in dubio pro reo.
C'est tout d'abord en vain que le recourant tente de tirer argument du montant de 80 fr. figurant dans l'inventaire établi ensuite de son arrestation. Il va jusqu'à soutenir que la police aurait en quelque sorte "créé" une preuve de culpabilité en faisant coïncider le montant de la transaction et la somme retrouvée sur lui. Il n'en est rien. La simple lecture du procès-verbal des opérations figurant au dossier, auquel le recourant se réfère lui-même, permet de constater sans ambiguïté que ce dernier était en possession de 130 fr. au moment de son arrestation, que la somme de 80 fr. a d'emblée été évoquée en tant que montant de la transaction litigieuse et que la procureure en a ordonné la saisie. C'est précisément la raison pour laquelle ce montant figure dans un inventaire des valeurs et objets saisis (cf. pièce 6) qui n'avait pas vocation à indiquer le montant global dont le recourant était en possession. Le grief soulevé par le recourant s'avère par conséquent dénué fondement.
Le recourant soutient ensuite qu'à teneur des rapports de police, il aurait été interpellé au même moment que le prétendu acheteur, à 20h00, en des lieux distincts d'1.7 km impliquant un trajet en voiture de 6 à 7 minutes, ce qui serait en soi impossible. Les rapports de police permettent toutefois de constater, comme l'a relevé la cour cantonale, que le recourant a été arrêté "à" 20h00, à la rue B._, tandis que l'acheteur a quant à lui été arrêté "vers" 20h00, à la route I._ On ne saurait dès lors considérer une quelconque incohérence sur ce point. Sachant que l'acheteur se trouvait au volant de son véhicule lors de la transaction, on conçoit sans peine que son interpellation ait pu intervenir quelques minutes plus tard, en un lieu distinct. Au demeurant, le recourant conteste sa mise en cause par l'acheteur en relevant que les rapports de police n'indiquent pas que l'un aurait été conduit sur le lieu d'interpellation de l'autre. Quoi qu'il en soit, l'un des rapports de police (pièce 5), fait clairement état d'une mise en cause formelle par l'acheteur "après présentation en rue". Il n'est pas en l'occurrence question d'une confrontation en tant que telle et l'absence de précision concernant les circonstances de cette "présentation" ne suffit pas à rendre insoutenable les constatations de la cour cantonale sur ce point.
Enfin et surtout, contrairement à ce que fait valoir le recourant, le fait que le brigadier E._ n'ait pas lui-même participé à son arrestation, à l'établissement du rapport le mettant en cause (pièce 4) ou à son audition n'est pas de nature à instiller un doute sérieux et irréductible concernant les constatations de ce même brigadier, telles qu'elles sont retranscrites dans le rapport en question. En tout état, les indications qu'il a fournies en marge d'une surveillance ont conduit à l'interpellation du recourant et de l'acheteur. Ce dernier était bel et bien en possession d'une boulette de cocaïne. La mise en cause du recourant par l'acheteur corrobore au surplus les constatations dudit brigadier. Au surplus, la cour cantonale a relevé que le recourant n'avait, durant la procédure d'opposition ou en appel, ni requis l'audition du brigadier E._, ni de confrontation avec l'acheteur. Le recourant ne prétend pas qu'il en aurait été empêché. Il ne soutient pas non plus que la cour cantonale aurait été tenue d'ordonner d'office de telles mesures d'instructions pour être à même de forger sa conviction sur le plan factuel. Il ne peut donc rien tirer en sa faveur de l'absence de confrontation dont il fait état et ne saurait soutenir, sur cette base, qu'aucun fait ne pouvait être retenu à sa charge. En définitive, face aux constatations du brigadier E._ relatées dans le rapport de police, le recourant n'oppose en réalité que ses seules dénégations, en se contentant d'ajouter qu'il n'était pas le seul africain présent à l'endroit de son interpellation.
Compte tenu de ce qui précède, la cour cantonale était fondée à considérer que les éléments à charge résultant du dossier ne sont contrebalancés par aucun élément à décharge devant conduire à considérer l'existence d'un doute irréductible concernant la matérialité des faits retenus à l'encontre du recourant. Il s'ensuit que le grief tiré d'une prétendue violation du principe in dubio pro et d'une prétendue constatation arbitraire des faits s'avère à son tour infondé.
3.
La cour cantonale a encore retenu qu'il résultait du procès-verbal d'audition du recourant qu'il avait admis consommer occasionnellement de la marijuana. Comme relevé plus haut, le procès-verbal en cause est exploitable (cf. consid. 1). Sur ce point également, les éléments précités permettaient dès lors à la cour cantonale d'admettre la matérialité des faits reprochés au recourant sans verser dans l'arbitraire et de lui imputer une contravention à l'art. 19a LStup.
4.
Sur le vu de ce qui précède, le recours doit être rejeté. Il était d'emblée dénué de chance de succès. L'assistance judiciaire doit être refusée (art. 64 al. 1 LTF). Le recourant, qui succombe, supporte les frais judiciaires, qui seront fixés en tenant compte de sa situation E._ncière qui n'apparaît pas favorable (art. 65 al. 2 et 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 5 juillet 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Dyens