Full Flutter Chat App (2/3) Clean Architecture – StreamChat – flutter_bloc – inyección dependencias

gente que tal bienvenidos al nuevo vídeo si han llegado aquí es porque les interesa este tema de crear una aplicación con in architecture con player blog entonces ahora en este vídeo vamos a tratar lo que es inyección de dependencias usando clean inflar el blog como claro el blog nos va a ayudar a poder inyectar estas dependencias y empezar a mejorar nuestra aplicación porque está muy fea entonces vamos a empezar rápidamente ahora no vamos a quitar esto de esta conexión facebook que tenía porque ya no me sirve ya que vamos ya empezar a inyectar entonces primero vamos a empezar con el tema ya que estamos usando un kiwi está aquí y aquí les dije que necesitábamos una dependencia que era la del local de historia entonces como manejo las dependencias aquí dentro encima este blog provider voy a declarar voy a inyectar dependencias lo vamos a hacer con reports y tories porque porque no son dependencias que requieren qubits son dependencias externas entonces vamos a usar hay un multi repositorio provider y me permite ingresar probáis lo que había hecho la otra vez voy a crear un archivo aquí de dependencias dependencias tendencias y aquí voy a copiar un poco de código que ya tengo y le voy a explicar ahora de qué se trata entonces he creado un método en el cual creó repositorios tenemos que importar ahora las dependencias ahora les voy a explicar esto y básicamente lo que hago es trabajar en base a interfaces y implementaciones las interfaces simplemente son las que registro para que pueda usar distintas implementaciones luego en el proyecto entonces son bastantes aquí que tengo que importar no estoy seguro si da de un método de importar todas así como había me acuerdo en un androide estudio no sé si lo tienen pasan el dato aquí porque ellos tenemos que importar a manual estoy pasando el string chat client que la instancia aquí para que el servicio tenga ya ha inyectado aquí un client entonces miren qué estoy haciendo aquí logrado ya primero que son los repositorios son estos solamente son interfaces vamos al proyecto aquí voy a guardar guardo aquí aquí me sale error porque no estoy usando ninguno voy a ponerle bien repositorios y le voy a pasar el client ok ya tengo el plugin entonces y ahora podemos el error aquí me falta el login just crisis esta miren ahora sí si voy a la capa de domain he creado news case es un modelo audi user y chat you ser nada más súper básico que para guardar información del usuario del chat una excepción personalizada sin anotar y no chat de usher y una que extiende excel excepción y ya en data es donde está el juego de los repositores nombres donde por ejemplo tengo un repositorio de repositorio de out que solamente obtengo método get out to share para que me diga si el usuario está logueado sign in para autenticarse y logrado para salir de sesión solamente son interfaces con métodos así para implementar he creado un repositorio para la imagen speak y más me retorna una imagen estoy voy a usar el plugin images piquer en realidad el plugin de chat ya lo incorpora dentro no esté strange extraer tiene muchos planes dentro así que simplemente voy a usar como ya lo tiene de manera transitaba el match speaker le agregado este nuevo plugin que es para generar identificadores únicos que es cuando me va a generar miedo y cuando creé yo mi propio canal entonces para eso lo voy a usar después explicó y persisten storage que tengo dos métodos y desarmó y para actualizar darmouth string y pida y aquí tengo armas porque tengo que tener la lista de los de los usuarios de chat y tengo que generar el toque para pruebas está bien de desarrollo conectar si el usuario y existe sin miseria y existen es trinchat entonces lo conecto ya no vuelvo a crear el usuario aquí conectó el usuario por primera vez por eso le mandó un objeto chat y usher con todos los detalles crea un grupo y crea un chat simplemente para chat simple necesito sobre la idea mi amigo y para chat grupal necesito el aire del canal el nombre esto voy a ponerle channel y grimón la lista de miembros que van al grupo y una imagen opcional y un logo también para salir de decisión aquí y también he creado un blog testers repository que me va a ayudar a subir la foto voy a usar fire sisters para para eso y me retorno string es la url nada más le pasó el pan y el pad que es donde lo voy a guardar en el stores entonces ya tengo estos repositorios que son a otras clases entonces cree un folder que se llama local en la cual estoy implementando esos por ejemplo empezamos por el último año aplaude ese bloque de storage implementation que extiende del repositorio tengo que implementar el método aplaude foto y solamente estoy retornando aquí una url fija que es mi avatar para esto ahora vamos a una más corta persisten storage y start moat a una pausa y la retornos falso siempre y cuando hago el update no hay nada aquí debería guardar persistir el valor y más pícaro implementation aquí estoy usando el plugin aquí y más piquer y más baker le voy a hacer que seleccione simplemente la galería de hoy un máximo resolución y retorno el file con el pad no se olviden que para usar este planning de imax speakers van a la documentación del plugin en papel y les dice qué cosas tienen que agregar a el proyecto para los permisos nada más yo ya lo hice esto el out local con alguna pausa para simular que estoy consultando y retorno el audio ser con el aire y diego nada solo para prueba y enlodados no hace nada y finalmente el string white aquí sí más o menos ya estoy poniendo lógica porque esto voy a quitarlo y aquí es donde recibía el cliente y aquí ya estoy conectando el usuario con flash esto lo que hemos visto en el vídeo pasado del chat en 15 minutos aquí está generando un token de desarrollo cuando conecto el usuario si es que no le pasa un toque lo cual esto está creo que voy a dejarlo así dejarlo así voy a exigir que le pase el talking y que toquen de desarrollo lo genere abajo get you ser aún query obviamente donde yo no esté porque yo voy a listar los usuarios del chat pero sin que yo esté así que usó line state giuseppe hay de it's a comida y que sea diferente y creo mi objeto chat you ser personalizado con imax name hay de que entonces en que toquen para obtener el token una vez que yo tengo el aire y del authentication curiosity para generar el 'top aquí estoy usando un token de desarrollo mi proyecto está creado en desarrollo y le permitido que pueda generar tú que así es eso es lo que vimos en el vídeo pasado del chat en 15 minutos aquí cuando creó grupos es sencillo no le digo al canal messaging el aire que le estoy pasando en el día acá es y en xstrata está de paso el nombre imagen del canal y los miembros me agregó a mí y los miembros del chat y le digo que hagan watch que cree el canal y que escuche no porque inmediatamente voy a la sala de chat aquí que cuando creó un simple chat solamente necesito el aire mi amigo no necesito fuego ni nada porque va a poner la foto del amigo entonces canal messaging y estoy generando en haití estoy usando mi aid y concatenado con el de mi amigo para que yo no vuelva a crear otro chat similar así que concatenó los dos side y con high court y ya hay genera una idea en members ver me pongo a mí ya mi amigo nada más igual channel watch log out desconecto y aquí connect y sexys aquí debería buscar al usuario buscar a mi amigo yo voy a en el splash por ejemplo voy a validar hoy estoy logrado está bien con auto ahora voy a conectarla a string chat si es que empresario y existe aquí debería buscar sin misterio y existe y lo conectó en este chat y ya voy a con directo entonces aquí solamente estoy poniendo fotos porque es una implementación así local o también entonces ya tenemos esto gente explicado lo de la capa de datos domain y ahora sí vamos a empezar a inyectar las dependencias [Música] entonces iniciamos con vamos al mail y cerramos todo en las dependencias sacar fotos grabar cierro dependencias ya estoy creando mis repositores que son las dependencias que estoy inyectando ahora sí estoy inyectando dentro de mi árbol de widget está arriba encima en material up así que voy a poder acceder a cualquier lugar esto es de flores blog aquí estoy haciendo la interfaz ojo siempre la interfaz le digo sobre esta interfaz quiero esta implementación la local persistentes try out local a load storage local y más picker implementation y para los que dices que son los hechos case es lo que pasa es que por ejemplo en el splash cubit que vamos a ver en un momento tengo que hacer ciertas validaciones no tengo que ir a fires out después si es que existe el usuario tengo que ir a swing chat para ver si puedo conectar lo haya o no y entonces tendría que acá inyectarle las dependencias de forbes out y aquí destruyen chatman mientras más dependencias tenga más inyecciones tengo que hacer aquí no testing y imagínense entonces como que se sobrecargaría el cubit que su función simplemente refrescar el estado su función no está ser lógica tanto él de la conexión con la capa de datos así que para eso creó un just que dice si lo simplificó no por ejemplo con darle a un login busquéis y es el login busquéis va a tener inyectado en las dependencias extrema y piaggio o la de fresa o simplemente trabajo medio día entonces es por eso que estoy creando busquéis es profiles haining en create group busquéis log out in login por ejemplo le estoy inyectando aquí las dependencias que encuentra en el árbol de widget ya por ejemplo profile sign in you case tengo dependencias load repository cloud storage para que suba la foto y el streaming pierre repositor y no tres y con esto ya puedo verificar yo puedo hacer las operaciones que yo quiera no he creado un input después de éste les muestro y entonces como como inyectó esas dependencias que ya tenía acá arriba simplemente como acá el create me da un contexto solamente de context read puedo especificar les y deseo cuál es el primer caso a otro opositor no lo puedo dejar así porque ya infiere el tipo automáticamente entonces aquí creo la inyección a otra inyección de ellos case group buscáis que hay en create group buscáis bueno aquí el stream y pierre repositor y el blog de fotos y aquí estoy generando por ejemplo el aire del canal estoy aquí subiendo la imagen a fire page storage y aquí estoy creando el canal de comes trinchat entonces más o menos para eso es ya me entiende el lobo dios que es más sencillo el string envía y el auto repositorio tengo que hacerlo gaut de cada uno ama y en login aquí tengo que validar y lo bien que todavía no lo he hecho entonces ya tengo estas cosas por ejemplo el persistente storage solamente tengo estos métodos y creo que vamos a empezar primero por el main que éste ya tengo inyectado las dependencias del club y vamos a este club y voy a cerrar lo demás y aquí necesito inyectarle el repositorio de resisten persistentes tórax repositores voy a ponerlo arriba aquí y necesito pasarle en el constructor aquí está lo declarará el privado así y ahora qué voy a hacer con esto o como la instalación va a salir error aquí ven entonces lo que tengo que hacer es bueno accedo al contexto context punto read y listo ahí va a buscar la dependencia que está arriba que ya está inyectada en base a este interfaz y le inyectan entonces ya tengo acceso al persiste un repositorio aquí voy a decirle en inicio que le diría y stark mod y voy a ponerle aquí con agua y agua ahora si estoy usando el repositorio directamente porque está solamente era uno así que es necesario y me olvidé algo aquí también de hacer es d el lab de update team updating dar mod sin nada más y aquí voy a recibir un y dark mod esto cuando lo cambies de settings entonces qué voy a hacer aquí primero les dark le pongo estar mount para actualizar la variable y después qué voy a hacer entro a persistentes toral si le pongo apdayc darmouth y le pasó la variable y el mito emite valor también para que refresque toda la ayuda y falte la 5 y listo entonces a ella debería pasar lo probamos voy a settings vivo a mi vista de settings que estaba haciendo cuando cambiaba el check simplemente cambiaba el el cubit dentro del settings view y actualizaba el check no vamos a entrar [Música] starting voy a limpiar la consola y vamos con el set y aquí solamente cambio el switch lo cual está bien pero necesito más aquí voy a agregarle el método ya está bien que cambie el modo pero también necesito aquí me falta el valor vale necesito decirle al subir de arriba que me actualice el tema de toda mi aplicación no está actualizando así que voy a consumir el kiwi de arriba que es apto y voy a decirle que ah updating y le pasó si es largo o no entonces el de cambiar el tema de la aplicación y a su vez debe persistir el tema en el prefieres bueno en este caso es un es un grammy así que no va a persistir lo porque está en memoria nada más pero si va a cambiar el tema ahora update armado vasco alterna creo que me faltó si lo que pasa es que como esto está en él en la creación del objeto necesita ser un juego estar más y el splash login y veamos estar chatting me salió error lo que pasa es que ya no tengo el le quite la conexión camino del d del cliente y así que no sale error pero miren cuando se te está saliendo porque está capturando el ya entonces para corregir esto voy a ponerle set y me está trayendo error aquí creo que le voy a poner el dam y de nuevo [Música] bueno sencillo miren voy a crear un fake usted aquí estoy en chat junto con ect connectu se le pasó a ser con haití miedo y todo que mirar es trinchat playa punto de toque y nada más y llama este fin yo ser aquí en el vídeo y mi computadora de nuevo está poniéndose lenta que me falta aquí extra data este es el usuario nada más y el toque en separado así veamos streinsand spring chat client en otro tipo de ser un bueno ahí apareció bueno ahí apareció ya lo conectó inmediatamente que hizo un jota reload y ahora si probamos el tema cambió el tema cambió el tema no voy a echar también dark y ahora sí en like no entonces está funcionando ahí el cambio tema solamente la persistencia que no estoy haciendo ahora pero ya lo vamos a hacer después ahora sí pasamos a la inyección del splash la inyección de dependencias en el splash screen ok vamos por partes entonces vamos por el splash primero voy a inyectarle el log in the sky news case no busquéis aquí ya está inyectado bueno ya está recibiendo lo y esto me va a salir un error seguramente en el mail perdón en el splash porque ahí es donde jake del cúbito lo único que tanto se les contexto bueno aquí contex punto read y nada más hay busca el skate más cercano y lo inyectando entonces está bien y qué más aquí lo que está haciendo un error dónde no sé si es acá voy a hacer un [ __ ] y loud a meses saliendo aquí está conectado a las trincheras y no sé si quitarlo voy a comentar una más vengo esto que conecta nuevamente al face yo ser y no estoy haciendo una desconexión mejor voy a hacer huawei disconnect es conectivo conectar cada vez que vamos blog ya entonces es pla escribir estaba en los guindos que es ya ahora tengo que validar aquí valide y login y para tornar un resultado que es puede ser true o puede lanzar una excepción esto aquí para capturar las opciones personalizadas voy a ponerlo voy a ponerle el tipo aquí excepción touch creo que así era vamos a importar esto pues aún primero no un auto station cat katz esta excepción y aquí puedo decirle a excepción es igual a perón ex punto pero creo que le puse es igual a out excepción punto vamos al código autor code si es igual a que no está identificado entonces la manda a un lado sí no lo mandó el otro entonces estaba emitiendo no si no está autenticado lo mandó a nones y si está autenticado le mandó a existir ser aquí todavía de si no está autenticado lo mandó a norén si no los mandan juju ser y si el login resulta correcto y resulta que voy a mandar existe industria ahí está ahora queda invalidada y el login no hay nada todavía necesito aquí ya empezar a usar los servicios por ejemplo aquí yo ser igual a otro expositor y get audio ser away yo sé es que esta auto indicado es diferente en el entonces válido aquí resulta huawei stringer repository connect y sexys primero tengo que obtener el el aire no está bien con ella y le voy a pasar el user punto haití y aquí me puede retornar force azul estruch significa que se pudo conectar hasta aquí ya existía el usuario aquí el retorno otro sí no aquí voy a lanzar una excepción que la esté capturando en el kiwi auto escepción y le voy a poner aquí está la ausencia están en venta de imagen le voy a poner al error coats en este caso sin control out pero no encontró dentro del distrito entonces noche adiós y aquí si no le voy a poner un auto y ahí ya pudo capturar las excepciones bien voy a hacer un restaurante y veamos qué sucede en este caso que me va a retornar el audio sería mi retorno algo vamos a out implementation pero tornas diego está bien entonces va a entrar a con exit existe y creo que ya existe el usuario y entonces me va a mandar a él me mandó al very fair profile verify no le encontró vamos a ver aquí que hay no tengo nada sting si no sabía no había nada en extremis con next y sexismo retorna falso me dicen por eso me mandó verify entonces voy a copiar una porción de código que tengo aquí [Música] este código que hago a un cuero de los loosers con el filtro de mi aire o sea si lo encuentra si no está vacío entonces generó el token que me está generando el token de prueba que está aquí y conectó el usuario con él yo soy de que le pase con el token que genere el retorno troupe si no es que no existe pues entonces ahora sí a un hotal estar debería mandarme del splash al joven es el error de l'esplai o debería mandarme el home screen porque ya conectó el faro que existía porque creo que es diego o sea que el que el aire que está usando en locales veamos splash es el error ajá porque ya estoy usando el fake el camino voy a quitarle esto porque ya estaba conectado entonces ahora sí otra estar y veamos [Música] me salió que con ello ser un ballet j [Música] que tocan a contiene un usuario inválido como haití ya entonces no parece que no puedo hacer esta búsqueda porque este día es inválido riding que lo estoy pasando industria y quiero ver veamos j yendo a restar duscher diego con ellos el twitter habilitó que contiene un bol en bali number of segmento [Música] y ese miedo claro está bien diego voy a revisar qué está fallando la gente ya vi el error y el problema es que no puedo hacer un juego de usted si es que todavía no estoy identificado así que lo que voy a hacer es simplemente conectar el usuario aquí voy a conectarlo y asumir que que existe entonces voy a quitar todo esto y voy a dejarlo así voy a asumir que siempre va a poder conectar el usuario ya sea si mi imagen porque solamente va usar el aire y luego ya en el otro método de connect connectu ser aquí sí ya voy a recibir en la imagen de usuario y voy a desconectarlo primero para que no haya problemas si es que ya se conectó anteriormente ok entonces pero voy a asumir que no que ya existe entonces voy a asumir que al llevar a tornar falls debería haber alguna vía en un chat no he revisado a fondo así que revisamos tras la documentación le voy a decir que no se conectó para que pueda pasar a la página de a la página siguiente que es la de verify entonces probamos aquí le doy con existe y existe yo ser y veamos debería retornar me va entrar a la fuerza no chat you ser va a entrar a verify ahí está y de aquí ya podría usar otro busquéis para subir la foto y conectarme realmente con mi usuario y el nombre que yo le pase no vamos a ver eso vamos a ver ifai cubit profile ver icv erc ya que teníamos algo incompleto tenemos el nine controller que me parece que no lo puse en la vista profile verify view si este textil no tiene controlar así que necesito ponerle tengo el contexto aquí así que tengo acceso profe chuvit y uso en controlar nada más y está aquí necesito ahora validar como este snapshot medal profile style aquí puedo decirle fire es diferente de nulo voy a mostrar una imagen file snapshot bayle que es la imagen que he subido sino el place holder ojo que no estamos haciendo nada diseño acá después vamos a corregir y que más y creo que nada más aquí estar chatting a ver qué sucede que cuando sube la imagen ahora sí necesito el picker por eso voy a inyectarle aquí él piquer como le puse picar y más y más picar y más speaker repositores ya está se lo inyectó y también necesito aquí busquéis no para no aquí ya necesito simplemente el strange at strange at epic line para crear el canal no perdón el usuario para conectarlo nada más y eso es todo ya voy a la siguiente página es trinchat street repositorio listo se le inyectó los dos el constructor qué hago y más speaker como selección a la imagen fácil ya había creado un servicio para esto y más nada más y eso lo estoy ha mostrado y profile de la web está acá y en profecía de emitir el estado con el archivo no aquí entonces debería ser un aquí tengo el file tengo el name simplemente tengo que crear el chat perdón el usuario con los datos que estoy pasando no crees connectu ser ahora sí y creo que acá tengo que pasar un chat o se va qué es una entidad que crea [Música] con el cluster si charter esta no sé por qué es tan bueno tanto y le tengo que pasar aquí el token que voy a usar qué y bueno si necesito en this cake como ven acá porque necesito hacer más peticiones aunque podría hacerlo directamente aquí miren vamos a jalar el toque mejores prácticas que usaron busquéis voy a usar el que toca asignado mejor lo pasó en skate porque necesito el yo seré y eso lo tengo del auto no tendría que inyectar aquí el fresado que mucho así que voy a pasarlo a un dios qué es ok ya teníamos este los gays profile sajnín solo me falta inyectarlo en el cúbito así que voy a quitar esto quito esto ya sería un profile estamos sí porque también tiene que subir la foto así que necesitaba un fire loud los grupos y torino o aplaude repository y entonces solamente llama me busquéis acá y le digo verify creo que se llama verify le pasó un input de un rojo tiempo wait y esto que me retorna nada más que recibe aquí y más fire que ya lo tengo aquí y en el que también ya lo tengo en mi control ahí va a crear mi usuario es access y vamos a ver qué hay en verify [Música] aquí llama el string opositor y con los datos ya aquí necesito obtener primero el out como ya tengo inyectada viladot repositorio get ya está entonces ya tengo el out puedo usar el de acá falte el agua y en imagen del profiling food no primero el toque toque igual la web que tocan con el baile fácil voy conectando como rompecabezas ya tengo el token acá se lo pasó que me va a donar el token de desarrollo y la imagen ahora final imagen aquí también tengo inyectado el servicio de cloud storage así que aquí pongo el upload [ __ ] le pasó el file del input y le pasa un putt no en este caso va a ser users y el lady del usuario que es alto junto a él y ahí lo va a guardar el estrés rafael no es el error input y más fire ya está ya tengo la imagen que es la url que me va a retornar el servicio y listo conectó el usuario está del ifai cubit profile verify cambios al error porque no lo estoy inyectando la dependencia simplemente context punto read que se case que ya debería estar declarado en dependencias dependencias y aquí está profile y el profeta 6s ok me sale error porque me dice reed context y necesito dos dependencias el ima speaker y el skate y está entonces ahora que voy a hacer doy clic a la imagen y no está el error porque lo inyectaba necesito hacer un hot restar porque esto está como que solamente una vez cada vez que refresco no crea este club ok entonces y estamos ahora sí esta imagen picker edición una imagen aunque no la va a guardar no la va a subir wish se fue de largo voy a decirle que sea 150 y estamos mucho mejor y el nombre que es diego que entonces estar chatting ahí está ahí están armando el chat y estamos gente ya estamos en el forfait y estamos en el chat ahora faltaría conectar ubique y seguir a ver esto settings también ya está voy a settings click settings estándar común global de settings los settings no hace nada delgado así que una vez settings hay un log out de skate está solo inyecta aquí y simplemente llamo el log out espero y me ha salido lawrence settings porque no he inyectado la dependencia con textura y está yo debería estar en sajnín sainz out el tema también ya debería estar llamando al preferentes pero en local el chat faltaría esta parte de agregar los usuarios entonces vamos a ver eso rápido gente entonces para la parte de selección de amigos aquí estamos enfrían selección vídeo que estamos usando data enduro ahora voy a inyectarle simplemente el stream de piar repository y solamente creo que necesito esto para alistar incluso los usuarios conectados miren aquí todo esto necesito gets at the ussr ya me da una lista de chat de users final charters a white y pero yo necesito emitir la lista de chat de bernstein necesito convertir esto a ser state así que usar un mapa chat user state y le pasó el chateo ser nada más y le pasó a ti o sea que aquí con esto ya tendría mi vista de los chats y como ya tengo acceso al swing chat repositorio voy a crear el simple el chat que va a ser solamente chat con un amigo aquí le pasó el aire y de mi amigo y ya está y necesita un retorno sano así que bretón sound nada más creo tendría que voy a salir y voy a cargar va a salir error está bien porque si voy aquí me falta inyectar lo que soy contex y contexto ruiz listo entonces ya está por lo menos de crear un muchacho con un usuario veamos ahí está listo dos personas que tengo en el chat que no les estoy pintando las el avatar como ustedes ven aquí como sería aquí un background match network y mas provider tengo nuevos imacs provider no veamos y más provider no me da info si hay un network creo que si network network ya nada más se llama no tiene probada veamos aquí ya entonces si soporte una imagen que podría ponerle adiós state para ver si mis amigos tienen imagen katyusha imagen vemos están mis amigos tienen imágenes para encantos danny alcántara están ahí entonces voy a iniciar una conversación con daniel alcántar de adif act que debería crear el canal y creo que ya creó el canal [Música] col·lectiu ser selecto ser no no está haciendo nada religiosa debería aquí ir a contexto red por aquí voy a comerme esto y le digo un create french anna y le pasó a ser steak entonces aquí está bien y esto me va a emitir que emite esto settings preselección que emite me emite nada a necesita emitir el channel pues entonces voy a recibir el channel aquí [Música] necesita retornar y de chanel esto no lo voy a hacer más sencillo me lo voy a dejar así como estaba [Música] retro si provocan no estoy metiendo channels ya miren qué voy a hacer entonces voy a crear un método aquí una pista no tengo una redirección group flexión voy a crear un método que es dj frank sana frank channel de paso el contexto y el chat yo ser state chad 15 state y miren voy a tolerar este no aquí le paso create pinchan el contexto está perfecto entonces simplemente llamó al club y aquí craig andy y esto me retorna el chándal ok perfecto entonces voy a hacer ahora un push and place to be placed el contexto y el widget kiwi que le voy a pasar puedo apoyarme de este widget que tengo en chad view en este widget básico que ya tiene strange admira todo esto el gdr la lista de chat 10 meses así que voy a llamar a channel page pero como yo tengo el chanel específico lucia de montón ya voy a ponerle encima un widget que va a ser un escape esto sería para ti y encima puede ser o encima de esto podría ser un hay un string channel cantan ah eres trinchan él está este esto string channel es the string del pacas string donde le puedo pasar y el channel veamos [Música] future como siempre me falte la wait listo ahora si quiero crear un chat porque miren tengo un chat con bryant nada más pero quiero un chat con ahora con daniel tap y ya está veamos hello a esta función o gente qué tal todo bien si todo bien entonces ahora sí ya tengo el chat con un amigo ahora necesito crear el chat grupal el grup pam pam aquí debería ir a la página de group selección view y aquí que tengo está muy parecido a la otra que tenía que es con xavi o xabi y en exceso crear el chat grupal con la imagen en su vida creo que selección judith y listo esto es parecido al otro se dan cuenta no tengo ni [ __ ] porque hay gente entonces voy a hacer esto y les muestro ya luego estamos aquí yo tengo en el textil tengo el nombre del grupo pero el texto controller está aquí y group necesito bueno acá ya tenía ya un grup busquéis quiero que el grup busquéis perfecto ahora todo el trabajo tengo los members voy a inyectarle nada más aquí y aquí que va a ser cero results cuando crea el grupo punto create group y le pasó un input que también imputó un crío group inc veamos que tiene que crear input my name y members fácil y más baile va a ser la imagen que seleccionó que voy a atenderle en mi estado es fair game members va a ser los miembros que yo tengo que le había pasado a pero me falta algunos members y en imagen en name va a ser el del texto controlar de captura en members no escribió una raíz de street y yo tengo una radio ser state así que simplemente a un mapa punto punto y ya está y estamos entonces necesitaría esperar una respuesta que me retorno y grupo el channel me retorna sana y entonces esto se lo pasó aquí el mito en este caso estoy haciendo emitiendo el valor el file con el channel aquí cuando seleccionó la imagen se acuerdan que había hecho también y más iguala s no tengo inyectado el picar voy a inyectar aquí y más piqué repositor y expositores aquí voy a hacer un clic y más y ya está tengo el imas aquí le pasó la imagen este cuando seleccionó la imagen nada más y tengo que ponerle un constructor también entonces voy a salir error en el vídeo seguro por el constructor que ahora tiene más argumentos esta pista group aquí sin lector que está arriba entonces necesito contexto read con tres puntos que está aquí es el líder cuando el canal sea diferente de nulo [Música] entonces voy a llamar lo mismo que llame enfrían selección vio algo así y estamos el snap set que es el channel y el channel page a noel snapshot trae todo el state así que yo le hallo y pongo el channel que ya tenía hecha en el entorno que más entonces como selección en la foto que voy a llamar aquí llamo a pic file bikini víctimas esta y cuando seleccionen next llamó a cría el grupo y ya está nada más salir lo aseguro de nuevo ya va a crear un grupo que con las dos personas grupo vips de steps debes tips qué imagen para el grupo a ésta el señor ya no puede ser diferente en 1 [Música] es que este snap se está manchando ya así selecciona la imagen está emitiendo el valor cuando selecciona la imagen le faltó pintar la imagen aquí y snapshot punto by me copia de frames elección bien [Música] faith verify aquí está igualito [Música] y estamos acá debería pintar la imagen ahí está y después de este nombre no daniel bryan next y ahí está mi grupo de bebés con 3 members y 1 online que soy una ola de pestes y esta gente entonces este grupo debería aparecer aquí hay estado pge de la persona que ha escrito el mensaje está ahí aparece su su avatar ah no lo que pasa es que cuando se acuerdan que cuando hago en la blog de la imagen siempre retorna una url fija que enviaba tantos por eso no hasta que cambie ya los servicios entonces gente ya hemos acabado con esto con la parte de inyección de dependencia de los que dice screen architecture simplemente ahora vamos a ver lo bello de arquitectura tener todos los acoplado que ahora con unos pequeños cambios vamos a tener todo apuntando a data real entonces vamos con eso porque hay gente ahora si viene la magia lo bello de kim arquitecto se acuerdan de las dependencias aquí que todas están apuntando al local el extremo del local con implementación bocas y menos y más picker implementation que es una integración de un plugin estos son los planes que agregado ahora fire beisel sign in para la autenticación con google fire estado para la autenticación fires storage para poder subir la imagen un server bueno en este caso de fires y sharp electronics para guardar el key de tal modo no nada más y http para que para porque ahora voy a consumir el token ya no lo voy a generar con el plugin punto de tocones trinchat sino lo voy a consumir lo he subido este esto en una micro function the fire veis lo expuesto como una función como una como un servicio así que simplemente a una petición http le pasó me di y me devuelve el token como hago eso con strange at ustedes lo pueden montar en cualquier back-end puede ser python puede ser java lo que deseen net y voy a mostrarles de dónde sacaba esta info de aquí está la imponente entra en la página 7 stream o buscan simplemente toques en con get swing y aquí les da la info de cómo generar el token ustedes cuando crean una cuenta de strange a tu proyecto perdón tienen el lápiz y el lápiz secret lo ponen aquí en este caso ya escribí nou y es que es lo que yo usé y simplemente client gritó que le pasa en el aire y usted recibe y eso es todo entonces le genera el toque y eso lo retorno y lo usan ustedes para esto puede estar conectado a su alba quien de ustedes obviamente no lo usan ustedes y aparte todo eso está en python rubí php llamado swift now 6 nov tampoco php y ruby y payton sí y javascript si ser también es echar la nicotina todavía y eso hay gente entonces ya saben para para la parte de toquen construyen chats entonces ve en esta página y seguimos que lo decía el bello del cambio entonces que he creado aquí miren voy a la capa de datos he creado un nuevo folder que se llama proto giano local y he realizado las mismas implementaciones pero ahora ya le he quitado en el nombre local ustedes pueden ponerle cualquier nombre yo le quitaba el logo que él para acordarme y miren estoy más speaker es igual así que yo pienso que le voy a quitar esto no debería ir ni en lo que el templo tutoría ser genérico porque es directo con el plugin a menos que ustedes quieran bloquear después eso ahora si auto implementation que tiene la conexión con parís no estos del plugin destacan aquí sacó el usuario activo y creó mi usuario value ser con el wide y que lo voy a usar como aid y no en sajnín que tengo yo soy credencial todo lo que me dice la documentación de google shiny fire estado para autenticar – auténtico con las credenciales y si hay un error o cancela lanzó una excepción en los autos sainz que más en persiste néstor starc preference he creado un quiz darmouth el preferentes lo tengo sino falso y cuando hago el update el dartmouth simplemente preference le pongo un up to set ball y nada más sencillo que estoy usando server friends ustedes pueden usar el que quieran stream es prácticamente lo mismo excepto en la generación del toque que casi todo lo mismo no bueno kaplan en desconecto aquí está voy a poner el que había corregido connect y sexys voy a poner desde el que había corregido porque ya sabemos que nos vota un error ok y miren el ghetto que estoy haciendo estoy haciendo un http post a mi cloud function le estoy enviando midi y le estoy diciendo que ese es un jason lo que estoy enviando y nada más que estoy esperando tipo respuesta y jason y no obtengo el token de retorno en jason con esto yo lo especificado ustedes pueden hacerlo como ustedes al final esto no interesan ustedes aquí pueden usar su propia implementación un implementation pero no se olviden de chica la página strange at lo demás es igual stream chat y el blog también ahora sí estoy usando aquí fire sisters de copiado también el código de los ejemplos aquí para eso necesitaba el pad para especificar dónde lo voy a subir el archivo espero en la pelotas y retorno la url generada en esto de hecho gente y ahora la magia es aquí aquí hay que cambiarle nada más por la implementación que hemos creado la real limpia y persistente estarás implementation implementation aquí está cloud storage implementation el ima speaker está bien y lo que dices es también porque no usa ningún plan o nada simplemente conectando entonces ya esta gente que faltaría voy a hacer un hot restar para probar probemos y se cayó todo me faltó inicializar esta esta parte de cuando ustedes crea un proyecto fires tienes que tienen que inicializar al inicio con lo que me dice que forbes que llame a inicial 6 up veamos ojos que ya he configurado mi proyecto yo para qué con los archivos que pide fair race no he leído de los plugins y ya eso no vamos a explicar aquí porque ustedes saben configuraron water loud bajo tres start [Música] y qué más me dice me dice ahora que ya me asusta no es que tenga que llamar a esto y este inicial ezeiza es un future así que voy a decirle que espere estamos ahora sí la última es la vencida de otro start iii y esta splash válida me manda el baby fight algo no me cuadra aquí en splice porque demora tanto splice split no bien validez ah es que mi usuario y existe el lado el auto no lo reemplace me parece un poco extraño esto dependencia out implementation y estos son dos factores ahora a menos que esté identificado ahora vamos a ver voy a crear un nombre diego en teoría debería subir la foto ahora vamos a probar con esta foto diego a quien le voy a poner esto es chatting vamos vamos vamos y me sale un error que me dice que ya estaba conectado es que si está asumiendo que estoy conectado vamos a ver a me faltó aquí el disco necta que se acuerdan que le agregue esto desconectó [Música] creo que aquí estoy mal en el tie ning que creo que la de malogrado aquí en sajnín cubit and shine y no está haciendo nada no lo había corregido esto aquí debería hacer una validación debería ir por el que había corregido esto find dogi news case dominios que es es por eso que no me pedía el auto válido y el login away aquí creo que sí lo hice pero nunca lo implemente no nunca lo usé o sea si éste lo windows keys miren acabas va a ir al auto y me va a decir que es nulo entonces me va a mandar al sign in entonces nada más creo aquí yo creo que lo hice en el final profe verify kiwis él es plácido y se llama con realiza en el splash que es muy parecido perdón aquí lo dicen pero no lo hice en el training me parece raro válida y login yo ser y aquí debe validez swinger that you ser algo similar voy a copiar me entonces splash [Música] algo así [Música] sólo que caes en bali de blogging es igual no se está está igual entonces aquí que sería sajnín state y auto excepción no tengo un sign in ok estoy usando este y aquí hay dos opciones nada más o que me mande al non o me manda al existen yo sé y estamos esto no lo uso así que puedo poner simplemente la excepción y vamos a ver voy a hacer un hot restar de nuevo seis indios que dice [Música] con texto hay varios escenarios aquí de autenticación 1 en el splash bueno estoy en sajnín cuando estoy en profile hay bastantes pasos donde se por eso creo que son los errores hot start y veamos splash demanda al verified ya que asume que mi usuario es existente debe ser porque tengo una sesión activa de permiso porque estaba probando a ver diego 200 ahora foto esta starting [Música] pero vamos hasta que sube la foto la subió y como es un usuario nuevo con estuvieran de la idea ahora del out ya no estoy usando el aire y diego que tenía en duda entonces no encuentra ningún canal veamos el profeta esto me lo había corregido me parece algo raro no [Música] settings es la séptima [Música] ya lo había corregido y más network no no lo había puesto me faltó el hype 150 no sé pensé que había hecho como un roberto algo que no sé por qué no se veía en el otro caso era porque mi imagen era pequeña en este caso creo que no me di cuenta por eso ok entonces ya ahí está la imagen está bien a su vida entonces el chat no tengo nada en tema le voy a poner dark y ahora voy a hacer un juego de restar para ver si el tema se mantiene de paso que válido si un usuario me redirecciona al home splash válida y ahí están mal algo está mal ahí porque no está no está entrando al lado pero el tema ya que es playa algo que estoy equivocarme en el splash miren [Música] escrit acá válido el login ok el audio ser es diferente de nulo [Música] no porque creo que acá el audio sobre esta está siendo nulo entonces está entrando a la excepción de no out y en la excepción de nuevo outback explosión y quiero hacer el splash become non al saint envió sí me parece súper raro esto login válida y login yo seré es diferente de nulo a ver vamos a ver get out you se ve de repente yo me estoy equivocando en out la implementación de out aquí debería lanzar una excepción que no está el usuario a menos que si éste hubiera hecho un lugar voy a probarme un diego 200 sin imagen aquí tenemos que validar también en el profile si es que la imagen es diferente de nulo si input y match point es diferente entonces subo la imagen voy a poner aquí tres más y creo que debería ser lo mismo para el grupo no groupe selección cubit en que el grupo no necesariamente va a tener imagen así que voy a ponerle más aquí [Música] si esto es diferente de nuevo entonces y un mes es igual esto y simplemente pongo y más aquí está veamos 200 estar chatting file más diferente en doble no grave no sale de un archivo en la grava pero sí veamos un otro start iii otros están fijo tras estar bueno splash [Música] que no sé por qué me están dando aquí 200 start chad y leí dos veces eso se debería controlar settings ya western lugar en teoría y lo audaz entrando al fire salt log out sand in out y aquí en el manual sajnín con de google vamos a ver si un juego de restar para ver si el usuario no se había quedado en sesión se había quedado pegado el helado ok ahora si me dice que el usuario no está si es que lo que pasa es que había estado probando antes con fire bissau y ya me había autenticado por eso se quedó de la sesión y nunca hice un saneado ok log in with google porque cuando le dije vas haining valide el login y va a existen ya ser no van y si banon aquí en válida y log in debería nunca estoy haciendo un sign in aquí está raro no sé si es que es out déjenme corregir esto sainz design in club y si es que el resultado es falso voy a voy a validar aquí si es que no es alto entonces vamos a ver si es que no está 2 entonces hago un sign in away cito aquí acceso a fire voy a ponerle aquí future 5 [Música] dining y aquí ya tengo acceso a auto repository y aun sajnín y me retorna el audio ser así y ésta y voy a llamarlo windows 6 y sweeting por el sol y por eso es diferente del nudo entonces invito a donde quiero que lo mande saint y debería mandar los profanos verify prof entonces ok ahora sí ahora sí debería funcionar eso es lo malo de trabajar un poco con datos que no me retorna lo que realmente quiero porque no estoy probando realmente con los servicios reales ahora sí hot restar ok mining ok ahora sí dining de google ok voy a poner mi cuenta estamos así me acuerdo y la clave es auténtico ok ahora estoy con farmers out y voy a poner diego digo chat imagen imagen tengo por aquí o no esta de goku de whatsapp y start chad y nao el ica ahí sube la imagen y me va a autenticar con string piai michat está vacío settings esta imagen voy a hacer voy a cambiar el tema likes voy a hacer un hot restar para ver si es que me mantiene la sesión y me mantiene el tema like debería splice válida y algo anda mal ahí veamos de nuevo estos serían splash no split que invalide el login al get you ser es diferente no lo así con ex y sexys si entonces debería retornar él es plástico y diestro me manda existing llosa vamos a ver si marathón nature por otro ni siquiera está entrando al validar login [Música] el splash lo debería llamar en las vivo está entrando a una excepción [Música] bien usar si ya estaba identificado debería retornar me el usuario actual miren validez voy a ponerle válida y login para ver si está entrando bien y en el usuario que me está dando usted [Música] adiós digamos si lo más probable es que se esté cayendo aquí connect if exist está siendo folds que tengo en connect y sexys y el triunfo que estoy poniendo porque estoy asumiendo de que no existe pues no aquí le puedo cambiar ahí le puedo decir qué [Música] asumo que no existe pero mi usuario ya está identificado así que hay un arroz mío ahí porque no necesito pasar por este profe en silla estoy identificado este conector me retorna y hace ok miren una vez que estoy identificado state si mi usuario ya tiene nombre sin nombres diferentes nules que ya existía si no está bien que demanda el profile para validar este para validar su nombre para que malí el nombre y la fota vamos a probar y creo que esta es realidad y login splash ahora sí por fin como ya ha valido que ese mensuario tiene nombre y esto tiene imagen entonces lo mandas al home directo sino lo más habitual profe ahora sí tema dark hot start splash válida y esta te marca todo bien hasta ahí voy a chatear entonces con alguien ahí están los conectados ahí están las imágenes están bien voy a chatear con diego [Música] está bien la don diego hasta el chat también está en tema dark en el siguiente vídeo cuando hagamos el diseño y vamos a modificar todo este tema y bueno ahí tengo mi primer chat con diego no voy a crear un chat grupal ahora y el grup con bryant daniel y diego y me sale error porque estoy en agarrar es esto lo estoy haciendo así en caliente nada más no está súper preparado así que snapshot para inicio es nulo y está ahí está diego bryant y danielle developers imagen imagen puede ser ésta next hace falta poner la imagen pero ya también de cada avatar pero eso ya lo hacemos en esta developers on en el diseño entonces él lo word ahí está ya tengo el grupo ya tengo mi usuario un chat normal ya tenemos el settings con el log out login ya tenemos conexión con out con google sign in subimos la foto con fire veis stories consulte el token con cloud foundations estamos usando tengo aquí texture estamos estructurando había en el proyecto tenemos 2 case es tenemos dependencias con implementación real e implementación mucho y es esta gente entonces básicamente esto fue el proyecto ha tomado tiempo porque no es un proyecto tan sencillo como armas la lleva y poner aceite state set este y esta no es como que más complejo porque hay que explicar un poco de los repositorios en la inyección de dependencia cómo se maneja la inyección inflar el blog está chévere cómo se manejan acá estoy management tiene su forma de manejar la inyección de dependencias en jr ecs creo que es el latam by ni en probar es similar para el blog también el hecho de tener cubit está chévere con el emir nada más refrescas similares y native air pero como les dije si quieren un vídeo así un versus en ferré blog versus provider escriban los comentarios o sugerencias dan pero yo ya me despido y nos vemos en el último vídeo que es ya tunear el el design

As found on YouTube

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *