Added connection check
git-svn-id: https://forja.rediris.es/svn/cusl6-swadroid/trunk@86 5bc14d19-1e4b-4ba2-aa50-860af135f48c
This commit is contained in:
parent
b1cd237c26
commit
8053b48928
|
@ -21,6 +21,7 @@
|
|||
</activity>
|
||||
</application>
|
||||
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
|
||||
|
||||
<uses-sdk android:targetSdkVersion="4" android:minSdkVersion="4"></uses-sdk>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
|
||||
</manifest>
|
||||
|
|
|
@ -31,13 +31,14 @@ public final class R {
|
|||
public static final class string {
|
||||
public static final int app_name=0x7f060000;
|
||||
public static final int close_dialog=0x7f060003;
|
||||
public static final int errorCopyMsg_DB=0x7f060016;
|
||||
public static final int errorCopyMsg_DB=0x7f060015;
|
||||
public static final int errorMsgLaunchingActivity=0x7f060013;
|
||||
public static final int errorMsgNoConnection=0x7f060016;
|
||||
public static final int errorMsgWorkaroundEmulator=0x7f060014;
|
||||
public static final int loginModuleLabel=0x7f060001;
|
||||
public static final int loginProgressDescription=0x7f060012;
|
||||
public static final int loginProgressTitle=0x7f060011;
|
||||
public static final int loginSuccessfulMsg=0x7f060017;
|
||||
public static final int loginSuccessfulMsg=0x7f060018;
|
||||
public static final int loginTitle_menu=0x7f060010;
|
||||
public static final int preferencesTitle_menu=0x7f06000f;
|
||||
public static final int saveMsg_preferences=0x7f06000c;
|
||||
|
@ -45,7 +46,7 @@ public final class R {
|
|||
public static final int saveTitle_preferences=0x7f06000e;
|
||||
public static final int set_preferences=0x7f060004;
|
||||
public static final int title_error_dialog=0x7f060002;
|
||||
public static final int upgradeMsg_DB=0x7f060015;
|
||||
public static final int upgradeMsg_DB=0x7f060017;
|
||||
public static final int userIDName_preferences=0x7f060006;
|
||||
public static final int userIDSummary_preferences=0x7f060007;
|
||||
public static final int userIDTitle_preferences=0x7f060008;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<string name="loginProgressTitle">Identificación</string>
|
||||
<string name="loginProgressDescription">Conectando...</string>
|
||||
<string name="errorMsgWorkaroundEmulator">Mierda. Ese bug del emulador de Android ha vuelto a aparecer. Reintentando...</string>
|
||||
<string name="errorMsgLaunchingActivity">Ha ocurrido un error durante la ejecución de la operación</string>
|
||||
<string name="upgradeMsg_DB">Actualizando base de datos...</string><string name="errorCopyMsg_DB">Error copiando base de datos</string>
|
||||
<string name="errorMsgLaunchingActivity">Ha ocurrido un error durante la ejecución de la operación</string><string name="errorMsgNoConnection">No hay conexión</string>
|
||||
<string name="errorCopyMsg_DB">Error copiando base de datos</string><string name="upgradeMsg_DB">Actualizando base de datos...</string>
|
||||
<string name="loginSuccessfulMsg">Conectado</string>
|
||||
</resources>
|
|
@ -21,7 +21,8 @@
|
|||
<string name="loginProgressDescription">Connecting...</string>
|
||||
<string name="errorMsgLaunchingActivity">An error occurred during the execution of the operation</string>
|
||||
<string name="errorMsgWorkaroundEmulator">Damn. That Android emulator bug appeared again. Retrying...</string>
|
||||
<string name="upgradeMsg_DB">Upgrading database...</string>
|
||||
|
||||
<string name="errorCopyMsg_DB">Error copying database</string>
|
||||
<string name="loginSuccessfulMsg">Login successful</string>
|
||||
<string name="errorMsgNoConnection">No connection found</string><string name="upgradeMsg_DB">Upgrading database...</string><string name="loginSuccessfulMsg">Login successful</string>
|
||||
|
||||
</resources>
|
|
@ -24,6 +24,7 @@ import android.os.AsyncTask;
|
|||
import android.os.Bundle;
|
||||
//import android.util.Base64;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
import es.ugr.swad.swadroid.Global;
|
||||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
|
@ -47,6 +48,7 @@ public class Login extends Module {
|
|||
* User password.
|
||||
*/
|
||||
private String userPassword;
|
||||
private boolean isConnected;
|
||||
|
||||
/**
|
||||
* Called when activity is first created.
|
||||
|
@ -56,6 +58,12 @@ public class Login extends Module {
|
|||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setMETHOD_NAME("loginByUserPasswordKey");
|
||||
isConnected = connectionAvailable(this);
|
||||
|
||||
if (!isConnected) {
|
||||
Toast.makeText(this, R.string.errorMsgNoConnection, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
connect();
|
||||
}
|
||||
|
||||
|
@ -76,7 +84,7 @@ public class Login extends Module {
|
|||
*/
|
||||
private void requestService()
|
||||
throws NoSuchAlgorithmException, IOException, XmlPullParserException, SoapFault {
|
||||
|
||||
if (isConnected) {
|
||||
//Encrypts user password with SHA-512 and encodes it to Base64UrlSafe
|
||||
md = MessageDigest.getInstance("SHA-512");
|
||||
md.update(prefs.getUserPassword().getBytes());
|
||||
|
@ -103,6 +111,8 @@ public class Login extends Module {
|
|||
|
||||
//Request finalized without errors
|
||||
setResult(RESULT_OK);
|
||||
}
|
||||
|
||||
finish();
|
||||
}
|
||||
|
||||
|
|
|
@ -21,8 +21,11 @@ package es.ugr.swad.swadroid.modules;
|
|||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import es.ugr.swad.swadroid.Global;
|
||||
|
@ -43,6 +46,10 @@ import org.xmlpull.v1.XmlPullParserException;
|
|||
* Superclass for encapsulate common behavior of all modules.
|
||||
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com>
|
||||
*/
|
||||
/**
|
||||
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com>
|
||||
*
|
||||
*/
|
||||
public class Module extends Activity {
|
||||
/**
|
||||
* SOAP_ACTION param for webservice request.
|
||||
|
@ -267,6 +274,29 @@ public class Module extends Activity {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if any connection is available
|
||||
* @param ctx Application context
|
||||
* @return true if there is a connection available, false in other case
|
||||
*/
|
||||
public static boolean connectionAvailable(Context ctx){
|
||||
boolean connAvailable = false;
|
||||
ConnectivityManager connec = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
|
||||
//Survey all networks (wifi, gprs...)
|
||||
NetworkInfo[] networks = connec.getAllNetworkInfo();
|
||||
|
||||
for(int i=0; i<2; i++){
|
||||
//If any of them has a connection available, put boolean to true
|
||||
if (networks[i].isConnected()){
|
||||
connAvailable = true;
|
||||
}
|
||||
}
|
||||
|
||||
//If boolean remains false there is no connection available
|
||||
return connAvailable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows an error message.
|
||||
* @param message Error message to show.
|
||||
|
|
Loading…
Reference in New Issue
Block a user