Roles : Participant
Participant : Joindre Room, Quitter Room, Changer Pseudo, Inviter, Transformation 1on1 -> 1on multi, Envoyer Message, Envoyer message prive, Requesting Voice.
Affiliation (lien avec le chan) : Owner
Owner : Creer Room, Detruire Room
We need to think about how we store user avatar. also need to finish the smack implementation, this should be easy.
Necessite l'utilisation du contact provider. Une activite qui affiche la liste des ressources d'un contact lorsqu'on lui passe un jid incomplet (test@exemple.com) afin de choisir a qui parler. Cette activite lance directement l'activite Chat si il n'y a 0 ou 1 ressource connecté ou un jid complet (test.exemple.com/pc)
On peut creer une implementation abstract de l'AsyncTask. Cette abstraction lancerait juste la connection, a charge a ses sous classes de definir leur changement niveau UI.
Exemple d'utilisation :
Lancement de l'activite Chat sans connexion. La connexion s'effectue en arriere plan pendant que l'user tape son message et des qu'elle disponible on active le bouton 'envoyer'
On ne gere qu'un seul chat par contact. Si on obtient un nouveau chat pour le meme contact le nouveau remplace l'ancien et l'ancien est definitivement perdu.
Faire des tests en ouvrant un chat avec gajim puis en le fermant et reouvrant un chat.
Ca peut etre interessant a faire rapidement. Ca permet d'envoyer des messages avec un sujet. Des messages plus en mode sms/mail.
A definir