diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f1fe92173..01a3a76c2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="68" + android:versionName="1.2.3" > diff --git a/app/src/main/java/com/google/zxing/client/android/CaptureActivity.java b/app/src/main/java/com/google/zxing/client/android/CaptureActivity.java index 43a0549aa..6f77e88d9 100644 --- a/app/src/main/java/com/google/zxing/client/android/CaptureActivity.java +++ b/app/src/main/java/com/google/zxing/client/android/CaptureActivity.java @@ -74,7 +74,7 @@ public class CaptureActivity extends Activity implements SurfaceHolder.Callback private static final String TAG = CaptureActivity.class.getSimpleName(); - private static final long BULK_MODE_SCAN_DELAY_MS = 3000L; + private static final long BULK_MODE_SCAN_DELAY_MS = 2000L; private static final int[] sounds = {R.raw.beep, R.raw.klaxon}; diff --git a/app/src/main/java/es/ugr/swad/swadroid/database/DataBaseHelper.java b/app/src/main/java/es/ugr/swad/swadroid/database/DataBaseHelper.java index d604ca5f6..414231d4a 100644 --- a/app/src/main/java/es/ugr/swad/swadroid/database/DataBaseHelper.java +++ b/app/src/main/java/es/ugr/swad/swadroid/database/DataBaseHelper.java @@ -404,8 +404,8 @@ private T createObjectByTable(String table, Entity ent) { crypto.decrypt(ent.getString("userSurname2")), crypto.decrypt(ent.getString("userFirstName")), crypto.decrypt(ent.getString("userPhoto")), - ent.getInt("startTime"), - ent.getInt("endTime"), + ent.getLong("startTime"), + ent.getLong("endTime"), Utils.parseIntBool(ent.getInt("commentsTeachersVisible")), crypto.decrypt(ent.getString("title")), crypto.decrypt(ent.getString("text")), @@ -677,7 +677,8 @@ public List getEventsCourse(long crsCod) { public Cursor getEventsCourseCursor(long crsCod) { return db.rawQuery("SELECT * FROM " + DB_TABLE_EVENTS_ATTENDANCES + " AS E" + " INNER JOIN " + DB_TABLE_EVENTS_COURSES + " AS C" - + " ON E.id = C.eventCode WHERE C.crsCod ='" + crsCod + "'", null); + + " ON E.id = C.eventCode WHERE C.crsCod ='" + crsCod + "' AND hidden=" + Utils.parseBoolInt(false) + + " ORDER BY E.startTime DESC,E.endTime DESC,E.title DESC", null); } /** diff --git a/app/src/main/java/es/ugr/swad/swadroid/model/Event.java b/app/src/main/java/es/ugr/swad/swadroid/model/Event.java index abffe632f..347a55244 100644 --- a/app/src/main/java/es/ugr/swad/swadroid/model/Event.java +++ b/app/src/main/java/es/ugr/swad/swadroid/model/Event.java @@ -41,8 +41,8 @@ public class Event extends Model { private String userSurname2; private String userFirstName; private String userPhoto; - private int startTime; - private int endTime; + private long startTime; + private long endTime; private boolean commentsTeachersVisible; private String title; private String text; @@ -80,7 +80,7 @@ public class Event extends Model { * Constructor with status */ public Event(long attendanceEventCode, boolean hidden, String userSurname1, String userSurname2, - String userFirstName, String userPhoto, int startTime, int endTime, + String userFirstName, String userPhoto, long startTime, long endTime, boolean commentsTeachersVisible, String title, String text, String groups, String status) { super(attendanceEventCode); @@ -102,7 +102,7 @@ public Event(long attendanceEventCode, boolean hidden, String userSurname1, Stri * Constructor without status */ public Event(long attendanceEventCode, boolean hidden, String userSurname1, String userSurname2, - String userFirstName, String userPhoto, int startTime, int endTime, + String userFirstName, String userPhoto, long startTime, long endTime, boolean commentsTeachersVisible, String title, String text, String groups) { super(attendanceEventCode); this.hidden = hidden; @@ -159,7 +159,7 @@ public void setUserPhoto(String userPhoto) { this.userPhoto = userPhoto; } - public int getStartTime() { + public long getStartTime() { return startTime; } @@ -169,11 +169,11 @@ public Calendar getStartTimeCalendar() { return calendar; } - public void setStartTime(int startTime) { + public void setStartTime(long startTime) { this.startTime = startTime; } - public int getEndTime() { + public long getEndTime() { return endTime; } @@ -183,7 +183,7 @@ public Calendar getEndTimeCalendar() { return calendar; } - public void setEndTime(int endTime) { + public void setEndTime(long endTime) { this.endTime = endTime; } @@ -322,11 +322,11 @@ public void getPropertyInfo(int param, @SuppressWarnings("rawtypes") Hashtable a propertyInfo.name = "userPhoto"; break; case 6: - propertyInfo.type = PropertyInfo.INTEGER_CLASS; + propertyInfo.type = PropertyInfo.LONG_CLASS; propertyInfo.name = "startTime"; break; case 7: - propertyInfo.type = PropertyInfo.INTEGER_CLASS; + propertyInfo.type = PropertyInfo.LONG_CLASS; propertyInfo.name = "endTime"; break; case 8: @@ -376,10 +376,10 @@ public void setProperty(int param, Object obj) { userPhoto = (String) obj; break; case 6: - startTime = (Integer) obj; + startTime = (Long) obj; break; case 7: - endTime = (Integer) obj; + endTime = (Long) obj; break; case 8: commentsTeachersVisible = (Boolean) obj; diff --git a/app/src/main/java/es/ugr/swad/swadroid/modules/Module.java b/app/src/main/java/es/ugr/swad/swadroid/modules/Module.java index 2e7747f77..220b5d34c 100644 --- a/app/src/main/java/es/ugr/swad/swadroid/modules/Module.java +++ b/app/src/main/java/es/ugr/swad/swadroid/modules/Module.java @@ -443,7 +443,7 @@ protected void onPostExecute(Void unused) { Log.e(TAG, "httpStatusCode=" + httpStatusCode); switch(httpStatusCode) { - case 500: errorMsg = getString(R.string.errorServerResponseMsg); + case 500: errorMsg = getString(R.string.errorInternalServerMsg); break; case 503: errorMsg = getString(R.string.errorServiceUnavailableMsg); diff --git a/app/src/main/java/es/ugr/swad/swadroid/modules/notifications/NotificationsSyncAdapterService.java b/app/src/main/java/es/ugr/swad/swadroid/modules/notifications/NotificationsSyncAdapterService.java index b7995920b..a10ac9e4a 100644 --- a/app/src/main/java/es/ugr/swad/swadroid/modules/notifications/NotificationsSyncAdapterService.java +++ b/app/src/main/java/es/ugr/swad/swadroid/modules/notifications/NotificationsSyncAdapterService.java @@ -149,7 +149,7 @@ public void onPerformSync(Account account, Bundle extras, String authority, Cont Log.e(TAG, "httpStatusCode=" + httpStatusCode); switch(httpStatusCode) { - case 500: errorMessage = mContext.getString(R.string.errorServerResponseMsg); + case 500: errorMessage = mContext.getString(R.string.errorInternalServerMsg); break; case 503: errorMessage = mContext.getString(R.string.errorServiceUnavailableMsg); diff --git a/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/EventsCursorAdapter.java b/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/EventsCursorAdapter.java index 9d21e54f4..613edb8c2 100644 --- a/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/EventsCursorAdapter.java +++ b/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/EventsCursorAdapter.java @@ -91,8 +91,8 @@ public EventsCursorAdapter(Context context, Cursor c, @Override public void bindView(View view, final Context context, Cursor cursor) { String title = crypto.decrypt(cursor.getString(cursor.getColumnIndex("title"))); - long startTime = cursor.getInt(cursor.getColumnIndex("startTime")); - long endTime = cursor.getInt(cursor.getColumnIndex("endTime")); + long startTime = cursor.getLong(cursor.getColumnIndex("startTime")); + long endTime = cursor.getLong(cursor.getColumnIndex("endTime")); final boolean pending = crypto.decrypt(cursor.getString(cursor.getColumnIndex("status"))).equals("pending"); Calendar today = Calendar.getInstance(); Calendar startTimeCalendar = Calendar.getInstance(); diff --git a/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/UsersActivity.java b/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/UsersActivity.java index 97a9252ec..6e591a8eb 100644 --- a/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/UsersActivity.java +++ b/app/src/main/java/es/ugr/swad/swadroid/modules/rollcall/UsersActivity.java @@ -160,6 +160,9 @@ protected void onActivityResult(int requestCode, int resultCode, Intent intent) case Constants.ROLLCALL_USERS_DOWNLOAD_REQUEST_CODE: refreshAdapter(); break; + case Constants.ROLLCALL_USERS_SEND_REQUEST_CODE: + refreshAdapter(); + break; case Constants.SCAN_QR_REQUEST_CODE: refreshAdapter(); break; @@ -285,8 +288,8 @@ public boolean onOptionsItemSelected(MenuItem item) { // Check if device has a rear camera if (hasRearCam) { Intent activity = new Intent(Intents.Scan.ACTION); - activity.putExtra("SCAN_MODE", "QR_CODE_MODE"); - activity.putExtra("SCAN_FORMATS", "QR_CODE"); + activity.putExtra("SCAN_MODE", "QR_CODE_MODE,ONE_D_MODE"); + activity.putExtra("SCAN_FORMATS", "QR_CODE,ONE_D_FORMATS"); startActivityForResult(activity, Constants.SCAN_QR_REQUEST_CODE); } else { //If the device has no rear camera available show error message @@ -307,7 +310,7 @@ public boolean onOptionsItemSelected(MenuItem item) { 1); activity.putExtra("usersCodes", usersCodes); - startActivity(activity); + startActivityForResult(activity, Constants.ROLLCALL_USERS_SEND_REQUEST_CODE); return true; diff --git a/app/src/main/res/raw-es/changes.html b/app/src/main/res/raw-es/changes.html index c88b6855f..150f6fd07 100644 --- a/app/src/main/res/raw-es/changes.html +++ b/app/src/main/res/raw-es/changes.html @@ -15,6 +15,16 @@ +

1.2.3 (2014-11-30)

+
    + [NOVEDADES] +
  • Añadido soporte para escaneo de códigos de barras en el control de asistencia
  • +
+
    + [ACTUALIZACIONES] +
  • Ahora el listado de eventos se muestra ordenado en el control de asistencia
  • +
  • Reducido retardo entre escaneos de códigos a 2 segundos
  • +

1.2.2 (2014-11-26)

    [ACTUALIZACIONES] diff --git a/app/src/main/res/raw/changes.html b/app/src/main/res/raw/changes.html index 9366d323c..81edbfc77 100644 --- a/app/src/main/res/raw/changes.html +++ b/app/src/main/res/raw/changes.html @@ -15,6 +15,16 @@ +

    1.2.3 (2014-11-30)

    +
      + [NEW] +
    • Added support for barcode scanning in rollcall module
    • +
    +
      + [UPDATES] +
    • Now the events list is sorted in rollcall module
    • +
    • Changed scan delay of codes to 2 seconds
    • +

    1.2.2 (2014-11-26)

      [UPDATES] diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 470a94304..24d3bcc03 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -90,6 +90,7 @@ El professor no permet veure els resultats del test Usuari o contrasenya incorrectes Error en resposta del servidor + Error intern del servidor Clau d\'aplicació incorrecta. Si us plau, contacti amb el desenvolupador. Error durant la connexió amb el servidor Temps d\'espera esgotat intentant connectar amb el servidor @@ -147,7 +148,7 @@ Tipus Temps Metadata - Poseu un codi de barres a l\'interior del rectangle del visor per escanejar." + Poseu un codi QR o codi de barres dins del rectangle visor per escanejar Ho sentim, la càmera d\'Android ha trobat un problema. Potser haureu reiniciar el dispositiu. OK @@ -155,7 +156,7 @@ Alumne d\'una altra assignatura Nom DNI - Codi QR no vàlid + Codi no vàlid No hi ha dades d\'aquest alumne No s\'ha detectat cap codi QR vàlid No hi ha noves notificacions diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 76baa6dd2..1b0da3c39 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -93,6 +93,7 @@ El profesor no permite ver los resultados del test Usuario o contraseña incorrectos Error en respuesta del servidor + Error interno del servidor Clave de aplicación incorrecta. Por favor, contacte con el desarrollador. Error durante la conexión con el servidor Tiempo de espera agotado intentando conectar con el @@ -152,7 +153,7 @@ Tipo Tiempo Metadata - Coloque un código de barras en el interior del rectángulo del visor para + Coloque un código QR o un código de barras en el interior del rectángulo del visor para escanear. Lo sentimos, la cámara de Android ha encontrado un problema. Es posible que necesite reiniciar el dispositivo. @@ -161,7 +162,7 @@ Alumno de otra asignatura Nombre DNI - Código QR no válido + Código no válido No existen datos de este alumno No se ha detectado ningún código QR válido No hay nuevas notificaciones diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fa8044c22..d4e421cb4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -92,6 +92,7 @@ The teacher does not allow to see the results Username or password incorrect Error in server response + Internal server error Unknown application key. Please contact the developer Error while connecting to server Timeout trying to connect to the server @@ -159,7 +160,7 @@ Type Time Metadata - Place a barcode inside the viewfinder rectangle to scan it. + Place a QR code or barcode inside the viewfinder rectangle to scan it. Sorry, the Android camera encountered a problem. You may need to restart the device. OK @@ -167,7 +168,7 @@ Student of another course Name ID - QR code invalid + Invalid code No data on this student Not detect any valid QR code There are no new notifications