www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 23d19da471c3bbeb1d6e283e45970972bdddeda2
parent 39ac7935896030ee14b9e03240d151e886b1a8b8
Author: Bertrand BRUN <bertrand0brun@gmail.com>
Date:   Wed, 27 Apr 2011 09:26:08 +0200

Test de l'objet PtiClicAndroid

Diffstat:
Mcode/PtiClic/src/org/pticlic/FrontPage.java | 2+-
Mcode/PtiClic/src/org/pticlic/js/JavaScriptInterface.java | 24++++++++++++------------
Mcode/serveur/php/ressources/pticlic.js | 18++++++++++++++++++
3 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/code/PtiClic/src/org/pticlic/FrontPage.java b/code/PtiClic/src/org/pticlic/FrontPage.java @@ -22,7 +22,7 @@ public class FrontPage extends Activity { WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); - webView.addJavascriptInterface(new JavaScriptInterface(this), "Pticlic"); + webView.addJavascriptInterface(new JavaScriptInterface(this), "PtiClicAndroid"); webView.loadUrl(Constant.SERVER + Constant.SERVER_URL); } diff --git a/code/PtiClic/src/org/pticlic/js/JavaScriptInterface.java b/code/PtiClic/src/org/pticlic/js/JavaScriptInterface.java @@ -1,10 +1,7 @@ package org.pticlic.js; -import org.pticlic.Preference; - import android.app.ProgressDialog; import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; @@ -16,13 +13,16 @@ public class JavaScriptInterface { public JavaScriptInterface(Context c) { mContext = c; } - - /** Permet d'afficher la page des preferences qui est directement - * implemente sur le telephone + + /** + * Permet de setter une valeur dans les preferences * + * @param aName Le nom de la preference + * @param aValue La valeur que l'on veux pour la preference */ - public void goToPreferences() { - mContext.startActivity(new Intent(mContext, Preference.class)); + public void setPreference(String aName, String aValue) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); + prefs.edit().putString(aName, aValue).commit(); } /** Permet de recupere une des preferences du systeme. @@ -30,9 +30,9 @@ public class JavaScriptInterface { * @param pref La preference que l'on veux recupere * @return La preference a recupere. */ - public String getPreference(String pref) { + public String getPreference(String aName) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); - return prefs.getString(pref, ""); + return prefs.getString(aName, ""); } /** Permet d'afficher une progressbar @@ -47,8 +47,8 @@ public class JavaScriptInterface { * */ public void dismiss() { - if (dialog.isShowing()) - dialog.dismiss(); + if (dialog.isShowing()) + dialog.dismiss(); } /** Permet de quitter l'application diff --git a/code/serveur/php/ressources/pticlic.js b/code/serveur/php/ressources/pticlic.js @@ -98,6 +98,19 @@ jss.game = function(w, h, iconSize) { jss.score = function(w, h, iconSize) { }; +// ==== Interface Android +var UI = { + setPreference: function() {}, + getPreference: function() {return "";}, + show: function() {}, + dismiss: function() {}, + exit: function() {} +}; + +if (PtiClicAndroid) { + UI = PtiClicAndroid; +} + // ==== Code métier général $(function() { $(window).resize(jss); @@ -106,6 +119,7 @@ $(function() { }); function ajaxError(x) { + UI.dismiss(); alert("Erreur fatale. Merci de nous envoyer ce message : "+x.status+" - "+x.statusText+"\n"+x.responseText.substring(0,20)+((x.responseText == '') ? '': '…')); } @@ -120,6 +134,7 @@ function frontpage() { // ==== Code métier pour le jeu function getGame() { state="game"; + UI.show("PtiClic", "Récupération de la partie"); $.getJSON("getGame.php?callback=?", { user:"foo", passwd:"bar", @@ -191,11 +206,13 @@ function uiGame(game) { }); updateText(); + UI.dismiss(); } // ==== Code métier pour les scores function getScore(game) { state="score"; + UI.show("PtiClic", "Calcul de votre score"); $.getJSON("server.php?callback=?", { user: "foo", passwd: "bar", @@ -230,4 +247,5 @@ function uiScore(game) { .appendTo("#score .scores"); jss(); }); + UI.dismiss(); } \ No newline at end of file