diff --git a/SWADroid/AndroidManifest.xml b/SWADroid/AndroidManifest.xml index cc1098fc..23a80629 100644 --- a/SWADroid/AndroidManifest.xml +++ b/SWADroid/AndroidManifest.xml @@ -19,12 +19,12 @@ android:name=".modules.Login" android:label="@string/loginModuleLabel" android:configChanges="keyboard|keyboardHidden|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar"> - - + + - + diff --git a/SWADroid/src/es/ugr/swad/swadroid/model/User.java b/SWADroid/src/es/ugr/swad/swadroid/model/User.java index cb3b329e..b455d7a7 100644 --- a/SWADroid/src/es/ugr/swad/swadroid/model/User.java +++ b/SWADroid/src/es/ugr/swad/swadroid/model/User.java @@ -308,4 +308,5 @@ public class User implements KvmSerializable { case 7 : userTypeName = (String)obj; break; } } + } diff --git a/SWADroid/src/es/ugr/swad/swadroid/modules/Courses.java b/SWADroid/src/es/ugr/swad/swadroid/modules/Courses.java index 0b6c929e..ddc3e921 100644 --- a/SWADroid/src/es/ugr/swad/swadroid/modules/Courses.java +++ b/SWADroid/src/es/ugr/swad/swadroid/modules/Courses.java @@ -34,6 +34,7 @@ import es.ugr.swad.swadroid.model.Course; import es.ugr.swad.swadroid.model.User; /** + * Courses module for get user's courses * @author Juan Miguel Boyero Corral * */ @@ -46,6 +47,15 @@ public class Courses extends Module { super.onCreate(savedInstanceState); setMETHOD_NAME("getCourses"); } + + /* (non-Javadoc) + * @see android.app.Activity#onStart() + */ + @Override + protected void onStart() { + super.onStart(); + connect(); + } /** * Launches action in a separate thread while shows a progress dialog @@ -87,7 +97,7 @@ public class Courses extends Module { String name = pii.getProperty(1).toString(); Course c = new Course(id, name); dbHelper.insertCourse(c); - //Log.d("Courses", c.toString()); + Log.d("Courses", c.toString()); } //Request finalized without errors @@ -96,4 +106,9 @@ public class Courses extends Module { finish(); } + + @Override + protected void postConnect() { + + } } diff --git a/SWADroid/src/es/ugr/swad/swadroid/modules/Login.java b/SWADroid/src/es/ugr/swad/swadroid/modules/Login.java index b46e5e68..8315c211 100644 --- a/SWADroid/src/es/ugr/swad/swadroid/modules/Login.java +++ b/SWADroid/src/es/ugr/swad/swadroid/modules/Login.java @@ -45,10 +45,6 @@ public class Login extends Module { * User password. */ private String userPassword; - /** - * Connection available flag - */ - private boolean isConnected; /* (non-Javadoc) * @see android.app.Activity#onCreate() @@ -56,11 +52,19 @@ public class Login extends Module { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setMETHOD_NAME("loginByUserPasswordKey"); - connect(); + setMETHOD_NAME("loginByUserPasswordKey"); } - /** + /* (non-Javadoc) + * @see android.app.Activity#onStart() + */ + @Override + protected void onStart() { + super.onStart(); + connect(); + } + + /** * Launches action in a separate thread while shows a progress dialog * in UI thread. */ @@ -84,37 +88,49 @@ public class Login extends Module { protected void requestService() throws NoSuchAlgorithmException, IOException, XmlPullParserException, SoapFault, IllegalAccessException, InstantiationException { - //Encrypts user password with SHA-512 and encodes it to Base64UrlSafe - md = MessageDigest.getInstance("SHA-512"); - md.update(prefs.getUserPassword().getBytes()); - //userPassword = new String(Base64.encode(md.digest(), Base64.URL_SAFE + Base64.NO_PADDING + Base64.NO_WRAP)); - userPassword = new String(Base64.encode(md.digest())); - userPassword = userPassword.replace('+','-').replace('/','_').replace('=', ' ').replaceAll("\\s+", "").trim(); - - //Creates webservice request, adds required params and sends request to webservice - createRequest(); - addParam("userID", prefs.getUserID()); - addParam("userPassword", userPassword); - addParam("appKey", Global.getAppKey()); - sendRequest(User.class, true); - - if (result != null) { - KvmSerializable ks = (KvmSerializable) result; - - //Stores user data returned by webservice response - User.setUserCode(ks.getProperty(0).toString()); - User.setUserTypeCode(ks.getProperty(1).toString()); - User.setWsKey(ks.getProperty(2).toString()); - User.setUserID(ks.getProperty(3).toString()); - User.setUserSurname1(ks.getProperty(4).toString()); - User.setUserSurname2(ks.getProperty(5).toString()); - User.setUserFirstName(ks.getProperty(6).toString()); - User.setUserTypeName(ks.getProperty(7).toString()); - - //Request finalized without errors + if(!Global.isLogged()) + { + //Encrypts user password with SHA-512 and encodes it to Base64UrlSafe + md = MessageDigest.getInstance("SHA-512"); + md.update(prefs.getUserPassword().getBytes()); + //userPassword = new String(Base64.encode(md.digest(), Base64.URL_SAFE + Base64.NO_PADDING + Base64.NO_WRAP)); + userPassword = new String(Base64.encode(md.digest())); + userPassword = userPassword.replace('+','-').replace('/','_').replace('=', ' ').replaceAll("\\s+", "").trim(); + + //Creates webservice request, adds required params and sends request to webservice + createRequest(); + addParam("userID", prefs.getUserID()); + addParam("userPassword", userPassword); + addParam("appKey", Global.getAppKey()); + sendRequest(User.class, true); + + if (result != null) { + KvmSerializable ks = (KvmSerializable) result; + + //Stores user data returned by webservice response + User.setUserCode(ks.getProperty(0).toString()); + User.setUserTypeCode(ks.getProperty(1).toString()); + User.setWsKey(ks.getProperty(2).toString()); + User.setUserID(ks.getProperty(3).toString()); + User.setUserSurname1(ks.getProperty(4).toString()); + User.setUserSurname2(ks.getProperty(5).toString()); + User.setUserFirstName(ks.getProperty(6).toString()); + User.setUserTypeName(ks.getProperty(7).toString()); + + //Request finalized without errors + setResult(RESULT_OK); + Global.setLogged(true); + } + } else { + //Request finalized without errors setResult(RESULT_OK); - } + } finish(); } + + @Override + protected void postConnect() { + + } }