author | Nikita Kozlov <nikita@beem-project.com> |
Fri, 06 Nov 2009 18:00:19 +0100 | |
changeset 492 | b64155c6d0f3 |
parent 491 | a94c384bc3ba |
child 495 | 7ac6af9ceb0d |
permissions | -rw-r--r-- |
212 | 1 |
package com.beem.project.beem.ui; |
2 |
||
3 |
import android.app.Activity; |
|
4 |
import android.app.AlertDialog; |
|
5 |
import android.app.ProgressDialog; |
|
6 |
import android.content.ComponentName; |
|
7 |
import android.content.DialogInterface; |
|
8 |
import android.content.Intent; |
|
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
9 |
import android.content.IntentFilter; |
212 | 10 |
import android.content.ServiceConnection; |
324
5601d949c5aa
Ajout d'une verification que le compte est configure avant de lancer la
nikita@localhost
parents:
322
diff
changeset
|
11 |
import android.content.SharedPreferences; |
212 | 12 |
import android.os.Bundle; |
13 |
import android.os.Handler; |
|
14 |
import android.os.IBinder; |
|
15 |
import android.os.RemoteException; |
|
490 | 16 |
import android.os.SystemClock; |
404
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
17 |
import android.preference.PreferenceManager; |
212 | 18 |
import android.util.Log; |
361 | 19 |
import android.view.Menu; |
20 |
import android.view.MenuInflater; |
|
21 |
import android.view.MenuItem; |
|
284
5b0ad39e0046
AJout d'une textview pour mettre le message d'erreur dans lactivity login.
Marseille
parents:
283
diff
changeset
|
22 |
import android.widget.TextView; |
257
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
23 |
import android.widget.Toast; |
212 | 24 |
|
25 |
import com.beem.project.beem.R; |
|
26 |
import com.beem.project.beem.service.aidl.IBeemConnectionListener; |
|
27 |
import com.beem.project.beem.service.aidl.IXmppConnection; |
|
28 |
import com.beem.project.beem.service.aidl.IXmppFacade; |
|
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
29 |
import com.beem.project.beem.utils.BeemBroadcastReceiver; |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
30 |
import com.beem.project.beem.utils.Status; |
212 | 31 |
|
32 |
/** |
|
346 | 33 |
* This class represents an activity which allows the user to connect to an XMPP server with his username/password. |
212 | 34 |
* @author dasilvj |
35 |
*/ |
|
36 |
public class Login extends Activity { |
|
37 |
||
396
1a8a0d152c28
netoyage du broadcast et petit debug
Nikita Kozlov <nikita@beem-project.com>
parents:
393
diff
changeset
|
38 |
private static final String TAG = "LOG_AS"; |
404
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
39 |
private static final int REQUEST_CODE = 1; |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
40 |
private static final Intent SERVICE_INTENT = new Intent(); |
212 | 41 |
static { |
42 |
SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService")); |
|
43 |
} |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
44 |
|
339 | 45 |
private final Handler mConnectionHandler = new Handler(); |
490 | 46 |
private ConnectionRunnable mConnectionRunnable = new ConnectionRunnable(); |
346 | 47 |
private ProgressDialog mProgressDialog; |
212 | 48 |
|
346 | 49 |
private boolean mIsConnected; |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
50 |
private final ServiceConnection mServConn = new BeemServiceConnection(); |
346 | 51 |
private IXmppFacade mXmppFacade; |
52 |
||
53 |
private SharedPreferences mSettings; |
|
54 |
private boolean mIsConfigured; |
|
490 | 55 |
private int mRetry; |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
56 |
private BeemBroadcastReceiver mReceiver; |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
57 |
|
326 | 58 |
|
346 | 59 |
/** |
60 |
* Constructor. |
|
61 |
*/ |
|
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
62 |
public Login() { |
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
63 |
} |
212 | 64 |
|
65 |
/** |
|
347 | 66 |
* Create an about "BEEM" dialog. |
212 | 67 |
*/ |
68 |
public void createAboutDialog() { |
|
69 |
AlertDialog.Builder builder = new AlertDialog.Builder(this); |
|
70 |
builder.setTitle(R.string.login_about_title).setMessage(R.string.login_about_msg).setCancelable(false); |
|
71 |
builder.setNeutralButton(R.string.login_about_button, new DialogInterface.OnClickListener() { |
|
72 |
||
73 |
public void onClick(DialogInterface dialog, int whichButton) { |
|
74 |
dialog.cancel(); |
|
75 |
} |
|
76 |
}); |
|
77 |
AlertDialog aboutDialog = builder.create(); |
|
78 |
aboutDialog.show(); |
|
79 |
} |
|
80 |
||
81 |
/** |
|
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
82 |
* {@inheritDoc} |
212 | 83 |
*/ |
84 |
@Override |
|
85 |
public void onCreate(Bundle savedInstanceState) { |
|
86 |
super.onCreate(savedInstanceState); |
|
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
87 |
Log.d(TAG,"onCreate"); |
404
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
88 |
mSettings = PreferenceManager.getDefaultSharedPreferences(this); |
212 | 89 |
setContentView(R.layout.login); |
339 | 90 |
mProgressDialog = new ProgressDialog(this); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
91 |
mReceiver = new BeemBroadcastReceiver(mServConn); |
212 | 92 |
} |
414 | 93 |
|
404
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
94 |
/** |
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
95 |
* {@inheritDoc} |
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
96 |
*/ |
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
97 |
@Override |
411
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
98 |
protected void onStop() { |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
99 |
super.onStop(); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
100 |
Log.d(TAG,"onStop"); |
393
571b95fa452c
petit debug sur desconnection et fermeture de login
Nikita Kozlov <nikita@beem-project.com>
parents:
390
diff
changeset
|
101 |
if (mIsConfigured && (mIsConnected || mXmppFacade != null)) { |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
102 |
mReceiver.setBinded(false); |
259 | 103 |
unbindService(mServConn); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
104 |
mXmppFacade = null; |
263
ff0b4790a5ed
La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents:
259
diff
changeset
|
105 |
} |
212 | 106 |
} |
490 | 107 |
|
108 |
/** |
|
109 |
* {@inheritDoc} |
|
110 |
*/ |
|
111 |
protected void onPause() { |
|
112 |
super.onPause(); |
|
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
113 |
Log.d(TAG,"onPause"); |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
114 |
this.unregisterReceiver(mReceiver); |
490 | 115 |
mConnectionHandler.removeCallbacks(mConnectionRunnable); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
116 |
mProgressDialog.dismiss(); |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
117 |
} |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
118 |
|
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
119 |
/** |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
120 |
* {@inheritDoc} |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
121 |
*/ |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
122 |
protected void onResume() { |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
123 |
super.onResume(); |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
124 |
this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED)); |
490 | 125 |
} |
212 | 126 |
|
127 |
/** |
|
128 |
* {@inheritDoc} |
|
129 |
*/ |
|
130 |
@Override |
|
234
b539dc53b9c7
Reoganisation login + contact list sans utiliser beemapplication.
marseille@marseille-desktop
parents:
228
diff
changeset
|
131 |
public void onStart() { |
b539dc53b9c7
Reoganisation login + contact list sans utiliser beemapplication.
marseille@marseille-desktop
parents:
228
diff
changeset
|
132 |
super.onStart(); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
133 |
Log.d(TAG,"onStart"); |
404
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
134 |
mIsConfigured = mSettings.getBoolean("PreferenceIsConfigured", false); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
135 |
if (mIsConfigured && !mIsConnected) { |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
136 |
try { |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
137 |
Thread.sleep(1000); //HACK: Pour éviter de rebinder un service pas encore arreter. |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
138 |
} catch (InterruptedException e) { |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
139 |
e.printStackTrace(); |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
140 |
} |
324
5601d949c5aa
Ajout d'une verification que le compte est configure avant de lancer la
nikita@localhost
parents:
322
diff
changeset
|
141 |
bindService(Login.SERVICE_INTENT, mServConn, BIND_AUTO_CREATE); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
142 |
mReceiver.setBinded(true); |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
143 |
} |
228
3bf40efc08ea
Bug #147 - Changement dans l'activité Login afin de prendre en compte les nouvelles preferences lors de la reconnection, après avoir quitté l'activité Settings
dasilvj@jean-manuel-da-silvas-macbook.local
parents:
213
diff
changeset
|
144 |
} |
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
145 |
|
361 | 146 |
/** |
147 |
* {@inheritDoc} |
|
148 |
*/ |
|
149 |
@Override |
|
411
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
150 |
protected void onActivityResult(int requestCode, int resultCode, Intent data) { |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
151 |
super.onActivityResult(requestCode, resultCode, data); |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
152 |
if (requestCode == REQUEST_CODE) { |
451 | 153 |
if (resultCode == RESULT_OK) { |
411
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
154 |
stopService(SERVICE_INTENT); |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
155 |
} |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
156 |
} |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
157 |
} |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
158 |
|
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
159 |
/** |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
160 |
* {@inheritDoc} |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
161 |
*/ |
f3f170821417
bon petit debug sur la unbind du service lors du login
Nikita Kozlov <nikita@beem-project.com>
parents:
404
diff
changeset
|
162 |
@Override |
361 | 163 |
public boolean onCreateOptionsMenu(Menu menu) { |
164 |
super.onCreateOptionsMenu(menu); |
|
165 |
MenuInflater inflater = getMenuInflater(); |
|
166 |
inflater.inflate(R.menu.login, menu); |
|
167 |
return true; |
|
168 |
} |
|
169 |
||
170 |
/** |
|
171 |
* Callback for menu item selected. |
|
172 |
* @param item the item selected |
|
173 |
* @return true on success, false otherwise |
|
174 |
*/ |
|
175 |
@Override |
|
176 |
public final boolean onOptionsItemSelected(MenuItem item) { |
|
177 |
switch (item.getItemId()) { |
|
178 |
case R.id.login_menu_settings: |
|
404
3c8ca2a1a327
changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents:
402
diff
changeset
|
179 |
startActivity(new Intent(Login.this, Settings.class)); |
361 | 180 |
return true; |
181 |
case R.id.login_menu_about: |
|
182 |
createAboutDialog(); |
|
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
183 |
return true; |
361 | 184 |
default: |
185 |
return false; |
|
186 |
} |
|
187 |
} |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
188 |
|
490 | 189 |
|
190 |
private class ConnectionRunnable implements Runnable { |
|
191 |
@Override |
|
192 |
public void run() { |
|
193 |
if (mRetry++ > 3) { |
|
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
194 |
Toast.makeText(Login.this, R.string.login_max_retry, Toast.LENGTH_LONG).show(); |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
195 |
mConnectionHandler.removeCallbacks(mConnectionRunnable); |
490 | 196 |
} else { |
197 |
mIsConfigured = mSettings.getBoolean("PreferenceIsConfigured", false); |
|
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
198 |
if (mIsConfigured) { |
490 | 199 |
bindService(Login.SERVICE_INTENT, mServConn, BIND_AUTO_CREATE); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
200 |
mReceiver.setBinded(true); |
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
201 |
} |
490 | 202 |
} |
203 |
||
204 |
} |
|
205 |
} |
|
206 |
||
347 | 207 |
/** |
208 |
* Listener use to check the state of the connection with the server. |
|
209 |
*/ |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
210 |
private class BeemConnectionListener extends IBeemConnectionListener.Stub { |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
211 |
|
347 | 212 |
/** |
349 | 213 |
* Constructor. |
347 | 214 |
*/ |
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
215 |
public BeemConnectionListener() { |
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
216 |
} |
347 | 217 |
|
349 | 218 |
/** |
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
219 |
* {@inheritDoc} |
347 | 220 |
*/ |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
221 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
222 |
public void connectionClosed() throws RemoteException { |
393
571b95fa452c
petit debug sur desconnection et fermeture de login
Nikita Kozlov <nikita@beem-project.com>
parents:
390
diff
changeset
|
223 |
mIsConnected = false; |
339 | 224 |
if (mXmppFacade != null) { |
225 |
mXmppFacade = null; |
|
393
571b95fa452c
petit debug sur desconnection et fermeture de login
Nikita Kozlov <nikita@beem-project.com>
parents:
390
diff
changeset
|
226 |
} |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
227 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
228 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
229 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
230 |
public void connectionClosedOnError() throws RemoteException { |
412
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
411
diff
changeset
|
231 |
mIsConnected = false; |
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
411
diff
changeset
|
232 |
if (mXmppFacade != null) { |
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
411
diff
changeset
|
233 |
mXmppFacade = null; |
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
411
diff
changeset
|
234 |
} |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
235 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
236 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
237 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
238 |
public void connectionFailed(String errorMsg) throws RemoteException { |
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
239 |
Log.d(TAG, "CONNECTIONFAILLED"); |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
240 |
mIsConnected = false; |
339 | 241 |
if (mXmppFacade != null) { |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
242 |
mReceiver.setBinded(false); |
283 | 243 |
Login.this.unbindService(mServConn); |
284
5b0ad39e0046
AJout d'une textview pour mettre le message d'erreur dans lactivity login.
Marseille
parents:
283
diff
changeset
|
244 |
Login.this.stopService(SERVICE_INTENT); |
339 | 245 |
mXmppFacade = null; |
284
5b0ad39e0046
AJout d'une textview pour mettre le message d'erreur dans lactivity login.
Marseille
parents:
283
diff
changeset
|
246 |
} |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
247 |
dismissProgressDialog(); |
257
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
248 |
showToast(errorMsg); |
490 | 249 |
mConnectionHandler.postAtTime(mConnectionRunnable, Integer.parseInt(mSettings.getString("settings_key_reco_delay", "10")) * 1000 + SystemClock.uptimeMillis()); |
257
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
250 |
} |
259 | 251 |
|
349 | 252 |
/** |
253 |
* Show an error message with a toast. |
|
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
254 |
* @param errorMsg The message to display. |
349 | 255 |
*/ |
257
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
256 |
private void showToast(final String errorMsg) { |
339 | 257 |
mConnectionHandler.post(new Runnable() { |
346 | 258 |
/** |
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
259 |
* @{inheritDoc |
346 | 260 |
*/ |
257
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
261 |
@Override |
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
262 |
public void run() { |
283 | 263 |
Toast.makeText(Login.this, errorMsg, Toast.LENGTH_LONG).show(); |
284
5b0ad39e0046
AJout d'une textview pour mettre le message d'erreur dans lactivity login.
Marseille
parents:
283
diff
changeset
|
264 |
TextView labelError = (TextView) findViewById(R.id.log_as_msg); |
322
c0a82115684f
Affichage plus ou moins correcte du message d'erreur de connexion
Da Risk <darisk972@gmail.com>
parents:
319
diff
changeset
|
265 |
labelError.setText(getString(R.string.login_error_msg, errorMsg)); |
257
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
266 |
} |
5e425cdb07a8
Affichage d'un toast lors d'erreur a la connection
marseille@marseille-desktop
parents:
236
diff
changeset
|
267 |
}); |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
268 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
269 |
|
349 | 270 |
/** |
271 |
* Dismiss the progress dialog. |
|
272 |
*/ |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
273 |
private void dismissProgressDialog() { |
339 | 274 |
mConnectionHandler.post(new Runnable() { |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
275 |
|
346 | 276 |
/** |
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
277 |
* @{inheritDoc |
346 | 278 |
*/ |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
279 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
280 |
public void run() { |
339 | 281 |
mProgressDialog.dismiss(); |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
282 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
283 |
}); |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
284 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
285 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
286 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
287 |
public void onConnect() throws RemoteException { |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
288 |
mIsConnected = true; |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
289 |
dismissProgressDialog(); |
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
290 |
Log.i(TAG, "Connected."); |
339 | 291 |
mXmppFacade.changeStatus(Status.CONTACT_STATUS_AVAILABLE, null); |
490 | 292 |
mRetry = 0; |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
293 |
startActivity(new Intent(Login.this, ContactList.class)); |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
294 |
finish(); |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
295 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
296 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
297 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
298 |
public void reconnectingIn(int seconds) throws RemoteException { |
283 | 299 |
mIsConnected = true; |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
300 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
301 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
302 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
303 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
304 |
public void reconnectionFailed() throws RemoteException { |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
305 |
mIsConnected = false; |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
306 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
307 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
308 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
309 |
public void reconnectionSuccessful() throws RemoteException { |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
310 |
mIsConnected = true; |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
311 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
312 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
313 |
|
346 | 314 |
/** |
347 | 315 |
* ServiceConnection use to connect to the Beem Service. |
346 | 316 |
*/ |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
317 |
private class BeemServiceConnection implements ServiceConnection { |
346 | 318 |
private IXmppConnection mXmppConnection; |
319 |
||
320 |
/** |
|
321 |
* Constructor. |
|
322 |
*/ |
|
364
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
323 |
public BeemServiceConnection() { |
ed2f2e30c2fc
Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents:
363
diff
changeset
|
324 |
} |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
325 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
326 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
327 |
public void onServiceConnected(ComponentName name, IBinder service) { |
396
1a8a0d152c28
netoyage du broadcast et petit debug
Nikita Kozlov <nikita@beem-project.com>
parents:
393
diff
changeset
|
328 |
Log.d(TAG, "service connected"); |
339 | 329 |
mXmppFacade = IXmppFacade.Stub.asInterface(service); |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
330 |
try { |
341 | 331 |
mXmppConnection = mXmppFacade.createConnection(); |
332 |
mXmppConnection.addConnectionListener(new BeemConnectionListener()); |
|
333 |
if (!mXmppConnection.isAuthentificated()) { |
|
339 | 334 |
mConnectionHandler.post(new Runnable() { |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
335 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
336 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
337 |
public void run() { |
339 | 338 |
mProgressDialog.setMessage(getString(R.string.login_login_progress)); |
339 |
mProgressDialog.show(); |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
340 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
341 |
}); |
492
b64155c6d0f3
petites majs sur la connection dans login
Nikita Kozlov <nikita@beem-project.com>
parents:
491
diff
changeset
|
342 |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
343 |
Login.this.startService(Login.SERVICE_INTENT); |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
344 |
} else { |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
345 |
startActivity(new Intent(Login.this, ContactList.class)); |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
346 |
finish(); |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
347 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
348 |
} catch (RemoteException e) { |
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
349 |
Log.e(TAG, "REMOTE EXCEPTION $" + e.getMessage()); |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
350 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
351 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
352 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
353 |
@Override |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
354 |
public void onServiceDisconnected(ComponentName name) { |
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
355 |
Log.d(TAG, "service disconnected"); |
283 | 356 |
mIsConnected = false; |
339 | 357 |
mXmppFacade = null; |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
234
diff
changeset
|
358 |
} |
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
359 |
} |
212 | 360 |
} |