commit 9abd8854bb3a81ff21a3924690f291807d2caa3d
parent 00122f55bc4175d3d7f641ca18d42e3ea3dec7a7
Author: Bertrand BRUN <bertrand0brun@gmail.com>
Date: Thu, 3 Feb 2011 11:07:14 +0100
Ajout de fonctionnalite sur la classe Network. (verification de l'etat de la connection, verification du login/mdp)
Diffstat:
2 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/code/PtiClic/AndroidManifest.xml b/code/PtiClic/AndroidManifest.xml
@@ -19,4 +19,6 @@
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
+
+<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
</manifest>
diff --git a/code/PtiClic/src/org/pticlic/model/Network.java b/code/PtiClic/src/org/pticlic/model/Network.java
@@ -1,12 +1,17 @@
package org.pticlic.model;
+import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
+import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import android.content.Context;
+import android.content.SharedPreferences;
import android.net.ConnectivityManager;
+import android.preference.PreferenceManager;
import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
@@ -57,6 +62,12 @@ public class Network {
this.passwd = passwd;
}
+ /**
+ * Permet de savoir si l'application a access a internet ou non
+ *
+ * @param context l'activite permettant de tester l'access a internet
+ * @return <code>true</code> si on a access a internet <code>false</code> sinon
+ */
public static boolean isConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm != null && (cm.getActiveNetworkInfo() == null
@@ -67,6 +78,40 @@ public class Network {
}
/**
+ * Permet de verifier que la combinaison login/mdp est correct
+ *
+ * @param context l'activite permettant de tester l'access a internet
+ * @param id l'identifiant de l'utilisateur
+ * @param passwd le mot de passe de l'utilisateur
+ * @return <code>true</code> si la combinaison login/mdp est correct <code>false</code> sinon
+ */
+ public static boolean isLoginCorrect(Context context, String id, String passwd) {
+ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
+ String serverURL = sp.getString(Constant.SERVER_URL, "http://dumbs.fr/~bbrun/pticlic.json");
+
+ URL url;
+ boolean res = false;
+ try {
+ url = new URL(serverURL);
+ URLConnection connection = url.openConnection();
+ connection.addRequestProperty("action", "verifyAccess");
+ connection.addRequestProperty("user", id);
+ connection.addRequestProperty("passwd", passwd);
+
+ InputStream in = connection.getInputStream();
+ BufferedReader buf = new BufferedReader(new InputStreamReader(in));
+ res = Boolean.getBoolean(buf.readLine());
+
+ } catch (MalformedURLException e) {
+ return false;
+ } catch (IOException e) {
+ return false;
+ }
+
+ return res;
+ }
+
+ /**
* Cette méthode permet de récupérer du serveur un certain nombre de parties.
* @param nbGames Le nombre de parties que l'on veut récupérer.
* @return