Updated msg_received, msg_write, notok, ok icons.
Added check of students not belonging to the selected subject git-svn-id: https://forja.rediris.es/svn/cusl6-swadroid/trunk@281 5bc14d19-1e4b-4ba2-aa50-860af135f48c
BIN
SWADroid.apk
|
@ -66,37 +66,39 @@ public final class R {
|
|||
public static final int launcher_icon=0x7f02000c;
|
||||
public static final int message_reply=0x7f02000d;
|
||||
public static final int msg=0x7f02000e;
|
||||
public static final int newmsg=0x7f02000f;
|
||||
public static final int note=0x7f020010;
|
||||
public static final int notif=0x7f020011;
|
||||
public static final int recmsg=0x7f020012;
|
||||
public static final int rollcall=0x7f020013;
|
||||
public static final int rotate_refresh=0x7f020014;
|
||||
public static final int share_via_barcode=0x7f020015;
|
||||
public static final int shopper_icon=0x7f020016;
|
||||
public static final int survey=0x7f020017;
|
||||
public static final int test=0x7f020018;
|
||||
public static final int timepicker_down_btn=0x7f020019;
|
||||
public static final int timepicker_down_disabled=0x7f02001a;
|
||||
public static final int timepicker_down_disabled_focused=0x7f02001b;
|
||||
public static final int timepicker_down_normal=0x7f02001c;
|
||||
public static final int timepicker_down_pressed=0x7f02001d;
|
||||
public static final int timepicker_down_selected=0x7f02001e;
|
||||
public static final int timepicker_input=0x7f02001f;
|
||||
public static final int timepicker_input_disabled=0x7f020020;
|
||||
public static final int timepicker_input_normal=0x7f020021;
|
||||
public static final int timepicker_input_pressed=0x7f020022;
|
||||
public static final int timepicker_input_selected=0x7f020023;
|
||||
public static final int timepicker_up_btn=0x7f020024;
|
||||
public static final int timepicker_up_disabled=0x7f020025;
|
||||
public static final int timepicker_up_disabled_focused=0x7f020026;
|
||||
public static final int timepicker_up_normal=0x7f020027;
|
||||
public static final int timepicker_up_pressed=0x7f020028;
|
||||
public static final int timepicker_up_selected=0x7f020029;
|
||||
public static final int title_button=0x7f02002a;
|
||||
public static final int title_refresh=0x7f02002b;
|
||||
public static final int users=0x7f02002c;
|
||||
public static final int usr_bl=0x7f02002d;
|
||||
public static final int msg_received=0x7f02000f;
|
||||
public static final int msg_write=0x7f020010;
|
||||
public static final int note=0x7f020011;
|
||||
public static final int notif=0x7f020012;
|
||||
public static final int notok=0x7f020013;
|
||||
public static final int ok=0x7f020014;
|
||||
public static final int rollcall=0x7f020015;
|
||||
public static final int rotate_refresh=0x7f020016;
|
||||
public static final int share_via_barcode=0x7f020017;
|
||||
public static final int shopper_icon=0x7f020018;
|
||||
public static final int survey=0x7f020019;
|
||||
public static final int test=0x7f02001a;
|
||||
public static final int timepicker_down_btn=0x7f02001b;
|
||||
public static final int timepicker_down_disabled=0x7f02001c;
|
||||
public static final int timepicker_down_disabled_focused=0x7f02001d;
|
||||
public static final int timepicker_down_normal=0x7f02001e;
|
||||
public static final int timepicker_down_pressed=0x7f02001f;
|
||||
public static final int timepicker_down_selected=0x7f020020;
|
||||
public static final int timepicker_input=0x7f020021;
|
||||
public static final int timepicker_input_disabled=0x7f020022;
|
||||
public static final int timepicker_input_normal=0x7f020023;
|
||||
public static final int timepicker_input_pressed=0x7f020024;
|
||||
public static final int timepicker_input_selected=0x7f020025;
|
||||
public static final int timepicker_up_btn=0x7f020026;
|
||||
public static final int timepicker_up_disabled=0x7f020027;
|
||||
public static final int timepicker_up_disabled_focused=0x7f020028;
|
||||
public static final int timepicker_up_normal=0x7f020029;
|
||||
public static final int timepicker_up_pressed=0x7f02002a;
|
||||
public static final int timepicker_up_selected=0x7f02002b;
|
||||
public static final int title_button=0x7f02002c;
|
||||
public static final int title_refresh=0x7f02002d;
|
||||
public static final int users=0x7f02002e;
|
||||
public static final int usr_bl=0x7f02002f;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int RelativeLayout1=0x7f080030;
|
||||
|
@ -110,7 +112,7 @@ public final class R {
|
|||
public static final int bookmark_title=0x7f080014;
|
||||
public static final int bookmark_url=0x7f080015;
|
||||
public static final int check=0x7f080032;
|
||||
public static final int clean_database_menu=0x7f080078;
|
||||
public static final int clean_database_menu=0x7f080079;
|
||||
public static final int contentWebView=0x7f08005a;
|
||||
public static final int contents_supplement_text_view=0x7f080023;
|
||||
public static final int contents_text_view=0x7f080022;
|
||||
|
@ -136,6 +138,7 @@ public final class R {
|
|||
public static final int help_contents=0x7f080029;
|
||||
public static final int history_detail=0x7f08002d;
|
||||
public static final int history_title=0x7f08002c;
|
||||
public static final int icon=0x7f080075;
|
||||
public static final int image=0x7f080074;
|
||||
public static final int imageView1=0x7f080031;
|
||||
public static final int image_view=0x7f080028;
|
||||
|
@ -159,13 +162,13 @@ public final class R {
|
|||
public static final int notice_button_cancel=0x7f08003d;
|
||||
public static final int notificationIcon=0x7f08003f;
|
||||
public static final int page_number_view=0x7f080050;
|
||||
public static final int preferences_menu=0x7f080079;
|
||||
public static final int preferences_menu=0x7f08007a;
|
||||
public static final int preview_view=0x7f080016;
|
||||
public static final int progress_refresh=0x7f080013;
|
||||
public static final int query_button=0x7f08004e;
|
||||
public static final int query_text_view=0x7f08004d;
|
||||
public static final int quit=0x7f080005;
|
||||
public static final int rate_menu=0x7f080077;
|
||||
public static final int rate_menu=0x7f080078;
|
||||
public static final int refresh=0x7f080012;
|
||||
public static final int restart_preview=0x7f080006;
|
||||
public static final int result_button_view=0x7f080024;
|
||||
|
@ -179,7 +182,7 @@ public final class R {
|
|||
public static final int share_bookmark_button=0x7f080053;
|
||||
public static final int share_clipboard_button=0x7f080055;
|
||||
public static final int share_contact_button=0x7f080054;
|
||||
public static final int share_menu=0x7f080076;
|
||||
public static final int share_menu=0x7f080077;
|
||||
public static final int share_text_view=0x7f080056;
|
||||
public static final int shopper_button=0x7f080025;
|
||||
public static final int snippet_view=0x7f080051;
|
||||
|
@ -212,7 +215,7 @@ public final class R {
|
|||
public static final int testTagsList=0x7f080071;
|
||||
public static final int testTagsText=0x7f080070;
|
||||
public static final int test_questions_bar=0x7f080068;
|
||||
public static final int text=0x7f080075;
|
||||
public static final int text=0x7f080076;
|
||||
public static final int time_text_view=0x7f08001f;
|
||||
public static final int time_text_view_label=0x7f08001e;
|
||||
public static final int timepicker_input=0x7f08004b;
|
||||
|
|
|
@ -66,37 +66,39 @@ public final class R {
|
|||
public static final int launcher_icon=0x7f02000c;
|
||||
public static final int message_reply=0x7f02000d;
|
||||
public static final int msg=0x7f02000e;
|
||||
public static final int newmsg=0x7f02000f;
|
||||
public static final int note=0x7f020010;
|
||||
public static final int notif=0x7f020011;
|
||||
public static final int recmsg=0x7f020012;
|
||||
public static final int rollcall=0x7f020013;
|
||||
public static final int rotate_refresh=0x7f020014;
|
||||
public static final int share_via_barcode=0x7f020015;
|
||||
public static final int shopper_icon=0x7f020016;
|
||||
public static final int survey=0x7f020017;
|
||||
public static final int test=0x7f020018;
|
||||
public static final int timepicker_down_btn=0x7f020019;
|
||||
public static final int timepicker_down_disabled=0x7f02001a;
|
||||
public static final int timepicker_down_disabled_focused=0x7f02001b;
|
||||
public static final int timepicker_down_normal=0x7f02001c;
|
||||
public static final int timepicker_down_pressed=0x7f02001d;
|
||||
public static final int timepicker_down_selected=0x7f02001e;
|
||||
public static final int timepicker_input=0x7f02001f;
|
||||
public static final int timepicker_input_disabled=0x7f020020;
|
||||
public static final int timepicker_input_normal=0x7f020021;
|
||||
public static final int timepicker_input_pressed=0x7f020022;
|
||||
public static final int timepicker_input_selected=0x7f020023;
|
||||
public static final int timepicker_up_btn=0x7f020024;
|
||||
public static final int timepicker_up_disabled=0x7f020025;
|
||||
public static final int timepicker_up_disabled_focused=0x7f020026;
|
||||
public static final int timepicker_up_normal=0x7f020027;
|
||||
public static final int timepicker_up_pressed=0x7f020028;
|
||||
public static final int timepicker_up_selected=0x7f020029;
|
||||
public static final int title_button=0x7f02002a;
|
||||
public static final int title_refresh=0x7f02002b;
|
||||
public static final int users=0x7f02002c;
|
||||
public static final int usr_bl=0x7f02002d;
|
||||
public static final int msg_received=0x7f02000f;
|
||||
public static final int msg_write=0x7f020010;
|
||||
public static final int note=0x7f020011;
|
||||
public static final int notif=0x7f020012;
|
||||
public static final int notok=0x7f020013;
|
||||
public static final int ok=0x7f020014;
|
||||
public static final int rollcall=0x7f020015;
|
||||
public static final int rotate_refresh=0x7f020016;
|
||||
public static final int share_via_barcode=0x7f020017;
|
||||
public static final int shopper_icon=0x7f020018;
|
||||
public static final int survey=0x7f020019;
|
||||
public static final int test=0x7f02001a;
|
||||
public static final int timepicker_down_btn=0x7f02001b;
|
||||
public static final int timepicker_down_disabled=0x7f02001c;
|
||||
public static final int timepicker_down_disabled_focused=0x7f02001d;
|
||||
public static final int timepicker_down_normal=0x7f02001e;
|
||||
public static final int timepicker_down_pressed=0x7f02001f;
|
||||
public static final int timepicker_down_selected=0x7f020020;
|
||||
public static final int timepicker_input=0x7f020021;
|
||||
public static final int timepicker_input_disabled=0x7f020022;
|
||||
public static final int timepicker_input_normal=0x7f020023;
|
||||
public static final int timepicker_input_pressed=0x7f020024;
|
||||
public static final int timepicker_input_selected=0x7f020025;
|
||||
public static final int timepicker_up_btn=0x7f020026;
|
||||
public static final int timepicker_up_disabled=0x7f020027;
|
||||
public static final int timepicker_up_disabled_focused=0x7f020028;
|
||||
public static final int timepicker_up_normal=0x7f020029;
|
||||
public static final int timepicker_up_pressed=0x7f02002a;
|
||||
public static final int timepicker_up_selected=0x7f02002b;
|
||||
public static final int title_button=0x7f02002c;
|
||||
public static final int title_refresh=0x7f02002d;
|
||||
public static final int users=0x7f02002e;
|
||||
public static final int usr_bl=0x7f02002f;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int RelativeLayout1=0x7f080030;
|
||||
|
@ -110,7 +112,7 @@ public final class R {
|
|||
public static final int bookmark_title=0x7f080014;
|
||||
public static final int bookmark_url=0x7f080015;
|
||||
public static final int check=0x7f080032;
|
||||
public static final int clean_database_menu=0x7f080078;
|
||||
public static final int clean_database_menu=0x7f080079;
|
||||
public static final int contentWebView=0x7f08005a;
|
||||
public static final int contents_supplement_text_view=0x7f080023;
|
||||
public static final int contents_text_view=0x7f080022;
|
||||
|
@ -136,6 +138,7 @@ public final class R {
|
|||
public static final int help_contents=0x7f080029;
|
||||
public static final int history_detail=0x7f08002d;
|
||||
public static final int history_title=0x7f08002c;
|
||||
public static final int icon=0x7f080075;
|
||||
public static final int image=0x7f080074;
|
||||
public static final int imageView1=0x7f080031;
|
||||
public static final int image_view=0x7f080028;
|
||||
|
@ -159,13 +162,13 @@ public final class R {
|
|||
public static final int notice_button_cancel=0x7f08003d;
|
||||
public static final int notificationIcon=0x7f08003f;
|
||||
public static final int page_number_view=0x7f080050;
|
||||
public static final int preferences_menu=0x7f080079;
|
||||
public static final int preferences_menu=0x7f08007a;
|
||||
public static final int preview_view=0x7f080016;
|
||||
public static final int progress_refresh=0x7f080013;
|
||||
public static final int query_button=0x7f08004e;
|
||||
public static final int query_text_view=0x7f08004d;
|
||||
public static final int quit=0x7f080005;
|
||||
public static final int rate_menu=0x7f080077;
|
||||
public static final int rate_menu=0x7f080078;
|
||||
public static final int refresh=0x7f080012;
|
||||
public static final int restart_preview=0x7f080006;
|
||||
public static final int result_button_view=0x7f080024;
|
||||
|
@ -179,7 +182,7 @@ public final class R {
|
|||
public static final int share_bookmark_button=0x7f080053;
|
||||
public static final int share_clipboard_button=0x7f080055;
|
||||
public static final int share_contact_button=0x7f080054;
|
||||
public static final int share_menu=0x7f080076;
|
||||
public static final int share_menu=0x7f080077;
|
||||
public static final int share_text_view=0x7f080056;
|
||||
public static final int shopper_button=0x7f080025;
|
||||
public static final int snippet_view=0x7f080051;
|
||||
|
@ -212,7 +215,7 @@ public final class R {
|
|||
public static final int testTagsList=0x7f080071;
|
||||
public static final int testTagsText=0x7f080070;
|
||||
public static final int test_questions_bar=0x7f080068;
|
||||
public static final int text=0x7f080075;
|
||||
public static final int text=0x7f080076;
|
||||
public static final int time_text_view=0x7f08001f;
|
||||
public static final int time_text_view_label=0x7f08001e;
|
||||
public static final int timepicker_input=0x7f08004b;
|
||||
|
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
@ -30,7 +30,7 @@ public class Global {
|
|||
/**
|
||||
* SWAD application key
|
||||
*/
|
||||
private static final String AppKey = "cuerre-aguilerin";
|
||||
private static final String AppKey = "";
|
||||
/**
|
||||
* Server URL
|
||||
*/
|
||||
|
|
|
@ -295,7 +295,7 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
|
||||
map = new HashMap<String,Object>();
|
||||
map.put(NAME, getString(R.string.messagesModuleLabel) );
|
||||
map.put(IMAGE, getResources().getDrawable(R.drawable.newmsg));
|
||||
map.put(IMAGE, getResources().getDrawable(R.drawable.msg_write));
|
||||
messagesData.add(map);
|
||||
|
||||
map = new HashMap<String,Object>();
|
||||
|
|
|
@ -278,12 +278,13 @@ public class DataBaseHelper {
|
|||
* Gets the user that matches userId and selectedCourseCode
|
||||
* @param userId User's DNI (national identity)
|
||||
* @param selectedCourseCode Course code to be referenced
|
||||
* @return The requested user, or null if the user does not exist or is not enrolled in the selected course
|
||||
* @return True if user is enrolled in the selected course. False otherwise
|
||||
*/
|
||||
public User getUser(String userID, long selectedCourseCode) {
|
||||
public boolean getUserCourse(String userID, long selectedCourseCode) {
|
||||
boolean enrolled = false;
|
||||
User u = (User) getRow(Global.DB_TABLE_USERS, "userID", userID);
|
||||
|
||||
/*if (u != null) {
|
||||
if (u != null) {
|
||||
String sentencia = "SELECT userCode AS _id, crsCod" +
|
||||
" FROM " + Global.DB_TABLE_USERS_COURSES +
|
||||
" WHERE userCode = ? AND crsCod = ?" +
|
||||
|
@ -294,13 +295,14 @@ public class DataBaseHelper {
|
|||
String.valueOf(selectedCourseCode)
|
||||
});
|
||||
|
||||
// Return null if the user is not enrolled in the selected course
|
||||
if (!c.moveToFirst()) {
|
||||
u = null;
|
||||
if (c.moveToFirst()) {
|
||||
enrolled = true;
|
||||
}
|
||||
c.close();
|
||||
}*/
|
||||
return u;
|
||||
} else
|
||||
enrolled = false;
|
||||
|
||||
return enrolled;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -445,7 +447,7 @@ public class DataBaseHelper {
|
|||
/**
|
||||
* Inserts a user in database
|
||||
* @param u User to be inserted
|
||||
* @return True if user doesn't exist in database and is inserted. False otherwise.
|
||||
* @return True if user does not exist in database and is inserted. False otherwise.
|
||||
*/
|
||||
public boolean insertUser(User u) {
|
||||
List<Entity> rows = db.getEntityList(Global.DB_TABLE_USERS, "userCode = " + u.getId());
|
||||
|
@ -467,6 +469,27 @@ public class DataBaseHelper {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Inserts a new record in database indicating that the user belongs to the course
|
||||
* @param u User to be inserted
|
||||
* @param selectedCourseCode Course code to be referenced
|
||||
* @return True if record does not exist in database and is inserted. False otherwise.
|
||||
*/
|
||||
public boolean insertUserCourse(User u, long selectedCourseCode) {
|
||||
// TODO Auto-generated method stub
|
||||
List<Entity> rows = db.getEntityList(Global.DB_TABLE_USERS_COURSES,
|
||||
"userCode = " + u.getId() + " AND crsCod = " + selectedCourseCode);
|
||||
|
||||
if(rows.isEmpty()) {
|
||||
Entity ent = new Entity(Global.DB_TABLE_USERS_COURSES);
|
||||
ent.setValue("userCode", u.getId());
|
||||
ent.setValue("crsCod", selectedCourseCode);
|
||||
ent.save();
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a course in database
|
||||
* @param prev Course to be updated
|
||||
|
|
|
@ -43,11 +43,11 @@ import android.widget.TextView;
|
|||
import android.widget.Toast;
|
||||
|
||||
import com.android.dataframework.DataFramework;
|
||||
import com.google.zxing.client.android.swadroid.model.DataBaseHelper;
|
||||
import com.google.zxing.client.android.swadroid.model.User;
|
||||
|
||||
import es.ugr.swad.swadroid.Global;
|
||||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.model.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
|
||||
/**
|
||||
|
@ -59,6 +59,7 @@ public class Attendance extends Module {
|
|||
private AlertDialog mAlertDialog;
|
||||
private List<ListItemModel> listModel;
|
||||
private ArrayList<String> listaDnis = null;
|
||||
private ArrayList<Boolean> enrolledStudents = null;
|
||||
private long selectedCourseCode;
|
||||
/**
|
||||
* Database Helper.
|
||||
|
@ -135,6 +136,7 @@ public class Attendance extends Module {
|
|||
Toast.makeText(getApplicationContext(), "No se han detectado codigos validos", Toast.LENGTH_SHORT).show();
|
||||
else if (!listaDnis.isEmpty()) {
|
||||
listModel = new ArrayList<ListItemModel>();
|
||||
enrolledStudents = new ArrayList<Boolean>();
|
||||
|
||||
// Initialize database
|
||||
try {
|
||||
|
@ -148,19 +150,24 @@ public class Attendance extends Module {
|
|||
|
||||
// utilizar aqui el dni para buscar el usuario, y si existe en el grupo seleccionado, ponerlo como marcado
|
||||
for (String dni: listaDnis) {
|
||||
User u = dbHelper.getUser(dni, selectedCourseCode);
|
||||
User u = (User) dbHelper.getRow(Global.DB_TABLE_USERS, "userID", dni);
|
||||
String userName;
|
||||
|
||||
if (u != null) {
|
||||
userName = u.getUserFirstname() + " " + u.getUserSurname1() + " " + u.getUserSurname2();
|
||||
// We put the default photo for each item in the list
|
||||
listModel.add(new ListItemModel(userName, R.drawable.usr_bl));
|
||||
// Comprobamos si el alumno pertenece a la asignatura, y lo marcamos en consecuencia
|
||||
// añadimos a la lista el resultado de si pertenece o no a la asignatura
|
||||
enrolledStudents.add(dbHelper.getUserCourse(dni, selectedCourseCode));
|
||||
}
|
||||
}
|
||||
// Marcamos como asistentes a todos los escaneados (cambiar cuando pueda comprobarse el grupo)
|
||||
// Mark as attending all scans (change when the group can be checked)
|
||||
for (ListItemModel i: listModel)
|
||||
i.setSelected(true);
|
||||
int listSize = listModel.size();
|
||||
for (int i=0; i < listSize; i++) {
|
||||
listModel.get(i).setSelected(enrolledStudents.get(i));
|
||||
}
|
||||
|
||||
ArrayAdapter<ListItemModel> modeAdapter = new InteractiveArrayAdapter(this, listModel);
|
||||
lv = new ListView(this);
|
||||
|
@ -179,28 +186,6 @@ public class Attendance extends Module {
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
/*String dni_escaneado = intent.getStringExtra("SCAN_RESULT");
|
||||
String formato = intent.getStringExtra("SCAN_RESULT_FORMAT");
|
||||
|
||||
if (!formato.contentEquals("QR_CODE"))
|
||||
Toast.makeText(
|
||||
getApplicationContext(),
|
||||
"ERROR: el codigo detectado no es un codigo QR valido",
|
||||
Toast.LENGTH_SHORT).show();
|
||||
else if (!Util.isValidDni(dni_escaneado))
|
||||
Toast.makeText(
|
||||
getApplicationContext(),
|
||||
"ERROR: el codigo detectado no contiene un DNI valido",
|
||||
Toast.LENGTH_SHORT).show();
|
||||
else {
|
||||
Toast.makeText(getApplicationContext(), "DNI valido: " + dni_escaneado, Toast.LENGTH_SHORT).show();
|
||||
listaDnis.add(dni_escaneado);
|
||||
}
|
||||
break;*/
|
||||
/* }
|
||||
} else {
|
||||
}*/
|
||||
}
|
||||
|
||||
public void prepareAlertDialog() {
|
||||
|
|
|
@ -163,7 +163,6 @@ public class AttendanceConfigDownload extends Module {
|
|||
break;
|
||||
case Global.SCAN_QR_REQUEST_CODE:
|
||||
// Propagate the scan result to the previous activity
|
||||
intent.putExtra("selectedCourseCode", selectedCourseCode);
|
||||
setResult(resultCode, intent);
|
||||
finish();
|
||||
break;
|
||||
|
@ -239,6 +238,8 @@ public class AttendanceConfigDownload extends Module {
|
|||
);
|
||||
if (dbHelper.insertUser(u))
|
||||
insertedUsersCount++;
|
||||
|
||||
dbHelper.insertUserCourse(u, selectedCourseCode);
|
||||
} // end for (int i=0; i < usersCount; i++)
|
||||
|
||||
//Request finalized without errors
|
||||
|
@ -275,6 +276,7 @@ public class AttendanceConfigDownload extends Module {
|
|||
Intent activity = new Intent("es.ugr.swad.swadroid.android.SCAN");
|
||||
activity.putExtra("SCAN_MODE", "QR_CODE_MODE");
|
||||
activity.putExtra("SCAN_FORMATS", "QR_CODE");
|
||||
activity.putExtra("selectedCourseCode", selectedCourseCode);
|
||||
// pasar a CaptureActivity selectedCourseCode + cualquier otra informacion que necesite
|
||||
// recibir esta informacion adecuadamente en CaptureActivity y trabajar a partir de ella (ej: lista
|
||||
//de alumnos -> comprobar al escanear un QR si pertenece a la lista)
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
package es.ugr.swad.swadroid.modules.attendance;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class Util {
|
||||
public static boolean isValidEmail(String email) {
|
||||
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
|
||||
CharSequence inputStr = email;
|
||||
|
||||
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
|
||||
Matcher matcher = pattern.matcher(inputStr);
|
||||
|
||||
return matcher.matches();
|
||||
}
|
||||
|
||||
public static boolean isValidDate(String date) {
|
||||
String monthExpression = "(0?[1-9]|1[0-2])";
|
||||
String dayExpression = "(0?[1-9]|[12][0-9]|3[01])";
|
||||
String expression = "^" + dayExpression + "/" + monthExpression + "/(18|19|20|21)\\d{2}";
|
||||
CharSequence inputStr = date;
|
||||
|
||||
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
|
||||
Matcher matcher = pattern.matcher(inputStr);
|
||||
|
||||
return matcher.matches();
|
||||
}
|
||||
|
||||
public static boolean isValidTime(String hora) {
|
||||
String TIME24HOURS_PATTERN = "([01]?[0-9]|2[0-3]):[0-5][0-9]";
|
||||
|
||||
Pattern pattern = Pattern.compile(TIME24HOURS_PATTERN);
|
||||
Matcher matcher = pattern.matcher(hora);
|
||||
|
||||
return matcher.matches();
|
||||
}
|
||||
|
||||
public static String pad(int c) {
|
||||
if (c >= 10)
|
||||
return String.valueOf(c);
|
||||
else
|
||||
return "0" + String.valueOf(c);
|
||||
}
|
||||
|
||||
public static boolean isValidDni(String dni) {
|
||||
//String patronDni = "^\\d{8}[A-Z]$";
|
||||
//String patronDni = "^\\d{8}$"; // 8 digitos
|
||||
String patronDni = "^\\d{1,16}$"; // 1-16 digitos
|
||||
|
||||
Pattern pattern = Pattern.compile(patronDni, Pattern.CASE_INSENSITIVE);
|
||||
Matcher matcher = pattern.matcher(dni);
|
||||
|
||||
return matcher.matches();
|
||||
/*if (matcher.matches())
|
||||
return validarLetra(dni);
|
||||
return false;*/
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static boolean validarLetra(String n) {
|
||||
String numero = n.substring(0, n.length()-1);
|
||||
String letra = n.substring(n.length()-1, n.length());
|
||||
|
||||
int codigo = (Integer.valueOf(numero).intValue()) % 23;
|
||||
String[] abc = {"T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E","T"};
|
||||
|
||||
if(abc[codigo].compareToIgnoreCase(letra) == 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -129,7 +129,7 @@ public class NotificationsCursorAdapter extends CursorAdapter {
|
|||
} else if(type.equals("message"))
|
||||
{
|
||||
type = context.getString(R.string.message);
|
||||
notificationIcon.setImageResource(R.drawable.recmsg);
|
||||
notificationIcon.setImageResource(R.drawable.msg_received);
|
||||
messageReplyButton.setOnClickListener(replyMessageListener);
|
||||
messageReplyButton.setVisibility(View.VISIBLE);
|
||||
} else if(type.equals("forumReply"))
|
||||
|
|