Lab 2: modification d'une interface utilisateur multitactile avec stylet

Pour votre Lab 2, vous avez à modifier SimpleWireframeSketcher, une application Android de modélisation 3D. SimpleWireframeSketcher distingue entre les événements multitactiles et les événements de stylet, permettant aux doigts et au stylet de déclencher des fonctions différentes. On vous prête une tablette "Galaxy Note Pro" de Samsung, à moins que vous préférez utiliser votre propre tablette.

stylet: pour dessiner de l'encre, utiliser le lasso, et pour la sélection d'icônes
1 doigt: rotation de caméra, et sélection d'icônes
2 doigts: zoomer
Icône "X": pour effacer au complet (après confirmation)
Icône Lasso: pour selectionner une partie d'encre qui servira comme centre des plans de travail
Icône Crayon: pour dessiner de l'encre
Icône Crayon symétrique: pour dessiner de l'encre en mode symétrie
Icônes de couleur: pour changer la couleur de l'encre

Le code

Les machines du laboratoire (A-3326) sont supposées déjà avoir Android Studio. Si vous faites le travail sur une autre machine, il faut installer Android Studio.

L'interface utilisateur que vous avez à modifier exploite la distinction stylet / toucher pour donner des fonctions différentes à ces deux modalités d'entrée. Normalement, vous aurez à faire le travail avec une tablette Android "Galaxy Note Pro" (écran 12 pouces) de Samsung qu'on vous prête. Vous pouvez, toutefois, faire le travail avec un autre dispositif "Galaxy Note", ou encore sur un dispositif Android sans stylet si vous modifiez le code source. Dans tous les cas, ça prend un driver (pilote) USB / ADB (Android Debug Bridge) pour votre dispositif Android. Les machines du laboratoire (A-3326) sont supposées déjà avoir le pilote USB / ADB pour "Galaxy Note Pro", que vous pouvez aussi installer sur votre propre machine au http://developer.samsung.com/technical-doc/view.do?v=T000000117

Sur votre "Galaxy Note Pro", dans Settings/General/Developer options, assurez vous que "USB debugging" est enablé. Si vous ne voyez pas de "Develepper options", il faut aller dans Settings/General/About device, trouver le "Build number" et appuyer dessus 7 fois de suite.

Quand la tablette "Galaxy Note Pro" est allumée et branchée par le câble USB à votre ordinateur, si le pilote USB / ADB fonctionne bien, vous devriez voir la tablette dans votre Device Manager / Gestionnaire de périphériques (dans Windows 7: allez dans Control Panel /System and Security/System/Device Manager ou bien Panneau de configuration/Système et sécurité/Système/Gestionnaire de périphériques). Dans le Gestionnaire de périphériques, on devrait voir un Android Device.

Dans Android Studio, créer un nouveau projet avec les options suivantes (si vous ne prenez pas ces options, vous aurez à modifier le code qu'on fournit pour le faire fonctionner):
Application Name: SimpleWireframeSketcher
Company Domain: mcguffin.android
Pacakge Name: mcguffin.android.simplewireframesketcher
"Empty Activity" (important)

Si, sur la tablette, vous voyez une fenêtre vous demander "Allow USB debugging?" Il faut cocher "Always Allow from this computer" et répondre oui.

Téléchargez le code source de simplewireframesketcher.zip et copiez le contenu du fichier .zip dans le répertoire app/src/main/java/mcguffin/android/simplewireframesketcher de votre projet. (Attention au fichier d'activité qui est déjà là pour vous.)

Télécharger les icônes de icons.zip et copiez le contenu du fichier .zip dans le répertoire app/src/main/res/drawable-nodpi de votre projet.

Une astuce qui peut servir à certains: dans Constant.java, mettez logInputEventsWithDebugMessages = true, et ça fera apparaître une fenêtre par dessus l'application Android qui imprime des messages concernant les événements de toucher et de stylet (incluant la pression du stylet). Cette fenêtre est utile aussi pour logguer des messages de débogage.

Modifications à faire

Le nombre de modifications à faire dépend de la taille de votre équipe.
1 personne: des modifications valant un total de 3 points.
2 personnes: des modifications valant un total de 5 points.
3 personnes: des modifications valant un total de 7 points.
4 personnes: des modifications valant un total de 9 points.

Des exemples d'interfaces (multitactiles et/ou pour stylet) pour vous inspirer