La connection a talk.google.com is OK !
authormarseille
Fri, 24 Apr 2009 01:59:28 +0200
changeset 166 d076437706a4
parent 165 6e008c3695ff
child 169 b832216810ae
La connection a talk.google.com is OK ! Horizontal and vertical view are acceptable . Upgrade the Send IM view with log in file.
AndroidManifest.xml
res/layout/contactlistsettings.xml
res/values/strings.xml
src/com/beem/project/beem/BeemApplication.java
src/com/beem/project/beem/BeemService.java
src/com/beem/project/beem/ui/ContactList.java
src/com/beem/project/beem/ui/ContactListSettings.java
src/com/beem/project/beem/ui/SendIM.java
--- a/AndroidManifest.xml	Fri Apr 24 00:55:18 2009 +0200
+++ b/AndroidManifest.xml	Fri Apr 24 01:59:28 2009 +0200
@@ -2,7 +2,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 	package="com.beem.project.beem" android:versionCode="1"
 	android:versionName="1.0">
-	<application android:label="@string/app_name" android:name="BeemApplication" android:icon="@drawable/signal">
+	<application android:label="@string/app_name" android:name="BeemApplication"
+		android:icon="@drawable/signal">
 		<activity android:name=".ui.ContactList" android:label="@string/app_name">
 			<intent-filter>
 				<action android:name="android.intent.action.MAIN" />
@@ -30,5 +31,5 @@
 	<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
 	<uses-permission android:name="com.beem.project.beem.BEEM_SERVICE"></uses-permission>
 	<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>
-<uses-sdk android:minSdkVersion="2"></uses-sdk>
+	<uses-sdk android:minSdkVersion="2"></uses-sdk>
 </manifest> 
--- a/res/layout/contactlistsettings.xml	Fri Apr 24 00:55:18 2009 +0200
+++ b/res/layout/contactlistsettings.xml	Fri Apr 24 01:59:28 2009 +0200
@@ -2,90 +2,22 @@
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 	android:orientation="vertical" android:layout_width="fill_parent"
 	android:layout_height="fill_parent">
-<LinearLayout
-	android:orientation="vertical" android:layout_width="fill_parent"
-	android:layout_height="fill_parent">
-
-	<TextView android:layout_width="fill_parent"
-		android:layout_height="wrap_content" android:text="Server connection"
-		android:textSize="18sp" />
-
-	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-		android:orientation="horizontal" android:layout_width="fill_parent"
-		android:layout_height="wrap_content">
-		<TextView android:layout_width="wrap_content"
-			android:layout_height="wrap_content" android:text="Host/Port:"
-			android:minWidth="90dp" android:textSize="14sp" />
-		<EditText android:id="@+id/host" android:layout_width="fill_parent"
-			android:layout_height="wrap_content" android:singleLine="true"
-			android:textSize="14sp" android:autoText="false" android:capitalize="none"
-			android:layout_weight="2" android:scrollHorizontally="true" />
-		<EditText android:id="@+id/port" android:layout_width="fill_parent"
-			android:layout_height="wrap_content" android:singleLine="true"
-			android:textSize="14sp" android:autoText="false" android:capitalize="none"
-			android:layout_weight="3" android:scrollHorizontally="true" />
-	</LinearLayout>
-
-	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-		android:orientation="horizontal" android:layout_width="fill_parent"
-		android:layout_height="wrap_content">
-		<TextView android:layout_width="wrap_content"
-			android:layout_height="wrap_content" android:text="Userid:"
-			android:minWidth="90dp" android:textSize="14sp" />
-		<EditText android:id="@+id/userid" android:layout_width="fill_parent"
-			android:layout_height="wrap_content" android:singleLine="true"
-			android:textSize="14sp" android:autoText="false" android:capitalize="none"
-			android:scrollHorizontally="true" />
-	</LinearLayout>
-
-	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-		android:orientation="horizontal" android:layout_width="fill_parent"
-		android:layout_height="wrap_content">
-		<TextView android:layout_width="wrap_content"
-			android:layout_height="wrap_content" android:text="Password:"
-			android:minWidth="90dp" android:textSize="14sp" />
-		<EditText android:id="@+id/password" android:layout_width="fill_parent"
-			android:layout_height="wrap_content" android:singleLine="true"
-			android:password="true" android:textSize="14sp" android:autoText="false"
-			android:capitalize="none" android:scrollHorizontally="true" />
-	</LinearLayout>
-
-	<Spinner android:id="@+id/proxy_type" android:layout_width="fill_parent"
-		android:layout_height="wrap_content" />
-
-	<LinearLayout android:id="@+id/proxy_layout"
-		android:orientation="vertical" android:layout_width="fill_parent"
-		android:layout_height="wrap_content">
+	<LinearLayout android:orientation="vertical"
+		android:layout_width="fill_parent" android:layout_height="fill_parent">
 
 		<TextView android:layout_width="fill_parent"
-			android:layout_height="wrap_content" android:text="Proxy informations"
+			android:layout_height="wrap_content" android:text="Server connection"
 			android:textSize="18sp" />
-
-		<LinearLayout android:orientation="horizontal"
-			android:layout_width="fill_parent" android:layout_height="wrap_content">
-			<TextView android:layout_width="wrap_content"
-				android:layout_height="wrap_content" android:text="Host/Port:"
-				android:minWidth="90dp" android:textSize="14sp" />
-			<EditText android:id="@+id/proxy_host" android:layout_width="fill_parent"
-				android:layout_height="wrap_content" android:singleLine="true"
-				android:textSize="14sp" android:autoText="false" android:capitalize="none"
-				android:layout_weight="2" android:scrollHorizontally="true" />
-			<EditText android:id="@+id/proxy_port" android:layout_width="fill_parent"
-				android:layout_height="wrap_content" android:singleLine="true"
-				android:textSize="14sp" android:autoText="false" android:capitalize="none"
-				android:layout_weight="3" android:scrollHorizontally="true" />
-		</LinearLayout>
-
 		<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 			android:orientation="horizontal" android:layout_width="fill_parent"
 			android:layout_height="wrap_content">
 			<TextView android:layout_width="wrap_content"
-				android:layout_height="wrap_content" android:text="Login :"
+				android:layout_height="wrap_content" android:text="Userid:"
 				android:minWidth="90dp" android:textSize="14sp" />
-			<EditText android:id="@+id/proxy_login"
-				android:layout_width="fill_parent" android:layout_height="wrap_content"
-				android:singleLine="true" android:textSize="14sp" android:autoText="false"
-				android:capitalize="none" android:scrollHorizontally="true" />
+			<EditText android:id="@+id/userid" android:layout_width="fill_parent"
+				android:layout_height="wrap_content" android:singleLine="true"
+				android:textSize="14sp" android:autoText="false" android:capitalize="none"
+				android:scrollHorizontally="true" />
 		</LinearLayout>
 
 		<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
@@ -94,23 +26,100 @@
 			<TextView android:layout_width="wrap_content"
 				android:layout_height="wrap_content" android:text="Password:"
 				android:minWidth="90dp" android:textSize="14sp" />
-			<EditText android:id="@+id/proxy_pwd" android:layout_width="fill_parent"
+			<EditText android:id="@+id/password" android:layout_width="fill_parent"
 				android:layout_height="wrap_content" android:singleLine="true"
 				android:password="true" android:textSize="14sp" android:autoText="false"
 				android:capitalize="none" android:scrollHorizontally="true" />
 		</LinearLayout>
-	</LinearLayout>
+
+		<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+			android:orientation="horizontal" android:layout_width="fill_parent"
+			android:layout_height="wrap_content">
+			<TextView android:layout_width="wrap_content"
+				android:layout_height="wrap_content" android:text="Service:"
+				android:minWidth="90dp" android:textSize="14sp" />
+			<EditText android:id="@+id/service" android:layout_width="fill_parent"
+				android:layout_height="wrap_content" android:singleLine="true"
+				android:textSize="14sp" android:autoText="false" android:capitalize="none"
+				android:scrollHorizontally="true" />
+		</LinearLayout>
+
+		<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+			android:orientation="horizontal" android:layout_width="fill_parent"
+			android:layout_height="wrap_content">
+			<TextView android:layout_width="wrap_content"
+				android:layout_height="wrap_content" android:text="Host/Port:"
+				android:minWidth="90dp" android:textSize="14sp" />
+			<EditText android:id="@+id/host" android:layout_width="fill_parent"
+				android:layout_height="wrap_content" android:singleLine="true"
+				android:textSize="14sp" android:autoText="false" android:capitalize="none"
+				android:layout_weight="2" android:scrollHorizontally="true" />
+			<EditText android:id="@+id/port" android:layout_width="fill_parent"
+				android:layout_height="wrap_content" android:singleLine="true"
+				android:textSize="14sp" android:autoText="false" android:capitalize="none"
+				android:layout_weight="3" android:scrollHorizontally="true" />
+		</LinearLayout>
+
+		<TextView android:layout_width="fill_parent"
+			android:layout_height="wrap_content" android:text="Proxy informations"
+			android:textSize="18sp" />
+
+		<Spinner android:id="@+id/proxy_type" android:layout_width="fill_parent"
+			android:layout_height="wrap_content" />
+
+		<LinearLayout android:id="@+id/proxy_layout"
+			android:orientation="vertical" android:layout_width="fill_parent"
+			android:layout_height="0sp">
+
+			<TextView android:layout_width="fill_parent"
+				android:layout_height="wrap_content" android:text="Proxy informations"
+				android:textSize="18sp" />
 
-	<Button android:id="@+id/ok" android:layout_width="wrap_content"
-		android:layout_height="wrap_content" android:layout_gravity="center_horizontal"
-		android:text="OK">
-		<requestFocus />
-	</Button>
-		<Button android:id="@+id/reconnect" android:layout_width="wrap_content"
-		android:layout_height="wrap_content" android:layout_gravity="center_horizontal"
-		android:text="Reconnect">
-		<requestFocus />
-	</Button>
+			<LinearLayout android:orientation="horizontal"
+				android:layout_width="fill_parent" android:layout_height="wrap_content">
+				<TextView android:layout_width="wrap_content"
+					android:layout_height="wrap_content" android:text="Host/Port:"
+					android:minWidth="90dp" android:textSize="14sp" />
+				<EditText android:id="@+id/proxy_host"
+					android:layout_width="fill_parent" android:layout_height="wrap_content"
+					android:singleLine="true" android:textSize="14sp" android:autoText="false"
+					android:capitalize="none" android:layout_weight="2"
+					android:scrollHorizontally="true" />
+				<EditText android:id="@+id/proxy_port"
+					android:layout_width="fill_parent" android:layout_height="wrap_content"
+					android:singleLine="true" android:textSize="14sp" android:autoText="false"
+					android:capitalize="none" android:layout_weight="3"
+					android:scrollHorizontally="true" />
+			</LinearLayout>
 
-</LinearLayout>
+			<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+				android:orientation="horizontal" android:layout_width="fill_parent"
+				android:layout_height="wrap_content">
+				<TextView android:layout_width="wrap_content"
+					android:layout_height="wrap_content" android:text="Login :"
+					android:minWidth="90dp" android:textSize="14sp" />
+				<EditText android:id="@+id/proxy_login"
+					android:layout_width="fill_parent" android:layout_height="wrap_content"
+					android:singleLine="true" android:textSize="14sp" android:autoText="false"
+					android:capitalize="none" android:scrollHorizontally="true" />
+			</LinearLayout>
+
+			<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+				android:orientation="horizontal" android:layout_width="fill_parent"
+				android:layout_height="wrap_content">
+				<TextView android:layout_width="wrap_content"
+					android:layout_height="wrap_content" android:text="Password:"
+					android:minWidth="90dp" android:textSize="14sp" />
+				<EditText android:id="@+id/proxy_pwd" android:layout_width="fill_parent"
+					android:layout_height="wrap_content" android:singleLine="true"
+					android:password="true" android:textSize="14sp" android:autoText="false"
+					android:capitalize="none" android:scrollHorizontally="true" />
+			</LinearLayout>
+		</LinearLayout>
+		<Button android:id="@+id/ok" android:layout_width="fill_parent"
+			android:layout_height="wrap_content" android:layout_gravity="center_horizontal"
+			android:text="OK">
+			<requestFocus />
+		</Button>
+	</LinearLayout>
 </ScrollView>
\ No newline at end of file
--- a/res/values/strings.xml	Fri Apr 24 00:55:18 2009 +0200
+++ b/res/values/strings.xml	Fri Apr 24 01:59:28 2009 +0200
@@ -27,6 +27,7 @@
 	<string name="PreferenceJID">Jabber ID</string>
 	<string name="PreferenceLoginKey">login</string>
 	<string name="PreferencePasswordKey">password</string>
+	<string name="PreferenceService">service</string>
 	<string name="PreferencePortKey">port</string>
 	<string name="PreferenceProxyHost">proxy_host</string>
 	<string name="PreferenceProxyPort">proxy_port</string>
--- a/src/com/beem/project/beem/BeemApplication.java	Fri Apr 24 00:55:18 2009 +0200
+++ b/src/com/beem/project/beem/BeemApplication.java	Fri Apr 24 01:59:28 2009 +0200
@@ -69,6 +69,7 @@
 		    mConnection.addConnectionListener(mConnectionListener);
 		    mApplicationContext.startService(BeemApplication.SERVICE_INTENT);
 		}else {
+		    mProgressDialog.dismiss();
 		    synchronized (mQueue) {
 			for (Message msg : mQueue) {
 			    msg.sendToTarget();
--- a/src/com/beem/project/beem/BeemService.java	Fri Apr 24 00:55:18 2009 +0200
+++ b/src/com/beem/project/beem/BeemService.java	Fri Apr 24 01:59:28 2009 +0200
@@ -49,6 +49,7 @@
     private String mLogin;
     private String mPassword;
     private String mHost;
+    private String mService;
     private int mPort;
     private ConnectionConfiguration mConnectionConfiguration;
     private ProxyInfo mProxyInfo;
@@ -83,6 +84,7 @@
 	mPassword = mSettings.getString(getString(R.string.PreferencePasswordKey), "");
 	mHost = mSettings.getString(getString(R.string.PreferenceHostKey), "");
 	mPort = mSettings.getInt(getString(R.string.PreferencePortKey), 5222);
+	mService = mSettings.getString(getString(R.string.PreferenceService), "");
 	
 	// TODO penser a commenter
 	// mHost = "10.0.2.2";
@@ -139,7 +141,7 @@
 	    int pport =  mSettings.getInt(getString(R.string.PreferenceProxyPort), 1080);
 	    ProxyInfo.ProxyType type = ProxyType.valueOf(stype);
 	    mProxyInfo = new ProxyInfo(type, phost, pport, puser, ppass);
-	    mConnectionConfiguration = new ConnectionConfiguration(mHost, mPort, mProxyInfo);
+	    mConnectionConfiguration = new ConnectionConfiguration(mHost, mPort, mService, mProxyInfo);
 	} else {
 	    mConnectionConfiguration = new ConnectionConfiguration(mHost, mPort);
 	}
--- a/src/com/beem/project/beem/ui/ContactList.java	Fri Apr 24 00:55:18 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java	Fri Apr 24 01:59:28 2009 +0200
@@ -64,8 +64,6 @@
 	mBeemApplication = BeemApplication.getApplication(this);
 	mRosterListener = new BeemRosterListener();
 	mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE);
-	mBeemApplication.startBeemService();
-
 	// bug fixe temporaire des betises de marseille
 	/*
 	 * SharedPreferences mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE);
@@ -77,6 +75,8 @@
     @Override
     protected void onResume() {
 	super.onResume();
+	if (!mBeemApplication.isConnected())
+	    mBeemApplication.startBeemService();
 	mBeemApplication.callWhenConnectedToServer(new Handler(), new Runnable() {
 	    @Override
 	    public void run() {
--- a/src/com/beem/project/beem/ui/ContactListSettings.java	Fri Apr 24 00:55:18 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactListSettings.java	Fri Apr 24 01:59:28 2009 +0200
@@ -5,6 +5,7 @@
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Bundle;
+import android.text.Layout;
 import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
@@ -16,6 +17,7 @@
 import android.widget.Spinner;
 import android.widget.TextView;
 import android.widget.AdapterView.OnItemSelectedListener;
+import android.widget.LinearLayout.LayoutParams;
 
 import com.beem.project.beem.R;
 
@@ -52,19 +54,6 @@
 	showSettings();
 	Button ok = (Button) findViewById(R.id.ok);
 	ok.setOnClickListener(mOkListener);
-
-	Button reco = (Button) findViewById(R.id.reconnect);
-	reco.setOnClickListener(new OnClickListener() {
-
-	    @Override
-	    public void onClick(View v) {
-		if (mSettings.getString(getString(R.string.PreferenceHostKey), "") != "") {
-		    setResult(RESULT_OK);
-		    finish();
-		}
-	    }
-
-	});
     }
 
     private OnItemSelectedListener mProxyType = new OnItemSelectedListener() {
@@ -74,12 +63,16 @@
 	    String value = parent.getSelectedItem().toString();
 	    LinearLayout ll = (LinearLayout) findViewById(R.id.proxy_layout);
 	    SharedPreferences.Editor editor = mSettings.edit();
-
+	    LayoutParams lp = (LayoutParams) ll.getLayoutParams();
 	    if (value.equals(getString(R.string.PreferenceProxyTypeNone))) {
-		ll.setVisibility(LinearLayout.INVISIBLE);
+		ll.setVisibility(LinearLayout.INVISIBLE);		
+		lp.height = 0;
+		ll.setLayoutParams(lp);
 		editor.putBoolean(getString(R.string.PreferenceUseProxy), false);
 	    } else {
 		ll.setVisibility(LinearLayout.VISIBLE);
+		lp.height = LayoutParams.WRAP_CONTENT;
+		ll.setLayoutParams(lp);
 		editor.putBoolean(getString(R.string.PreferenceUseProxy), true);
 	    }
 	    if (!value.equals(getPreferenceString(R.string.PreferenceProxyType))) {
@@ -115,6 +108,10 @@
 		editor.putString(getString(R.string.PreferencePasswordKey), getWidgetText(R.id.password));
 		mIsChanged = true;
 	    }
+	    if (isChanged(R.id.host, R.string.PreferenceService)) {
+		editor.putString(getString(R.string.PreferenceService), getWidgetText(R.id.service));
+		mIsChanged = true;
+	    }
 
 	    if (isChanged(R.id.proxy_host, R.string.PreferenceProxyHost)) {
 		editor.putString(getString(R.string.PreferenceProxyHost), getWidgetText(R.id.proxy_host));
@@ -157,6 +154,8 @@
 	e.setText(getPreferenceString(R.string.PreferenceLoginKey));
 	e = (EditText) findViewById(R.id.password);
 	e.setText(getPreferenceString(R.string.PreferencePasswordKey));
+	e = (EditText) findViewById(R.id.service);
+	e.setText(getPreferenceString(R.string.PreferenceService));
 
 	e = (EditText) findViewById(R.id.proxy_host);
 	e.setText(getPreferenceString(R.string.PreferenceProxyHost));
--- a/src/com/beem/project/beem/ui/SendIM.java	Fri Apr 24 00:55:18 2009 +0200
+++ b/src/com/beem/project/beem/ui/SendIM.java	Fri Apr 24 01:59:28 2009 +0200
@@ -109,7 +109,8 @@
     @Override
     protected void onResume() {
 	super.onResume();
-	mBeemApplication.startBeemService();
+	if (!mBeemApplication.isConnected())
+	    mBeemApplication.startBeemService();
 	mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() {
 
 	    @Override