package it.fdev.unisaconnect.wifilogin; import android.content.Context; import android.os.AsyncTask; /** * Questa classe che implementa AsyncTask gestisce gli eventi asincroni. * Permette di effettuare la login/logout senza bloccare la ui ed aggiorna * gli elementi tipo la scritta e l'immagine del wifi * @author francesco * */ public class AsyncLogin extends AsyncTask<Boolean, Integer, Integer> { private Context context; public static boolean isLoginRunning = false; public AsyncLogin(Context context){ this.context = context; } /** * Eseguita prima del doInBackground */ @Override protected void onPreExecute() { isLoginRunning = true; } /** * Se il parametro รจ TRUE effettua la login, altrimenti la logout */ @Override protected Integer doInBackground(Boolean... params) { if(params[0]) { //Login publishProgress(0); int response_connect = LoginManager.login(context); return response_connect; } else { //Logout publishProgress(1); boolean response_disconnect = LoginManager.logout(context); if(response_disconnect) return 5; else return 6; } } /** * Aggiorna la UI all'inizio del processo di login/logout */ @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); } /** * Eseguita dopo il doInBackground */ @Override protected void onPostExecute(Integer result) { isLoginRunning = false; } }