Skip to content

Commit

Permalink
- Se mantienen las actividades ordenadas automáticamente.
Browse files Browse the repository at this point in the history
- Se comprueba que una actividad no se solape con la siguiente, y otros
tipos de problema con la asignación de horas.
- Cuando se actualiza la aplicación, se muestran las novedades.
- Correcciones menores en el interfaz para hacerlo más homogéneo.
  • Loading branch information
Ganso committed May 26, 2018
1 parent 88db87b commit 61b9848
Show file tree
Hide file tree
Showing 25 changed files with 1,204 additions and 984 deletions.
72 changes: 68 additions & 4 deletions ConfigurarSecuencia.bas
Original file line number Diff line number Diff line change
Expand Up @@ -373,11 +373,62 @@ Sub ConfigHoraInicioAct_Click
If Resultado=DialogResponse.POSITIVE Then
Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).hora_inicio=DialogoTiempo.Hour
Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).minuto_inicio=DialogoTiempo.Minute
'Activity.Invalidate
If OrdenarActividades==True Then
Msgbox("Se ha colocado la actividad en su posición correcta.","Actividades reorganizadas")
End If
DibujarConfigurarSecuencia
End If
End Sub

Sub OrdenarActividades As Boolean
Dim i,j As Int
Dim hm_1,hm_2 As Int
Dim ActInt As Actividad
Dim IntercambioRealizado As Boolean

IntercambioRealizado=False

'Ordena las actividades por hora de inicio siguiendo el método de la burbuja
For i=1 To Starter.Secuencia(Starter.MaxSecuencias).num_actividades-1
For j=0 To Starter.Secuencia(Starter.MaxSecuencias).num_actividades-2
hm_1=Starter.ActividadSecuencia(Starter.MaxSecuencias,j).hora_inicio*60+Starter.ActividadSecuencia(Starter.MaxSecuencias,j).minuto_inicio
hm_2=Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1).hora_inicio*60+Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1).minuto_inicio
If hm_1>hm_2 Then
ActInt=Starter.ActividadSecuencia(Starter.MaxSecuencias,j)
Starter.ActividadSecuencia(Starter.MaxSecuencias,j)=Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1)
Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1)=ActInt
IntercambioRealizado=True
End If
Next
Next

'Si ha habido intercambios, compueba que no se hayan generado solapes
If IntercambioRealizado==True Then
QuitarSolapes
End If

Return IntercambioRealizado
End Sub

Sub QuitarSolapes As Boolean
Dim hm_1,hm_2 As Int
Dim j As Int
Dim resultado As Boolean

resultado=False
'Comprueba que la hora de fin de una actividad no sea mayor a la de inicio de la siguiente
For j=0 To Starter.Secuencia(Starter.MaxSecuencias).num_actividades-2
hm_1=Starter.ActividadSecuencia(Starter.MaxSecuencias,j).hora_fin*60+Starter.ActividadSecuencia(Starter.MaxSecuencias,j).minuto_fin
hm_2=Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1).hora_inicio*60+Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1).minuto_inicio
If hm_1>hm_2 Then 'Si es así, las iguala
Starter.ActividadSecuencia(Starter.MaxSecuencias,j).hora_fin=Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1).hora_inicio
Starter.ActividadSecuencia(Starter.MaxSecuencias,j).minuto_fin=Starter.ActividadSecuencia(Starter.MaxSecuencias,j+1).minuto_inicio
resultado=True
End If
Next

Return resultado
End Sub

Sub ConfigHoraFinalAct_Click
Dim DialogoTiempo As TimeDialog
Expand All @@ -394,9 +445,17 @@ Sub ConfigHoraFinalAct_Click
Resultado=DialogoTiempo.Show("Indica la hora final de la actividad","Hora final","Aceptar","Cancelar","",Null)

If Resultado=DialogResponse.POSITIVE Then
Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).hora_fin=DialogoTiempo.Hour
Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).minuto_fin=DialogoTiempo.Minute
DibujarConfigurarSecuencia
If DialogoTiempo.Hour*60+DialogoTiempo.Minute<Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).hora_inicio*60+Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).minuto_inicio Then
'Se ha intentado poner una hora final anterior a la incial
Msgbox("La hora de finalización de una actividad no puede ser anterior a la de inicio.","Hora inválida")
Else
Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).hora_fin=DialogoTiempo.Hour
Starter.ActividadSecuencia(Starter.MaxSecuencias,Act).minuto_fin=DialogoTiempo.Minute
If QuitarSolapes==True Then
Msgbox("Se ha corregido la hora final de la actividad para evitar solapes.","Hora final corregida")
End If
DibujarConfigurarSecuencia
End If
End If
End Sub

Expand Down Expand Up @@ -481,6 +540,11 @@ Sub BotonAnadirActividad_Click
Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).minuto_fin=Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).minuto_fin-60
Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).hora_fin=Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).hora_fin+1
End If
'...pero sin pasarse de las 23:59
If Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).hora_fin*60+Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).minuto_fin>(23*60+59) Then
Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).hora_fin=23
Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).minuto_fin=59
End If

Starter.ActividadSecuencia(Starter.MaxSecuencias,Starter.Secuencia(Starter.MaxSecuencias).num_actividades).Pictograma="jugar"
Starter.Secuencia(Starter.MaxSecuencias).num_actividades=Starter.Secuencia(Starter.MaxSecuencias).num_actividades+1
Expand Down
Binary file modified Files/acercade.bal
Binary file not shown.
16 changes: 8 additions & 8 deletions Objects/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="javi.prieto.pictorario"
android:versionCode="2"
android:versionName="Beta 2"
android:versionCode="3"
android:versionName="Beta 3"
android:installLocation="internalOnly">

<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="26"/>
Expand Down Expand Up @@ -31,21 +31,21 @@
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".configurarsecuencia"
android:name=".visualizacion"
android:label="Pictorario"
android:screenOrientation="portrait">
</activity>
<service android:name=".starter">
</service>
<receiver android:name=".starter$starter_BR">
</receiver>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".visualizacion"
android:name=".configurarsecuencia"
android:label="Pictorario"
android:screenOrientation="portrait">
</activity>
<service android:name=".starter">
</service>
<receiver android:name=".starter$starter_BR">
</receiver>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
Expand Down
125 changes: 64 additions & 61 deletions Objects/ObfuscatorMap.txt
Original file line number Diff line number Diff line change
@@ -1,62 +1,65 @@
Este fichero contiene las variables renombradas con los originales.
v5=kvs
v6=maxsecuencias
v7=maxactividades
v0=descripciontablero
vv1=descripcionminutero
vv2=maxcolores
vv3=colores
vv4=numsecuencias
vv5=secuenciaactiva
vv6=secuencia
vv7=actividadsecuencia
vv0=dibujarportada
vvv1=acercade
vvv2=starter
vvv3=configurarsecuencia
vvv4=visualizacion
vvv5=pictogramasecuencia
vvv6=etiquetasecuencia
vvv7=editarsecuencia
vvv0=botoncrear
vvvv1=botonacercade
vvvv2=dibujarconfigurarsecuencia
vvvv3=listapictogramas
vvvv4=inicializando
vvvv5=pictogramaeditado
vvvv6=etiquetainicial
vvvv7=configpictograma
vvvv0=tamcasilla
vvvvv1=separacioncasillas
vvvvv2=configdescripcion
vvvvv3=etiqtipotablero
vvvvv4=separacionhorizontal
vvvvv5=configtipotablero
vvvvv6=colordefondo
vvvvv7=etiqindicarhora
vvvvv0=configindicarhora
vvvvvv1=etiqtamicono
vvvvvv2=configtamicono
vvvvvv3=etiqactividades
vvvvvv4=confighorainicioact
vvvvvv5=configpictogramaact
vvvvvv6=configdescripcionact
vvvvvv7=confighorafinalact
vvvvvv0=configopcionesact
vvvvvvv1=botonanadiractividad
vvvvvvv2=botonaceptar
vvvvvvv3=botoncancelar
vvvvvvv4=main
vvvvvvv5=intercambiaractividades
vvvvvvv6=dibujartablero
vvvvvvv7=hora24a12
vvvvvvv0=minutolegible
vvvvvvvv1=dibujaractividad
vvvvvvvv2=centrox
vvvvvvvv3=centroy
vvvvvvvv4=pantalla
vvvvvvvv5=radio
vvvvvvvv6=dibujarboton
vvvvvvvv7=boton
vvvvvvvv0=minhora
vvvvvvvvv1=maxhora
v5=cambiosversion
v6=kvs
v7=maxsecuencias
v0=maxactividades
vv1=descripciontablero
vv2=descripcionminutero
vv3=maxcolores
vv4=colores
vv5=numsecuencias
vv6=secuenciaactiva
vv7=secuencia
vv0=actividadsecuencia
vvv1=versioninstalada
vvv2=dibujarportada
vvv3=starter
vvv4=acercade
vvv5=configurarsecuencia
vvv6=visualizacion
vvv7=pictogramasecuencia
vvv0=etiquetasecuencia
vvvv1=editarsecuencia
vvvv2=botoncrear
vvvv3=botonacercade
vvvv4=dibujartablero
vvvv5=hora24a12
vvvv6=minutolegible
vvvv7=dibujaractividad
vvvv0=centrox
vvvvv1=centroy
vvvvv2=pantalla
vvvvv3=radio
vvvvv4=dibujarboton
vvvvv5=boton
vvvvv6=minhora
vvvvv7=maxhora
vvvvv0=main
vvvvvv1=dibujarconfigurarsecuencia
vvvvvv2=listapictogramas
vvvvvv3=inicializando
vvvvvv4=quitarsolapes
vvvvvv5=ordenaractividades
vvvvvv6=pictogramaeditado
vvvvvv7=etiquetainicial
vvvvvv0=configpictograma
vvvvvvv1=tamcasilla
vvvvvvv2=separacioncasillas
vvvvvvv3=configdescripcion
vvvvvvv4=etiqtipotablero
vvvvvvv5=separacionhorizontal
vvvvvvv6=configtipotablero
vvvvvvv7=colordefondo
vvvvvvv0=etiqindicarhora
vvvvvvvv1=configindicarhora
vvvvvvvv2=etiqtamicono
vvvvvvvv3=configtamicono
vvvvvvvv4=etiqactividades
vvvvvvvv5=confighorainicioact
vvvvvvvv6=configpictogramaact
vvvvvvvv7=configdescripcionact
vvvvvvvv0=confighorafinalact
vvvvvvvvv1=configopcionesact
vvvvvvvvv2=botonanadiractividad
vvvvvvvvv3=botonaceptar
vvvvvvvvv4=botoncancelar
Binary file modified Objects/bin/classes/javi/prieto/pictorario/acercade.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified Objects/bin/classes/javi/prieto/pictorario/main.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified Objects/bin/classes/javi/prieto/pictorario/starter.class
Binary file not shown.
Binary file modified Objects/bin/classes/javi/prieto/pictorario/visualizacion.class
Binary file not shown.
Binary file modified Objects/bin/temp.ap_
Binary file not shown.
Binary file modified Objects/classes.dex
Binary file not shown.
Binary file modified Objects/pictorario.apk
Binary file not shown.
8 changes: 4 additions & 4 deletions Objects/src/javi/prieto/pictorario/acercade.java
Original file line number Diff line number Diff line change
Expand Up @@ -333,10 +333,10 @@ public void onRequestPermissionsResult(int requestCode,
public anywheresoftware.b4a.objects.ImageViewWrapper _programador = null;
public anywheresoftware.b4a.objects.WebViewWrapper _textoarasaac = null;
public anywheresoftware.b4a.objects.WebViewWrapper _textoautor = null;
public javi.prieto.pictorario.main _vvvvvvv4 = null;
public javi.prieto.pictorario.configurarsecuencia _vvv3 = null;
public javi.prieto.pictorario.starter _vvv2 = null;
public javi.prieto.pictorario.visualizacion _vvv4 = null;
public javi.prieto.pictorario.main _vvvvv0 = null;
public javi.prieto.pictorario.visualizacion _vvv6 = null;
public javi.prieto.pictorario.configurarsecuencia _vvv5 = null;
public javi.prieto.pictorario.starter _vvv3 = null;

public static void initializeProcessGlobals() {
try {
Expand Down
Loading

0 comments on commit 61b9848

Please sign in to comment.