Faits: Faits: A. S._, né en 1964, ressortissant de l'ex-Yougoslavie, a été victime d'un accident de travail le 24 novembre 1992 alors qu'il travaillait au service d'une entreprise de peinture sise à X._. L'intéressé ne bénéficiait ni d'une autorisation de séjour en Suisse ni d'une autorisation de travail. La Caisse nationale suisse d'assurance en cas d'accidents (CNA) a pris en charge le cas et a notamment alloué des indemnités journalières durant la période du 27 novembre 1992 au 31 mars 1994. L'intéressé a bénéficié d'une autorisation de séjour de courte durée (permis L) depuis le 13 avril 1995. Le 16 décembre 1993, S._ a présenté une demande tendant à l'octroi de prestations de l'assurance-invalidité. Par décision du 22 juin 1995, l'Office AI pour les assurés résidant à l'étranger a rejeté la demande au motif que l'atteinte à la santé n'entraînait pas une incapacité de gain suffisante pour ouvrir droit à prestations. Saisie d'un recours, la Commission cantonale de recours en matière d'AVS/AI du canton de Genève a annulé cette décision et renvoyé la cause à l'administration pour nouvelle décision après complément d'instruction sous la forme d'une expertise psychiatrique. Après avoir confié une expertise au docteur C._ (rapport du 17 juin 1997), l'Office cantonal de l'assurance-invalidité du canton de Genève (ci-après : l'office AI) a rendu une décision, le 9 octobre 1997, par laquelle il a indiqué « maintenir (la) décision de refus du 22 juin 1995 ». Saisie d'un recours, la Commission cantonale de recours en matière d'AVS/AI du canton de Genève a annulé cette décision et renvoyé la cause à l'administration pour nouvelle décision après complément d'instruction sous la forme d'une expertise psychiatrique. Après avoir confié une expertise au docteur C._ (rapport du 17 juin 1997), l'Office cantonal de l'assurance-invalidité du canton de Genève (ci-après : l'office AI) a rendu une décision, le 9 octobre 1997, par laquelle il a indiqué « maintenir (la) décision de refus du 22 juin 1995 ». B. Le 16 septembre 1998, S._ a présenté une nouvelle demande de prestations de l'assurance-invalidité. Après avoir confié une expertise aux médecins du Centre d'observation médicale de l'assurance-invalidité (Medizinische Abklärungsstelle der Eidgenössischen Invalidenversicherung [MEDAS]), à B._ (rapport du 27 avril 2001), l'office AI a rejeté la demande par décision du 3 janvier 2002. Il a considéré que l'intéressé ne pouvait pas se prévaloir d'une durée de cotisation suffisante au 24 novembre 1993, date à partir de laquelle il présentait un taux d'invalidité (100 %) suffisant pour ouvrir droit à une rente. Après avoir confié une expertise aux médecins du Centre d'observation médicale de l'assurance-invalidité (Medizinische Abklärungsstelle der Eidgenössischen Invalidenversicherung [MEDAS]), à B._ (rapport du 27 avril 2001), l'office AI a rejeté la demande par décision du 3 janvier 2002. Il a considéré que l'intéressé ne pouvait pas se prévaloir d'une durée de cotisation suffisante au 24 novembre 1993, date à partir de laquelle il présentait un taux d'invalidité (100 %) suffisant pour ouvrir droit à une rente. C. Saisi d'un recours contre cette décision, le Tribunal cantonal des assurances sociales du canton de Genève l'a rejeté par jugement du 1er juin 2004. C. Saisi d'un recours contre cette décision, le Tribunal cantonal des assurances sociales du canton de Genève l'a rejeté par jugement du 1er juin 2004. D. S._ interjette recours de droit administratif contre ce jugement, dont il requiert l'annulation, en demandant au Tribunal fédéral des assurances de constater qu'il était assuré au moment de la survenance de l'invalidité et qu'il satisfaisait à la condition d'une année de cotisation au sens de la Convention de sécurité sociale entre la Suisse et la Yougoslavie et, pour ce faire, d'ordonner à la caisse de compensation compétente de rendre une décision pour le paiement des cotisations à partir du 27 novembre 2002. L'office intimé conclut au rejet du recours, tandis que l'Office fédéral des assurances sociales a renoncé à se déterminer.