debut du connectivityManager et petit rafraichissement dans createaccount
authorNikita Kozlov <nikita@beem-project.com>
Thu, 03 Dec 2009 00:36:12 +0100
changeset 539 b3a34023b8c8
parent 538 d0745275aed8
child 552 a560f82d48b0
debut du connectivityManager et petit rafraichissement dans createaccount
AndroidManifest.xml
res/values-fr/strings.xml
res/values/strings.xml
src/com/beem/project/beem/BeemService.java
src/com/beem/project/beem/ui/CreateAccount.java
src/com/beem/project/beem/utils/BeemConnectivity.java
--- a/AndroidManifest.xml	Tue Nov 24 11:58:14 2009 +0100
+++ b/AndroidManifest.xml	Thu Dec 03 00:36:12 2009 +0100
@@ -5,8 +5,8 @@
 	<application android:label="@string/app_name"
 		android:icon="@drawable/beem_launcher_icon_silver" android:theme="@style/Theme.BEEM.Default"
 		android:debuggable="true" android:name="@string/app_name">
-		<activity android:name=".ui.Login" android:label="@string/app_name" android:screenOrientation="portrait"
-			android:launchMode="singleTask">
+		<activity android:name=".ui.Login" android:label="@string/app_name"
+			android:screenOrientation="portrait" android:launchMode="singleTask">
 			<intent-filter>
 				<action android:name="android.intent.action.MAIN" />
 				<category android:name="android.intent.category.LAUNCHER" />
--- a/res/values-fr/strings.xml	Tue Nov 24 11:58:14 2009 +0100
+++ b/res/values-fr/strings.xml	Thu Dec 03 00:36:12 2009 +0100
@@ -177,21 +177,7 @@
 	<string name="settings_menu_create_account">Créer un compte</string>
 	<string name="settings_menu_login">Se connecter</string>
 	<string name="settings_menu_privacy_lists">Gérer mes listes privées</string>
-	<string name="settings_saved_ok">Les paramètres ont été enregistrés avec succès.
-	</string>
-
-	<string name="settings_key_account_username">beem_account_username</string>
-	<string name="settings_key_account_password">beem_account_password</string>
-	<string name="settings_key_xmpp_server">beem_xmpp_server</string>
-	<string name="settings_key_xmpp_port">beem_xmpp_port</string>
-	<string name="settings_key_xmpp_tls_use">beem_xmpp_tls_use</string>
-	<string name="settings_key_proxy_use">beem_xmpp_proxy_use</string>
-	<string name="settings_key_proxy_server">beem_xmpp_proxy_server</string>
-	<string name="settings_key_proxy_port">beem_xmpp_proxy_port</string>
-	<string name="settings_key_proxy_username">beem_xmpp_proxy_username</string>
-	<string name="settings_key_proxy_password">beem_xmpp_proxy_password</string>
-	<string name="settings_key_proxy_type">beem_xmpp_proxy_type</string>
-	<string name="settings_key_hidden_contact">settings_key_hidden_contact</string>
+	<string name="settings_saved_ok">Les paramètres ont été enregistrés avec succès.</string>
 
 	<!-- EditSettings Activity Categories -->
 	<string name="general_preferences">Préférences de l\'application</string>
@@ -246,7 +232,7 @@
 	<string name="create_account_err_dialog_title">Créer un compte - Erreur</string>
 	<string name="create_account_err_dialog_settings_button">Changer mes paramètres</string>
 	<string name="create_account_close_dialog_button">Fermer</string>
-	<string name="create_account_successfull_after">A été créé avec succès</string>
+	<string name="create_account_successfull_after">L\'utilisateur %s a été créé avec succès</string>
 	<string name="create_account_err_username">Mauvais JabberID</string>
 	<string name="create_account_err_passwords">Les mots de passe ne correspondent pas</string>
 	<string name="create_account_username">Nom d\'utilisateur</string>
--- a/res/values/strings.xml	Tue Nov 24 11:58:14 2009 +0100
+++ b/res/values/strings.xml	Thu Dec 03 00:36:12 2009 +0100
@@ -167,18 +167,7 @@
 	<string name="settings_menu_privacy_lists">Manage my privacy lists</string>
 	<string name="settings_saved_ok">The settings have been saved successfully.</string>
 
-	<string name="settings_key_account_username">beem_account_username</string>
-	<string name="settings_key_account_password">beem_account_password</string>
-	<string name="settings_key_xmpp_server">beem_xmpp_server</string>
-	<string name="settings_key_xmpp_port">beem_xmpp_port</string>
-	<string name="settings_key_xmpp_tls_use">beem_xmpp_tls_use</string>
-	<string name="settings_key_proxy_use">beem_xmpp_proxy_use</string>
-	<string name="settings_key_proxy_server">beem_xmpp_proxy_server</string>
-	<string name="settings_key_proxy_port">beem_xmpp_proxy_port</string>
-	<string name="settings_key_proxy_username">beem_xmpp_proxy_username</string>
-	<string name="settings_key_proxy_password">beem_xmpp_proxy_password</string>
-	<string name="settings_key_proxy_type">beem_xmpp_proxy_type</string>
-	<string name="settings_key_hidden_contact">settings_key_hidden_contact</string>
+
 
 	<!-- EditSettings Activity Categories -->
 	<string name="general_preferences">General preferences</string>
@@ -231,7 +220,7 @@
 	<string name="create_account_err_dialog_title">Create an account - Error</string>
 	<string name="create_account_err_dialog_settings_button">Change my settings</string>
 	<string name="create_account_close_dialog_button">Close</string>
-	<string name="create_account_successfull_after">has been created successfully</string>
+	<string name="create_account_successfull_after">account %s has been created successfully</string>
 	<string name="create_account_err_username">Bad JabberID</string>
 	<string name="create_account_err_passwords">Passwords do not match.</string>
 	<string name="create_account_username">Username</string>
--- a/src/com/beem/project/beem/BeemService.java	Tue Nov 24 11:58:14 2009 +0100
+++ b/src/com/beem/project/beem/BeemService.java	Thu Dec 03 00:36:12 2009 +0100
@@ -79,7 +79,6 @@
     private ProxyInfo mProxyInfo;
     private boolean mUseProxy;
     private IXmppFacade.Stub mBind;
-    private ProviderManager mProviderManager;
 
     /**
      * Constructor.
--- a/src/com/beem/project/beem/ui/CreateAccount.java	Tue Nov 24 11:58:14 2009 +0100
+++ b/src/com/beem/project/beem/ui/CreateAccount.java	Thu Dec 03 00:36:12 2009 +0100
@@ -15,7 +15,6 @@
 import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
-import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
@@ -66,12 +65,12 @@
     private boolean createAccount(String username, String password) {
 	XMPPConnection xmppConnection = null;
 	ConnectionConfiguration connectionConfiguration = null;
-
-	if (getRegisteredProxy() != null) {
-	    connectionConfiguration = new ConnectionConfiguration(getXMPPServer(), DEFAULT_XMPP_PORT,
-		getRegisteredProxy());
+	ProxyInfo pi = null;
+	if ((pi = getRegisteredProxy()) != null) {
+	    connectionConfiguration = new ConnectionConfiguration(getXMPPServer(), getXMPPPort(),
+		pi);
 	} else {
-	    connectionConfiguration = new ConnectionConfiguration(getXMPPServer(), DEFAULT_XMPP_PORT);
+	    connectionConfiguration = new ConnectionConfiguration(getXMPPServer(), getXMPPPort());
 	}
 	if (getRegisteredXMPPTLSUse())
 	    connectionConfiguration.setSecurityMode(ConnectionConfiguration.SecurityMode.required);
@@ -81,11 +80,9 @@
 	    xmppConnection.connect();
 	    AccountManager accountManager = new AccountManager(xmppConnection);
 	    accountManager.createAccount(username, password);
-	    Toast toast = Toast.makeText(getApplicationContext(), "Account " + username + " "
-		+ getString(R.string.create_account_successfull_after), NOTIFICATION_DURATION);
+	    Toast toast = Toast.makeText(getApplicationContext(), String.format(getString(R.string.create_account_successfull_after),username), NOTIFICATION_DURATION);
 	    toast.show();
 	} catch (XMPPException e) {
-	    Log.e(getString(R.string.create_account_tag), e.getMessage());
 	    createErrorDialog(e.getMessage());
 	    return false;
 	}
@@ -98,7 +95,6 @@
      * @param errMsg the error message
      */
     private void createErrorDialog(String errMsg) {
-	Log.v(getString(R.string.create_account_tag), errMsg);
 	AlertDialog.Builder builder = new AlertDialog.Builder(this);
 	builder.setTitle(R.string.create_account_err_dialog_title).setMessage(errMsg).setCancelable(false);
 	builder.setNeutralButton(R.string.create_account_close_dialog_button, new DialogInterface.OnClickListener() {
@@ -130,7 +126,7 @@
      * @return Registered proxy password
      */
     private String getRegisteredProxyPassword() {
-	return mSettings.getString(getString(R.string.settings_key_proxy_password), DEFAULT_STRING_VALUE);
+	return mSettings.getString("settings_key_proxy_password", DEFAULT_STRING_VALUE);
     }
 
     /**
@@ -139,7 +135,7 @@
      */
     private int getRegisteredProxyPort() {
 	return Integer
-	    .parseInt(mSettings.getString(getString(R.string.settings_key_proxy_port), DEFAULT_STRING_VALUE));
+	.parseInt(mSettings.getString("settings_key_proxy_port", DEFAULT_STRING_VALUE));
     }
 
     /**
@@ -147,7 +143,7 @@
      * @return Registered proxy server
      */
     private String getRegisteredProxyServer() {
-	return mSettings.getString(getString(R.string.settings_key_proxy_server), DEFAULT_STRING_VALUE);
+	return mSettings.getString("settings_key_proxy_server", DEFAULT_STRING_VALUE);
     }
 
     /**
@@ -156,7 +152,7 @@
      */
     private ProxyInfo.ProxyType getRegisteredProxyType() {
 	ProxyInfo.ProxyType result;
-	switch (mSettings.getInt(getString(R.string.settings_key_proxy_type), DEFAULT_INT_VALUE)) {
+	switch (mSettings.getInt("settings_key_proxy_type", DEFAULT_INT_VALUE)) {
 	    case 0:
 		result = ProxyInfo.ProxyType.HTTP;
 		break;
@@ -164,12 +160,11 @@
 		result = ProxyInfo.ProxyType.SOCKS4;
 		break;
 	    case 2:
-		Log.i(getString(R.string.create_account_tag), "SOCKS5 PROXY");
 		result = ProxyInfo.ProxyType.SOCKS5;
 		break;
 	    default:
 		result = ProxyInfo.ProxyType.NONE;
-		break;
+	    break;
 	}
 	return result;
     }
@@ -179,7 +174,7 @@
      * @return Registered proxy use
      */
     private boolean getRegisteredProxyUse() {
-	return mSettings.getBoolean(getString(R.string.settings_key_proxy_use), DEFAULT_BOOLEAN_VALUE);
+	return mSettings.getBoolean("settings_key_proxy_use", DEFAULT_BOOLEAN_VALUE);
     }
 
     /**
@@ -187,7 +182,18 @@
      * @return Registered proxy username
      */
     private String getRegisteredProxyUsername() {
-	return mSettings.getString(getString(R.string.settings_key_proxy_username), DEFAULT_STRING_VALUE);
+	return mSettings.getString("settings_key_proxy_username", DEFAULT_STRING_VALUE);
+    }
+
+    /**
+     * Retrieve xmpp port from the preferences.
+     * @return Registered xmpp port
+     */
+    private int getXMPPPort() {
+	int port = DEFAULT_XMPP_PORT;
+	if (mSettings.getBoolean("settings_key_specific_server", false))
+	    port = Integer.parseInt(mSettings.getString("settings_key_xmpp_port", "5222"));
+	return port;
     }
 
     /**
@@ -196,7 +202,11 @@
      */
     private String getXMPPServer() {
 	TextView xmppServerTextView = (TextView) findViewById(R.id.create_account_username);
-	String xmppServer = StringUtils.parseServer(xmppServerTextView.getText().toString());
+	String xmppServer = "";
+	if (mSettings.getBoolean("settings_key_specific_server", false))
+	    xmppServer = mSettings.getString("settings_key_xmpp_server", "");
+	else
+	    xmppServer = StringUtils.parseServer(xmppServerTextView.getText().toString());
 	return xmppServer;
     }
 
@@ -205,7 +215,7 @@
      * @return Registered TLS use
      */
     private boolean getRegisteredXMPPTLSUse() {
-	return mSettings.getBoolean(getString(R.string.settings_key_xmpp_tls_use), DEFAULT_BOOLEAN_VALUE);
+	return mSettings.getBoolean("settings_key_xmpp_tls_use", DEFAULT_BOOLEAN_VALUE);
     }
 
     /**
@@ -215,7 +225,7 @@
     private boolean checkPasswords() {
 	final String passwordFieldValue = ((EditText) findViewById(R.id.create_account_password)).getText().toString();
 	final String passwordConfirmFielddValue = ((EditText) findViewById(R.id.create_account_confirm_password))
-	    .getText().toString();
+	.getText().toString();
 
 	return passwordFieldValue.equals(passwordConfirmFielddValue);
     }
@@ -237,9 +247,9 @@
 	mCreateAccountButton.setOnClickListener(new View.OnClickListener() {
 	    public void onClick(View v) {
 		String usernameFieldValue = ((EditText) findViewById(R.id.create_account_username)).getText()
-		    .toString();
+		.toString();
 		String passwordFieldValue = ((EditText) findViewById(R.id.create_account_password)).getText()
-		    .toString();
+		.toString();
 		String username = StringUtils.parseName(usernameFieldValue);
 		if (!checkEmail())
 		    createErrorDialog(getString(R.string.create_account_err_username));
@@ -256,10 +266,10 @@
 	createAccountLoginButton.setOnClickListener(new View.OnClickListener() {
 	    public void onClick(View v) {
 		String usernameFieldValue = ((EditText) findViewById(R.id.create_account_username)).getText()
-		    .toString();
+		.toString();
 		String username = StringUtils.parseName(usernameFieldValue);
 		String passwordFieldValue = ((EditText) findViewById(R.id.create_account_password)).getText()
-		    .toString();
+		.toString();
 		if (!checkEmail())
 		    createErrorDialog(getString(R.string.create_account_err_username));
 		else if (!checkPasswords())
@@ -268,10 +278,10 @@
 		    if (createAccount(username, passwordFieldValue)) {
 			SharedPreferences.Editor settingsEditor = mSettings.edit();
 			settingsEditor
-			    .putString(getString(R.string.settings_key_account_username), usernameFieldValue);
+			.putString("settings_key_account_username", usernameFieldValue);
 			settingsEditor
-			    .putString(getString(R.string.settings_key_account_password), passwordFieldValue);
-			settingsEditor.putBoolean(getString(R.string.PreferenceIsConfigured), true);
+			.putString("settings_key_account_password", passwordFieldValue);
+			settingsEditor.putBoolean("PreferenceIsConfigured", true);
 			settingsEditor.commit();
 			finish();
 		    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/com/beem/project/beem/utils/BeemConnectivity.java	Thu Dec 03 00:36:12 2009 +0100
@@ -0,0 +1,46 @@
+package com.beem.project.beem.utils;
+
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.net.NetworkInfo.DetailedState;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.telephony.TelephonyManager;
+
+public class BeemConnectivity {
+    static public boolean isConnected(Context ctx) {
+	ConnectivityManager cm = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
+	NetworkInfo ni = cm.getActiveNetworkInfo();
+	return ni.isConnected();
+    }
+    
+    public static boolean isWifi(Context ctx) {
+        WifiManager wm = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
+        WifiInfo wi = wm.getConnectionInfo();
+        if (wi != null)
+                return false;
+        if (wi != null
+                && (WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.OBTAINING_IPADDR || WifiInfo
+                        .getDetailedStateOf(wi.getSupplicantState()) == DetailedState.CONNECTED)) {
+            return false;
+        }
+        return false;
+    }
+
+    public static boolean isUmts(Context ctx) {
+        TelephonyManager tm = (TelephonyManager)ctx.getSystemService(Context.TELEPHONY_SERVICE);
+        if (tm.getNetworkType() >= TelephonyManager.NETWORK_TYPE_UMTS)
+            return true;
+        return false;
+    }
+
+    public static boolean isEdge(Context ctx) {
+        TelephonyManager tm = (TelephonyManager)ctx.getSystemService(Context.TELEPHONY_SERVICE);
+        if (tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_EDGE)
+            return true;
+        return false;
+    }
+
+
+}