3 Commits

Author SHA1 Message Date
c9e081b46b Add AI Team branding and configurable break counting 2026-06-17 18:45:17 +02:00
27b6e7c947 Add branded app title to main screen 2026-06-16 20:24:49 +02:00
f36967541d Add in-app help page 2026-06-16 19:00:07 +02:00
8 changed files with 1808 additions and 1129 deletions

View File

@@ -82,6 +82,7 @@ Private Sub CreateEnglishMap As Map
m.Put("stats", "Stats")
m.Put("config", "Config")
m.Put("bg", "Bg")
m.Put("help", "Help")
m.Put("statistics", "Statistics")
m.Put("close", "Close")
m.Put("work_start", "Work start")
@@ -91,6 +92,7 @@ Private Sub CreateEnglishMap As Map
m.Put("set_config", "Set config")
m.Put("reset_config", "Reset config")
m.Put("clear_today", "Clear today")
m.Put("include_pause_total", "Include breaks in total")
m.Put("date", "Date")
m.Put("work", "Work")
m.Put("pause_col", "Pause")
@@ -126,6 +128,7 @@ Private Sub CreateItalianMap As Map
m.Put("stats", "Statistiche")
m.Put("config", "Config")
m.Put("bg", "Sfondo")
m.Put("help", "Help")
m.Put("statistics", "Statistiche")
m.Put("close", "Chiudi")
m.Put("work_start", "Inizio lavoro")
@@ -135,6 +138,7 @@ Private Sub CreateItalianMap As Map
m.Put("set_config", "Imposta config")
m.Put("reset_config", "Reset config")
m.Put("clear_today", "Azzera oggi")
m.Put("include_pause_total", "Includi pause nel totale")
m.Put("date", "Data")
m.Put("work", "Lavoro")
m.Put("pause_col", "Pausa")
@@ -170,6 +174,7 @@ Private Sub CreateFrenchMap As Map
m.Put("stats", "Stats")
m.Put("config", "Config")
m.Put("bg", "Fond")
m.Put("help", "Aide")
m.Put("statistics", "Statistiques")
m.Put("close", "Fermer")
m.Put("work_start", "Debut travail")
@@ -179,6 +184,7 @@ Private Sub CreateFrenchMap As Map
m.Put("set_config", "Activer config")
m.Put("reset_config", "Reinit config")
m.Put("clear_today", "Effacer aujourd'hui")
m.Put("include_pause_total", "Inclure les pauses dans le total")
m.Put("date", "Date")
m.Put("work", "Travail")
m.Put("pause_col", "Pause")
@@ -214,6 +220,7 @@ Private Sub CreateGermanMap As Map
m.Put("stats", "Statistik")
m.Put("config", "Konfig")
m.Put("bg", "Hint.")
m.Put("help", "Hilfe")
m.Put("statistics", "Statistik")
m.Put("close", "Schliessen")
m.Put("work_start", "Arbeitsbeginn")
@@ -223,6 +230,7 @@ Private Sub CreateGermanMap As Map
m.Put("set_config", "Konfig setzen")
m.Put("reset_config", "Konfig reset")
m.Put("clear_today", "Heute loschen")
m.Put("include_pause_total", "Pausen in Summe einbeziehen")
m.Put("date", "Datum")
m.Put("work", "Arbeit")
m.Put("pause_col", "Pause")
@@ -258,6 +266,7 @@ Private Sub CreateSpanishMap As Map
m.Put("stats", "Stats")
m.Put("config", "Config")
m.Put("bg", "Fondo")
m.Put("help", "Ayuda")
m.Put("statistics", "Estadisticas")
m.Put("close", "Cerrar")
m.Put("work_start", "Inicio trabajo")
@@ -267,6 +276,7 @@ Private Sub CreateSpanishMap As Map
m.Put("set_config", "Activar config")
m.Put("reset_config", "Reset config")
m.Put("clear_today", "Borrar hoy")
m.Put("include_pause_total", "Incluir pausas en el total")
m.Put("date", "Fecha")
m.Put("work", "Trabajo")
m.Put("pause_col", "Pausa")

Binary file not shown.

View File

@@ -39,421 +39,441 @@ _m.Put((Object)("stats"),(Object)("Stats"));
_m.Put((Object)("config"),(Object)("Config"));
//BA.debugLineNum = 78;BA.debugLine="m.Put(\"bg\", \"Bg\")";
_m.Put((Object)("bg"),(Object)("Bg"));
//BA.debugLineNum = 79;BA.debugLine="m.Put(\"statistics\", \"Statistics\")";
//BA.debugLineNum = 79;BA.debugLine="m.Put(\"help\", \"Help\")";
_m.Put((Object)("help"),(Object)("Help"));
//BA.debugLineNum = 80;BA.debugLine="m.Put(\"statistics\", \"Statistics\")";
_m.Put((Object)("statistics"),(Object)("Statistics"));
//BA.debugLineNum = 80;BA.debugLine="m.Put(\"close\", \"Close\")";
//BA.debugLineNum = 81;BA.debugLine="m.Put(\"close\", \"Close\")";
_m.Put((Object)("close"),(Object)("Close"));
//BA.debugLineNum = 81;BA.debugLine="m.Put(\"work_start\", \"Work start\")";
//BA.debugLineNum = 82;BA.debugLine="m.Put(\"work_start\", \"Work start\")";
_m.Put((Object)("work_start"),(Object)("Work start"));
//BA.debugLineNum = 82;BA.debugLine="m.Put(\"pause_start\", \"Pause start\")";
//BA.debugLineNum = 83;BA.debugLine="m.Put(\"pause_start\", \"Pause start\")";
_m.Put((Object)("pause_start"),(Object)("Pause start"));
//BA.debugLineNum = 83;BA.debugLine="m.Put(\"pause_end\", \"Pause end\")";
//BA.debugLineNum = 84;BA.debugLine="m.Put(\"pause_end\", \"Pause end\")";
_m.Put((Object)("pause_end"),(Object)("Pause end"));
//BA.debugLineNum = 84;BA.debugLine="m.Put(\"work_end\", \"Work end\")";
//BA.debugLineNum = 85;BA.debugLine="m.Put(\"work_end\", \"Work end\")";
_m.Put((Object)("work_end"),(Object)("Work end"));
//BA.debugLineNum = 85;BA.debugLine="m.Put(\"set_config\", \"Set config\")";
//BA.debugLineNum = 86;BA.debugLine="m.Put(\"set_config\", \"Set config\")";
_m.Put((Object)("set_config"),(Object)("Set config"));
//BA.debugLineNum = 86;BA.debugLine="m.Put(\"reset_config\", \"Reset config\")";
//BA.debugLineNum = 87;BA.debugLine="m.Put(\"reset_config\", \"Reset config\")";
_m.Put((Object)("reset_config"),(Object)("Reset config"));
//BA.debugLineNum = 87;BA.debugLine="m.Put(\"clear_today\", \"Clear today\")";
//BA.debugLineNum = 88;BA.debugLine="m.Put(\"clear_today\", \"Clear today\")";
_m.Put((Object)("clear_today"),(Object)("Clear today"));
//BA.debugLineNum = 88;BA.debugLine="m.Put(\"date\", \"Date\")";
//BA.debugLineNum = 89;BA.debugLine="m.Put(\"include_pause_total\", \"Include breaks in t";
_m.Put((Object)("include_pause_total"),(Object)("Include breaks in total"));
//BA.debugLineNum = 90;BA.debugLine="m.Put(\"date\", \"Date\")";
_m.Put((Object)("date"),(Object)("Date"));
//BA.debugLineNum = 89;BA.debugLine="m.Put(\"work\", \"Work\")";
//BA.debugLineNum = 91;BA.debugLine="m.Put(\"work\", \"Work\")";
_m.Put((Object)("work"),(Object)("Work"));
//BA.debugLineNum = 90;BA.debugLine="m.Put(\"pause_col\", \"Pause\")";
//BA.debugLineNum = 92;BA.debugLine="m.Put(\"pause_col\", \"Pause\")";
_m.Put((Object)("pause_col"),(Object)("Pause"));
//BA.debugLineNum = 91;BA.debugLine="m.Put(\"overtime\", \"Overtime\")";
//BA.debugLineNum = 93;BA.debugLine="m.Put(\"overtime\", \"Overtime\")";
_m.Put((Object)("overtime"),(Object)("Overtime"));
//BA.debugLineNum = 92;BA.debugLine="m.Put(\"totals\", \"Totals\")";
//BA.debugLineNum = 94;BA.debugLine="m.Put(\"totals\", \"Totals\")";
_m.Put((Object)("totals"),(Object)("Totals"));
//BA.debugLineNum = 93;BA.debugLine="m.Put(\"manual_mode\", \"Manual mode\")";
//BA.debugLineNum = 95;BA.debugLine="m.Put(\"manual_mode\", \"Manual mode\")";
_m.Put((Object)("manual_mode"),(Object)("Manual mode"));
//BA.debugLineNum = 94;BA.debugLine="m.Put(\"auto_recording\", \"Auto: recording...\")";
//BA.debugLineNum = 96;BA.debugLine="m.Put(\"auto_recording\", \"Auto: recording...\")";
_m.Put((Object)("auto_recording"),(Object)("Auto: recording..."));
//BA.debugLineNum = 95;BA.debugLine="m.Put(\"auto_paused\", \"Auto: paused...\")";
//BA.debugLineNum = 97;BA.debugLine="m.Put(\"auto_paused\", \"Auto: paused...\")";
_m.Put((Object)("auto_paused"),(Object)("Auto: paused..."));
//BA.debugLineNum = 96;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: stopped...\")";
//BA.debugLineNum = 98;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: stopped...\")";
_m.Put((Object)("auto_stopped"),(Object)("Auto: stopped..."));
//BA.debugLineNum = 97;BA.debugLine="m.Put(\"use_hhmm\", \"Use HH:MM times.\")";
//BA.debugLineNum = 99;BA.debugLine="m.Put(\"use_hhmm\", \"Use HH:MM times.\")";
_m.Put((Object)("use_hhmm"),(Object)("Use HH:MM times."));
//BA.debugLineNum = 98;BA.debugLine="m.Put(\"times_order\", \"Times must be in order.\")";
//BA.debugLineNum = 100;BA.debugLine="m.Put(\"times_order\", \"Times must be in order.\")";
_m.Put((Object)("times_order"),(Object)("Times must be in order."));
//BA.debugLineNum = 99;BA.debugLine="m.Put(\"work_exceed\", \"Configured work cannot exce";
//BA.debugLineNum = 101;BA.debugLine="m.Put(\"work_exceed\", \"Configured work cannot exce";
_m.Put((Object)("work_exceed"),(Object)("Configured work cannot exceed 8 hours."));
//BA.debugLineNum = 100;BA.debugLine="m.Put(\"auto_enabled\", \"Automatic config enabled.\"";
//BA.debugLineNum = 102;BA.debugLine="m.Put(\"auto_enabled\", \"Automatic config enabled.\"";
_m.Put((Object)("auto_enabled"),(Object)("Automatic config enabled."));
//BA.debugLineNum = 101;BA.debugLine="m.Put(\"auto_disabled\", \"Automatic config disabled";
//BA.debugLineNum = 103;BA.debugLine="m.Put(\"auto_disabled\", \"Automatic config disabled";
_m.Put((Object)("auto_disabled"),(Object)("Automatic config disabled."));
//BA.debugLineNum = 102;BA.debugLine="m.Put(\"no_day_to_clear\", \"No day to clear.\")";
//BA.debugLineNum = 104;BA.debugLine="m.Put(\"no_day_to_clear\", \"No day to clear.\")";
_m.Put((Object)("no_day_to_clear"),(Object)("No day to clear."));
//BA.debugLineNum = 103;BA.debugLine="m.Put(\"clear_today_title\", \"Clear today\")";
//BA.debugLineNum = 105;BA.debugLine="m.Put(\"clear_today_title\", \"Clear today\")";
_m.Put((Object)("clear_today_title"),(Object)("Clear today"));
//BA.debugLineNum = 104;BA.debugLine="m.Put(\"clear_today_confirm\", \"Clear all recorded";
//BA.debugLineNum = 106;BA.debugLine="m.Put(\"clear_today_confirm\", \"Clear all recorded";
_m.Put((Object)("clear_today_confirm"),(Object)("Clear all recorded data for"));
//BA.debugLineNum = 105;BA.debugLine="m.Put(\"clear_button\", \"Clear\")";
//BA.debugLineNum = 107;BA.debugLine="m.Put(\"clear_button\", \"Clear\")";
_m.Put((Object)("clear_button"),(Object)("Clear"));
//BA.debugLineNum = 106;BA.debugLine="m.Put(\"cancel\", \"Cancel\")";
//BA.debugLineNum = 108;BA.debugLine="m.Put(\"cancel\", \"Cancel\")";
_m.Put((Object)("cancel"),(Object)("Cancel"));
//BA.debugLineNum = 107;BA.debugLine="m.Put(\"today_cleared\", \"Today cleared.\")";
//BA.debugLineNum = 109;BA.debugLine="m.Put(\"today_cleared\", \"Today cleared.\")";
_m.Put((Object)("today_cleared"),(Object)("Today cleared."));
//BA.debugLineNum = 108;BA.debugLine="m.Put(\"limit_reached\", \"9-hour limit already reac";
//BA.debugLineNum = 110;BA.debugLine="m.Put(\"limit_reached\", \"9-hour limit already reac";
_m.Put((Object)("limit_reached"),(Object)("9-hour limit already reached for this workday."));
//BA.debugLineNum = 109;BA.debugLine="Return m";
//BA.debugLineNum = 111;BA.debugLine="Return m";
if (true) return _m;
//BA.debugLineNum = 110;BA.debugLine="End Sub";
//BA.debugLineNum = 112;BA.debugLine="End Sub";
return null;
}
public static anywheresoftware.b4a.objects.collections.Map _createfrenchmap(anywheresoftware.b4a.BA _ba) throws Exception{
anywheresoftware.b4a.objects.collections.Map _m = null;
//BA.debugLineNum = 156;BA.debugLine="Private Sub CreateFrenchMap As Map";
//BA.debugLineNum = 157;BA.debugLine="Dim m As Map";
//BA.debugLineNum = 160;BA.debugLine="Private Sub CreateFrenchMap As Map";
//BA.debugLineNum = 161;BA.debugLine="Dim m As Map";
_m = new anywheresoftware.b4a.objects.collections.Map();
//BA.debugLineNum = 158;BA.debugLine="m.Initialize";
//BA.debugLineNum = 162;BA.debugLine="m.Initialize";
_m.Initialize();
//BA.debugLineNum = 159;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
//BA.debugLineNum = 163;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
_m.Put((Object)("app_title"),(Object)("Overtime Guard"));
//BA.debugLineNum = 160;BA.debugLine="m.Put(\"start\", \"Demarrer\")";
//BA.debugLineNum = 164;BA.debugLine="m.Put(\"start\", \"Demarrer\")";
_m.Put((Object)("start"),(Object)("Demarrer"));
//BA.debugLineNum = 161;BA.debugLine="m.Put(\"end\", \"Arreter\")";
//BA.debugLineNum = 165;BA.debugLine="m.Put(\"end\", \"Arreter\")";
_m.Put((Object)("end"),(Object)("Arreter"));
//BA.debugLineNum = 162;BA.debugLine="m.Put(\"pause\", \"Pause\")";
//BA.debugLineNum = 166;BA.debugLine="m.Put(\"pause\", \"Pause\")";
_m.Put((Object)("pause"),(Object)("Pause"));
//BA.debugLineNum = 163;BA.debugLine="m.Put(\"end_pause\", \"Fin pause\")";
//BA.debugLineNum = 167;BA.debugLine="m.Put(\"end_pause\", \"Fin pause\")";
_m.Put((Object)("end_pause"),(Object)("Fin pause"));
//BA.debugLineNum = 164;BA.debugLine="m.Put(\"stats\", \"Stats\")";
//BA.debugLineNum = 168;BA.debugLine="m.Put(\"stats\", \"Stats\")";
_m.Put((Object)("stats"),(Object)("Stats"));
//BA.debugLineNum = 165;BA.debugLine="m.Put(\"config\", \"Config\")";
//BA.debugLineNum = 169;BA.debugLine="m.Put(\"config\", \"Config\")";
_m.Put((Object)("config"),(Object)("Config"));
//BA.debugLineNum = 166;BA.debugLine="m.Put(\"bg\", \"Fond\")";
//BA.debugLineNum = 170;BA.debugLine="m.Put(\"bg\", \"Fond\")";
_m.Put((Object)("bg"),(Object)("Fond"));
//BA.debugLineNum = 167;BA.debugLine="m.Put(\"statistics\", \"Statistiques\")";
//BA.debugLineNum = 171;BA.debugLine="m.Put(\"help\", \"Aide\")";
_m.Put((Object)("help"),(Object)("Aide"));
//BA.debugLineNum = 172;BA.debugLine="m.Put(\"statistics\", \"Statistiques\")";
_m.Put((Object)("statistics"),(Object)("Statistiques"));
//BA.debugLineNum = 168;BA.debugLine="m.Put(\"close\", \"Fermer\")";
//BA.debugLineNum = 173;BA.debugLine="m.Put(\"close\", \"Fermer\")";
_m.Put((Object)("close"),(Object)("Fermer"));
//BA.debugLineNum = 169;BA.debugLine="m.Put(\"work_start\", \"Debut travail\")";
//BA.debugLineNum = 174;BA.debugLine="m.Put(\"work_start\", \"Debut travail\")";
_m.Put((Object)("work_start"),(Object)("Debut travail"));
//BA.debugLineNum = 170;BA.debugLine="m.Put(\"pause_start\", \"Debut pause\")";
//BA.debugLineNum = 175;BA.debugLine="m.Put(\"pause_start\", \"Debut pause\")";
_m.Put((Object)("pause_start"),(Object)("Debut pause"));
//BA.debugLineNum = 171;BA.debugLine="m.Put(\"pause_end\", \"Fin pause\")";
//BA.debugLineNum = 176;BA.debugLine="m.Put(\"pause_end\", \"Fin pause\")";
_m.Put((Object)("pause_end"),(Object)("Fin pause"));
//BA.debugLineNum = 172;BA.debugLine="m.Put(\"work_end\", \"Fin travail\")";
//BA.debugLineNum = 177;BA.debugLine="m.Put(\"work_end\", \"Fin travail\")";
_m.Put((Object)("work_end"),(Object)("Fin travail"));
//BA.debugLineNum = 173;BA.debugLine="m.Put(\"set_config\", \"Activer config\")";
//BA.debugLineNum = 178;BA.debugLine="m.Put(\"set_config\", \"Activer config\")";
_m.Put((Object)("set_config"),(Object)("Activer config"));
//BA.debugLineNum = 174;BA.debugLine="m.Put(\"reset_config\", \"Reinit config\")";
//BA.debugLineNum = 179;BA.debugLine="m.Put(\"reset_config\", \"Reinit config\")";
_m.Put((Object)("reset_config"),(Object)("Reinit config"));
//BA.debugLineNum = 175;BA.debugLine="m.Put(\"clear_today\", \"Effacer aujourd'hui\")";
//BA.debugLineNum = 180;BA.debugLine="m.Put(\"clear_today\", \"Effacer aujourd'hui\")";
_m.Put((Object)("clear_today"),(Object)("Effacer aujourd'hui"));
//BA.debugLineNum = 176;BA.debugLine="m.Put(\"date\", \"Date\")";
//BA.debugLineNum = 181;BA.debugLine="m.Put(\"include_pause_total\", \"Inclure les pauses";
_m.Put((Object)("include_pause_total"),(Object)("Inclure les pauses dans le total"));
//BA.debugLineNum = 182;BA.debugLine="m.Put(\"date\", \"Date\")";
_m.Put((Object)("date"),(Object)("Date"));
//BA.debugLineNum = 177;BA.debugLine="m.Put(\"work\", \"Travail\")";
//BA.debugLineNum = 183;BA.debugLine="m.Put(\"work\", \"Travail\")";
_m.Put((Object)("work"),(Object)("Travail"));
//BA.debugLineNum = 178;BA.debugLine="m.Put(\"pause_col\", \"Pause\")";
//BA.debugLineNum = 184;BA.debugLine="m.Put(\"pause_col\", \"Pause\")";
_m.Put((Object)("pause_col"),(Object)("Pause"));
//BA.debugLineNum = 179;BA.debugLine="m.Put(\"overtime\", \"Heures sup.\")";
//BA.debugLineNum = 185;BA.debugLine="m.Put(\"overtime\", \"Heures sup.\")";
_m.Put((Object)("overtime"),(Object)("Heures sup."));
//BA.debugLineNum = 180;BA.debugLine="m.Put(\"totals\", \"Totaux\")";
//BA.debugLineNum = 186;BA.debugLine="m.Put(\"totals\", \"Totaux\")";
_m.Put((Object)("totals"),(Object)("Totaux"));
//BA.debugLineNum = 181;BA.debugLine="m.Put(\"manual_mode\", \"Mode manuel\")";
//BA.debugLineNum = 187;BA.debugLine="m.Put(\"manual_mode\", \"Mode manuel\")";
_m.Put((Object)("manual_mode"),(Object)("Mode manuel"));
//BA.debugLineNum = 182;BA.debugLine="m.Put(\"auto_recording\", \"Auto: enregistrement...\"";
//BA.debugLineNum = 188;BA.debugLine="m.Put(\"auto_recording\", \"Auto: enregistrement...\"";
_m.Put((Object)("auto_recording"),(Object)("Auto: enregistrement..."));
//BA.debugLineNum = 183;BA.debugLine="m.Put(\"auto_paused\", \"Auto: pause...\")";
//BA.debugLineNum = 189;BA.debugLine="m.Put(\"auto_paused\", \"Auto: pause...\")";
_m.Put((Object)("auto_paused"),(Object)("Auto: pause..."));
//BA.debugLineNum = 184;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: arrete...\")";
//BA.debugLineNum = 190;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: arrete...\")";
_m.Put((Object)("auto_stopped"),(Object)("Auto: arrete..."));
//BA.debugLineNum = 185;BA.debugLine="m.Put(\"use_hhmm\", \"Utilisez des heures HH:MM.\")";
//BA.debugLineNum = 191;BA.debugLine="m.Put(\"use_hhmm\", \"Utilisez des heures HH:MM.\")";
_m.Put((Object)("use_hhmm"),(Object)("Utilisez des heures HH:MM."));
//BA.debugLineNum = 186;BA.debugLine="m.Put(\"times_order\", \"Les heures doivent etre dan";
//BA.debugLineNum = 192;BA.debugLine="m.Put(\"times_order\", \"Les heures doivent etre dan";
_m.Put((Object)("times_order"),(Object)("Les heures doivent etre dans l'ordre."));
//BA.debugLineNum = 187;BA.debugLine="m.Put(\"work_exceed\", \"Le travail configure ne peu";
//BA.debugLineNum = 193;BA.debugLine="m.Put(\"work_exceed\", \"Le travail configure ne peu";
_m.Put((Object)("work_exceed"),(Object)("Le travail configure ne peut pas depasser 8 heures."));
//BA.debugLineNum = 188;BA.debugLine="m.Put(\"auto_enabled\", \"Configuration automatique";
//BA.debugLineNum = 194;BA.debugLine="m.Put(\"auto_enabled\", \"Configuration automatique";
_m.Put((Object)("auto_enabled"),(Object)("Configuration automatique activee."));
//BA.debugLineNum = 189;BA.debugLine="m.Put(\"auto_disabled\", \"Configuration automatique";
//BA.debugLineNum = 195;BA.debugLine="m.Put(\"auto_disabled\", \"Configuration automatique";
_m.Put((Object)("auto_disabled"),(Object)("Configuration automatique desactivee."));
//BA.debugLineNum = 190;BA.debugLine="m.Put(\"no_day_to_clear\", \"Aucun jour a effacer.\")";
//BA.debugLineNum = 196;BA.debugLine="m.Put(\"no_day_to_clear\", \"Aucun jour a effacer.\")";
_m.Put((Object)("no_day_to_clear"),(Object)("Aucun jour a effacer."));
//BA.debugLineNum = 191;BA.debugLine="m.Put(\"clear_today_title\", \"Effacer aujourd'hui\")";
//BA.debugLineNum = 197;BA.debugLine="m.Put(\"clear_today_title\", \"Effacer aujourd'hui\")";
_m.Put((Object)("clear_today_title"),(Object)("Effacer aujourd'hui"));
//BA.debugLineNum = 192;BA.debugLine="m.Put(\"clear_today_confirm\", \"Effacer toutes les";
//BA.debugLineNum = 198;BA.debugLine="m.Put(\"clear_today_confirm\", \"Effacer toutes les";
_m.Put((Object)("clear_today_confirm"),(Object)("Effacer toutes les donnees enregistrees pour"));
//BA.debugLineNum = 193;BA.debugLine="m.Put(\"clear_button\", \"Effacer\")";
//BA.debugLineNum = 199;BA.debugLine="m.Put(\"clear_button\", \"Effacer\")";
_m.Put((Object)("clear_button"),(Object)("Effacer"));
//BA.debugLineNum = 194;BA.debugLine="m.Put(\"cancel\", \"Annuler\")";
//BA.debugLineNum = 200;BA.debugLine="m.Put(\"cancel\", \"Annuler\")";
_m.Put((Object)("cancel"),(Object)("Annuler"));
//BA.debugLineNum = 195;BA.debugLine="m.Put(\"today_cleared\", \"Journee effacee.\")";
//BA.debugLineNum = 201;BA.debugLine="m.Put(\"today_cleared\", \"Journee effacee.\")";
_m.Put((Object)("today_cleared"),(Object)("Journee effacee."));
//BA.debugLineNum = 196;BA.debugLine="m.Put(\"limit_reached\", \"Limite de 9 heures deja a";
//BA.debugLineNum = 202;BA.debugLine="m.Put(\"limit_reached\", \"Limite de 9 heures deja a";
_m.Put((Object)("limit_reached"),(Object)("Limite de 9 heures deja atteinte pour cette journee."));
//BA.debugLineNum = 197;BA.debugLine="Return m";
//BA.debugLineNum = 203;BA.debugLine="Return m";
if (true) return _m;
//BA.debugLineNum = 198;BA.debugLine="End Sub";
//BA.debugLineNum = 204;BA.debugLine="End Sub";
return null;
}
public static anywheresoftware.b4a.objects.collections.Map _creategermanmap(anywheresoftware.b4a.BA _ba) throws Exception{
anywheresoftware.b4a.objects.collections.Map _m = null;
//BA.debugLineNum = 200;BA.debugLine="Private Sub CreateGermanMap As Map";
//BA.debugLineNum = 201;BA.debugLine="Dim m As Map";
//BA.debugLineNum = 206;BA.debugLine="Private Sub CreateGermanMap As Map";
//BA.debugLineNum = 207;BA.debugLine="Dim m As Map";
_m = new anywheresoftware.b4a.objects.collections.Map();
//BA.debugLineNum = 202;BA.debugLine="m.Initialize";
//BA.debugLineNum = 208;BA.debugLine="m.Initialize";
_m.Initialize();
//BA.debugLineNum = 203;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
//BA.debugLineNum = 209;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
_m.Put((Object)("app_title"),(Object)("Overtime Guard"));
//BA.debugLineNum = 204;BA.debugLine="m.Put(\"start\", \"Start\")";
//BA.debugLineNum = 210;BA.debugLine="m.Put(\"start\", \"Start\")";
_m.Put((Object)("start"),(Object)("Start"));
//BA.debugLineNum = 205;BA.debugLine="m.Put(\"end\", \"Stopp\")";
//BA.debugLineNum = 211;BA.debugLine="m.Put(\"end\", \"Stopp\")";
_m.Put((Object)("end"),(Object)("Stopp"));
//BA.debugLineNum = 206;BA.debugLine="m.Put(\"pause\", \"Pause\")";
//BA.debugLineNum = 212;BA.debugLine="m.Put(\"pause\", \"Pause\")";
_m.Put((Object)("pause"),(Object)("Pause"));
//BA.debugLineNum = 207;BA.debugLine="m.Put(\"end_pause\", \"Pause beenden\")";
//BA.debugLineNum = 213;BA.debugLine="m.Put(\"end_pause\", \"Pause beenden\")";
_m.Put((Object)("end_pause"),(Object)("Pause beenden"));
//BA.debugLineNum = 208;BA.debugLine="m.Put(\"stats\", \"Statistik\")";
//BA.debugLineNum = 214;BA.debugLine="m.Put(\"stats\", \"Statistik\")";
_m.Put((Object)("stats"),(Object)("Statistik"));
//BA.debugLineNum = 209;BA.debugLine="m.Put(\"config\", \"Konfig\")";
//BA.debugLineNum = 215;BA.debugLine="m.Put(\"config\", \"Konfig\")";
_m.Put((Object)("config"),(Object)("Konfig"));
//BA.debugLineNum = 210;BA.debugLine="m.Put(\"bg\", \"Hint.\")";
//BA.debugLineNum = 216;BA.debugLine="m.Put(\"bg\", \"Hint.\")";
_m.Put((Object)("bg"),(Object)("Hint."));
//BA.debugLineNum = 211;BA.debugLine="m.Put(\"statistics\", \"Statistik\")";
//BA.debugLineNum = 217;BA.debugLine="m.Put(\"help\", \"Hilfe\")";
_m.Put((Object)("help"),(Object)("Hilfe"));
//BA.debugLineNum = 218;BA.debugLine="m.Put(\"statistics\", \"Statistik\")";
_m.Put((Object)("statistics"),(Object)("Statistik"));
//BA.debugLineNum = 212;BA.debugLine="m.Put(\"close\", \"Schliessen\")";
//BA.debugLineNum = 219;BA.debugLine="m.Put(\"close\", \"Schliessen\")";
_m.Put((Object)("close"),(Object)("Schliessen"));
//BA.debugLineNum = 213;BA.debugLine="m.Put(\"work_start\", \"Arbeitsbeginn\")";
//BA.debugLineNum = 220;BA.debugLine="m.Put(\"work_start\", \"Arbeitsbeginn\")";
_m.Put((Object)("work_start"),(Object)("Arbeitsbeginn"));
//BA.debugLineNum = 214;BA.debugLine="m.Put(\"pause_start\", \"Pausenbeginn\")";
//BA.debugLineNum = 221;BA.debugLine="m.Put(\"pause_start\", \"Pausenbeginn\")";
_m.Put((Object)("pause_start"),(Object)("Pausenbeginn"));
//BA.debugLineNum = 215;BA.debugLine="m.Put(\"pause_end\", \"Pausenende\")";
//BA.debugLineNum = 222;BA.debugLine="m.Put(\"pause_end\", \"Pausenende\")";
_m.Put((Object)("pause_end"),(Object)("Pausenende"));
//BA.debugLineNum = 216;BA.debugLine="m.Put(\"work_end\", \"Arbeitsende\")";
//BA.debugLineNum = 223;BA.debugLine="m.Put(\"work_end\", \"Arbeitsende\")";
_m.Put((Object)("work_end"),(Object)("Arbeitsende"));
//BA.debugLineNum = 217;BA.debugLine="m.Put(\"set_config\", \"Konfig setzen\")";
//BA.debugLineNum = 224;BA.debugLine="m.Put(\"set_config\", \"Konfig setzen\")";
_m.Put((Object)("set_config"),(Object)("Konfig setzen"));
//BA.debugLineNum = 218;BA.debugLine="m.Put(\"reset_config\", \"Konfig reset\")";
//BA.debugLineNum = 225;BA.debugLine="m.Put(\"reset_config\", \"Konfig reset\")";
_m.Put((Object)("reset_config"),(Object)("Konfig reset"));
//BA.debugLineNum = 219;BA.debugLine="m.Put(\"clear_today\", \"Heute loschen\")";
//BA.debugLineNum = 226;BA.debugLine="m.Put(\"clear_today\", \"Heute loschen\")";
_m.Put((Object)("clear_today"),(Object)("Heute loschen"));
//BA.debugLineNum = 220;BA.debugLine="m.Put(\"date\", \"Datum\")";
//BA.debugLineNum = 227;BA.debugLine="m.Put(\"include_pause_total\", \"Pausen in Summe ein";
_m.Put((Object)("include_pause_total"),(Object)("Pausen in Summe einbeziehen"));
//BA.debugLineNum = 228;BA.debugLine="m.Put(\"date\", \"Datum\")";
_m.Put((Object)("date"),(Object)("Datum"));
//BA.debugLineNum = 221;BA.debugLine="m.Put(\"work\", \"Arbeit\")";
//BA.debugLineNum = 229;BA.debugLine="m.Put(\"work\", \"Arbeit\")";
_m.Put((Object)("work"),(Object)("Arbeit"));
//BA.debugLineNum = 222;BA.debugLine="m.Put(\"pause_col\", \"Pause\")";
//BA.debugLineNum = 230;BA.debugLine="m.Put(\"pause_col\", \"Pause\")";
_m.Put((Object)("pause_col"),(Object)("Pause"));
//BA.debugLineNum = 223;BA.debugLine="m.Put(\"overtime\", \"Uberzeit\")";
//BA.debugLineNum = 231;BA.debugLine="m.Put(\"overtime\", \"Uberzeit\")";
_m.Put((Object)("overtime"),(Object)("Uberzeit"));
//BA.debugLineNum = 224;BA.debugLine="m.Put(\"totals\", \"Summen\")";
//BA.debugLineNum = 232;BA.debugLine="m.Put(\"totals\", \"Summen\")";
_m.Put((Object)("totals"),(Object)("Summen"));
//BA.debugLineNum = 225;BA.debugLine="m.Put(\"manual_mode\", \"Manueller Modus\")";
//BA.debugLineNum = 233;BA.debugLine="m.Put(\"manual_mode\", \"Manueller Modus\")";
_m.Put((Object)("manual_mode"),(Object)("Manueller Modus"));
//BA.debugLineNum = 226;BA.debugLine="m.Put(\"auto_recording\", \"Auto: Aufnahme...\")";
//BA.debugLineNum = 234;BA.debugLine="m.Put(\"auto_recording\", \"Auto: Aufnahme...\")";
_m.Put((Object)("auto_recording"),(Object)("Auto: Aufnahme..."));
//BA.debugLineNum = 227;BA.debugLine="m.Put(\"auto_paused\", \"Auto: Pause...\")";
//BA.debugLineNum = 235;BA.debugLine="m.Put(\"auto_paused\", \"Auto: Pause...\")";
_m.Put((Object)("auto_paused"),(Object)("Auto: Pause..."));
//BA.debugLineNum = 228;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: gestoppt...\")";
//BA.debugLineNum = 236;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: gestoppt...\")";
_m.Put((Object)("auto_stopped"),(Object)("Auto: gestoppt..."));
//BA.debugLineNum = 229;BA.debugLine="m.Put(\"use_hhmm\", \"Bitte HH:MM verwenden.\")";
//BA.debugLineNum = 237;BA.debugLine="m.Put(\"use_hhmm\", \"Bitte HH:MM verwenden.\")";
_m.Put((Object)("use_hhmm"),(Object)("Bitte HH:MM verwenden."));
//BA.debugLineNum = 230;BA.debugLine="m.Put(\"times_order\", \"Die Zeiten muessen in Reihe";
//BA.debugLineNum = 238;BA.debugLine="m.Put(\"times_order\", \"Die Zeiten muessen in Reihe";
_m.Put((Object)("times_order"),(Object)("Die Zeiten muessen in Reihenfolge sein."));
//BA.debugLineNum = 231;BA.debugLine="m.Put(\"work_exceed\", \"Die konfigurierte Arbeit da";
//BA.debugLineNum = 239;BA.debugLine="m.Put(\"work_exceed\", \"Die konfigurierte Arbeit da";
_m.Put((Object)("work_exceed"),(Object)("Die konfigurierte Arbeit darf 8 Stunden nicht uberschreiten."));
//BA.debugLineNum = 232;BA.debugLine="m.Put(\"auto_enabled\", \"Automatische Konfiguration";
//BA.debugLineNum = 240;BA.debugLine="m.Put(\"auto_enabled\", \"Automatische Konfiguration";
_m.Put((Object)("auto_enabled"),(Object)("Automatische Konfiguration aktiviert."));
//BA.debugLineNum = 233;BA.debugLine="m.Put(\"auto_disabled\", \"Automatische Konfiguratio";
//BA.debugLineNum = 241;BA.debugLine="m.Put(\"auto_disabled\", \"Automatische Konfiguratio";
_m.Put((Object)("auto_disabled"),(Object)("Automatische Konfiguration deaktiviert."));
//BA.debugLineNum = 234;BA.debugLine="m.Put(\"no_day_to_clear\", \"Kein Tag zum Loschen.\")";
//BA.debugLineNum = 242;BA.debugLine="m.Put(\"no_day_to_clear\", \"Kein Tag zum Loschen.\")";
_m.Put((Object)("no_day_to_clear"),(Object)("Kein Tag zum Loschen."));
//BA.debugLineNum = 235;BA.debugLine="m.Put(\"clear_today_title\", \"Heute loschen\")";
//BA.debugLineNum = 243;BA.debugLine="m.Put(\"clear_today_title\", \"Heute loschen\")";
_m.Put((Object)("clear_today_title"),(Object)("Heute loschen"));
//BA.debugLineNum = 236;BA.debugLine="m.Put(\"clear_today_confirm\", \"Alle erfassten Date";
//BA.debugLineNum = 244;BA.debugLine="m.Put(\"clear_today_confirm\", \"Alle erfassten Date";
_m.Put((Object)("clear_today_confirm"),(Object)("Alle erfassten Daten loschen fur"));
//BA.debugLineNum = 237;BA.debugLine="m.Put(\"clear_button\", \"Loschen\")";
//BA.debugLineNum = 245;BA.debugLine="m.Put(\"clear_button\", \"Loschen\")";
_m.Put((Object)("clear_button"),(Object)("Loschen"));
//BA.debugLineNum = 238;BA.debugLine="m.Put(\"cancel\", \"Abbrechen\")";
//BA.debugLineNum = 246;BA.debugLine="m.Put(\"cancel\", \"Abbrechen\")";
_m.Put((Object)("cancel"),(Object)("Abbrechen"));
//BA.debugLineNum = 239;BA.debugLine="m.Put(\"today_cleared\", \"Heutige Daten geloscht.\")";
//BA.debugLineNum = 247;BA.debugLine="m.Put(\"today_cleared\", \"Heutige Daten geloscht.\")";
_m.Put((Object)("today_cleared"),(Object)("Heutige Daten geloscht."));
//BA.debugLineNum = 240;BA.debugLine="m.Put(\"limit_reached\", \"9-Stunden-Limit fur diese";
//BA.debugLineNum = 248;BA.debugLine="m.Put(\"limit_reached\", \"9-Stunden-Limit fur diese";
_m.Put((Object)("limit_reached"),(Object)("9-Stunden-Limit fur diesen Arbeitstag bereits erreicht."));
//BA.debugLineNum = 241;BA.debugLine="Return m";
//BA.debugLineNum = 249;BA.debugLine="Return m";
if (true) return _m;
//BA.debugLineNum = 242;BA.debugLine="End Sub";
//BA.debugLineNum = 250;BA.debugLine="End Sub";
return null;
}
public static anywheresoftware.b4a.objects.collections.Map _createitalianmap(anywheresoftware.b4a.BA _ba) throws Exception{
anywheresoftware.b4a.objects.collections.Map _m = null;
//BA.debugLineNum = 112;BA.debugLine="Private Sub CreateItalianMap As Map";
//BA.debugLineNum = 113;BA.debugLine="Dim m As Map";
//BA.debugLineNum = 114;BA.debugLine="Private Sub CreateItalianMap As Map";
//BA.debugLineNum = 115;BA.debugLine="Dim m As Map";
_m = new anywheresoftware.b4a.objects.collections.Map();
//BA.debugLineNum = 114;BA.debugLine="m.Initialize";
//BA.debugLineNum = 116;BA.debugLine="m.Initialize";
_m.Initialize();
//BA.debugLineNum = 115;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
//BA.debugLineNum = 117;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
_m.Put((Object)("app_title"),(Object)("Overtime Guard"));
//BA.debugLineNum = 116;BA.debugLine="m.Put(\"start\", \"Start\")";
//BA.debugLineNum = 118;BA.debugLine="m.Put(\"start\", \"Start\")";
_m.Put((Object)("start"),(Object)("Start"));
//BA.debugLineNum = 117;BA.debugLine="m.Put(\"end\", \"End\")";
//BA.debugLineNum = 119;BA.debugLine="m.Put(\"end\", \"End\")";
_m.Put((Object)("end"),(Object)("End"));
//BA.debugLineNum = 118;BA.debugLine="m.Put(\"pause\", \"Pausa\")";
//BA.debugLineNum = 120;BA.debugLine="m.Put(\"pause\", \"Pausa\")";
_m.Put((Object)("pause"),(Object)("Pausa"));
//BA.debugLineNum = 119;BA.debugLine="m.Put(\"end_pause\", \"Fine pausa\")";
//BA.debugLineNum = 121;BA.debugLine="m.Put(\"end_pause\", \"Fine pausa\")";
_m.Put((Object)("end_pause"),(Object)("Fine pausa"));
//BA.debugLineNum = 120;BA.debugLine="m.Put(\"stats\", \"Statistiche\")";
//BA.debugLineNum = 122;BA.debugLine="m.Put(\"stats\", \"Statistiche\")";
_m.Put((Object)("stats"),(Object)("Statistiche"));
//BA.debugLineNum = 121;BA.debugLine="m.Put(\"config\", \"Config\")";
//BA.debugLineNum = 123;BA.debugLine="m.Put(\"config\", \"Config\")";
_m.Put((Object)("config"),(Object)("Config"));
//BA.debugLineNum = 122;BA.debugLine="m.Put(\"bg\", \"Sfondo\")";
//BA.debugLineNum = 124;BA.debugLine="m.Put(\"bg\", \"Sfondo\")";
_m.Put((Object)("bg"),(Object)("Sfondo"));
//BA.debugLineNum = 123;BA.debugLine="m.Put(\"statistics\", \"Statistiche\")";
//BA.debugLineNum = 125;BA.debugLine="m.Put(\"help\", \"Help\")";
_m.Put((Object)("help"),(Object)("Help"));
//BA.debugLineNum = 126;BA.debugLine="m.Put(\"statistics\", \"Statistiche\")";
_m.Put((Object)("statistics"),(Object)("Statistiche"));
//BA.debugLineNum = 124;BA.debugLine="m.Put(\"close\", \"Chiudi\")";
//BA.debugLineNum = 127;BA.debugLine="m.Put(\"close\", \"Chiudi\")";
_m.Put((Object)("close"),(Object)("Chiudi"));
//BA.debugLineNum = 125;BA.debugLine="m.Put(\"work_start\", \"Inizio lavoro\")";
//BA.debugLineNum = 128;BA.debugLine="m.Put(\"work_start\", \"Inizio lavoro\")";
_m.Put((Object)("work_start"),(Object)("Inizio lavoro"));
//BA.debugLineNum = 126;BA.debugLine="m.Put(\"pause_start\", \"Inizio pausa\")";
//BA.debugLineNum = 129;BA.debugLine="m.Put(\"pause_start\", \"Inizio pausa\")";
_m.Put((Object)("pause_start"),(Object)("Inizio pausa"));
//BA.debugLineNum = 127;BA.debugLine="m.Put(\"pause_end\", \"Fine pausa\")";
//BA.debugLineNum = 130;BA.debugLine="m.Put(\"pause_end\", \"Fine pausa\")";
_m.Put((Object)("pause_end"),(Object)("Fine pausa"));
//BA.debugLineNum = 128;BA.debugLine="m.Put(\"work_end\", \"Fine lavoro\")";
//BA.debugLineNum = 131;BA.debugLine="m.Put(\"work_end\", \"Fine lavoro\")";
_m.Put((Object)("work_end"),(Object)("Fine lavoro"));
//BA.debugLineNum = 129;BA.debugLine="m.Put(\"set_config\", \"Imposta config\")";
//BA.debugLineNum = 132;BA.debugLine="m.Put(\"set_config\", \"Imposta config\")";
_m.Put((Object)("set_config"),(Object)("Imposta config"));
//BA.debugLineNum = 130;BA.debugLine="m.Put(\"reset_config\", \"Reset config\")";
//BA.debugLineNum = 133;BA.debugLine="m.Put(\"reset_config\", \"Reset config\")";
_m.Put((Object)("reset_config"),(Object)("Reset config"));
//BA.debugLineNum = 131;BA.debugLine="m.Put(\"clear_today\", \"Azzera oggi\")";
//BA.debugLineNum = 134;BA.debugLine="m.Put(\"clear_today\", \"Azzera oggi\")";
_m.Put((Object)("clear_today"),(Object)("Azzera oggi"));
//BA.debugLineNum = 132;BA.debugLine="m.Put(\"date\", \"Data\")";
//BA.debugLineNum = 135;BA.debugLine="m.Put(\"include_pause_total\", \"Includi pause nel t";
_m.Put((Object)("include_pause_total"),(Object)("Includi pause nel totale"));
//BA.debugLineNum = 136;BA.debugLine="m.Put(\"date\", \"Data\")";
_m.Put((Object)("date"),(Object)("Data"));
//BA.debugLineNum = 133;BA.debugLine="m.Put(\"work\", \"Lavoro\")";
//BA.debugLineNum = 137;BA.debugLine="m.Put(\"work\", \"Lavoro\")";
_m.Put((Object)("work"),(Object)("Lavoro"));
//BA.debugLineNum = 134;BA.debugLine="m.Put(\"pause_col\", \"Pausa\")";
//BA.debugLineNum = 138;BA.debugLine="m.Put(\"pause_col\", \"Pausa\")";
_m.Put((Object)("pause_col"),(Object)("Pausa"));
//BA.debugLineNum = 135;BA.debugLine="m.Put(\"overtime\", \"Straord.\")";
//BA.debugLineNum = 139;BA.debugLine="m.Put(\"overtime\", \"Straord.\")";
_m.Put((Object)("overtime"),(Object)("Straord."));
//BA.debugLineNum = 136;BA.debugLine="m.Put(\"totals\", \"Totali\")";
//BA.debugLineNum = 140;BA.debugLine="m.Put(\"totals\", \"Totali\")";
_m.Put((Object)("totals"),(Object)("Totali"));
//BA.debugLineNum = 137;BA.debugLine="m.Put(\"manual_mode\", \"Modalita manuale\")";
//BA.debugLineNum = 141;BA.debugLine="m.Put(\"manual_mode\", \"Modalita manuale\")";
_m.Put((Object)("manual_mode"),(Object)("Modalita manuale"));
//BA.debugLineNum = 138;BA.debugLine="m.Put(\"auto_recording\", \"Auto: registrazione...\")";
//BA.debugLineNum = 142;BA.debugLine="m.Put(\"auto_recording\", \"Auto: registrazione...\")";
_m.Put((Object)("auto_recording"),(Object)("Auto: registrazione..."));
//BA.debugLineNum = 139;BA.debugLine="m.Put(\"auto_paused\", \"Auto: pausa...\")";
//BA.debugLineNum = 143;BA.debugLine="m.Put(\"auto_paused\", \"Auto: pausa...\")";
_m.Put((Object)("auto_paused"),(Object)("Auto: pausa..."));
//BA.debugLineNum = 140;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: fermo...\")";
//BA.debugLineNum = 144;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: fermo...\")";
_m.Put((Object)("auto_stopped"),(Object)("Auto: fermo..."));
//BA.debugLineNum = 141;BA.debugLine="m.Put(\"use_hhmm\", \"Usa orari HH:MM.\")";
//BA.debugLineNum = 145;BA.debugLine="m.Put(\"use_hhmm\", \"Usa orari HH:MM.\")";
_m.Put((Object)("use_hhmm"),(Object)("Usa orari HH:MM."));
//BA.debugLineNum = 142;BA.debugLine="m.Put(\"times_order\", \"Gli orari devono essere in";
//BA.debugLineNum = 146;BA.debugLine="m.Put(\"times_order\", \"Gli orari devono essere in";
_m.Put((Object)("times_order"),(Object)("Gli orari devono essere in ordine."));
//BA.debugLineNum = 143;BA.debugLine="m.Put(\"work_exceed\", \"Il lavoro configurato non p";
//BA.debugLineNum = 147;BA.debugLine="m.Put(\"work_exceed\", \"Il lavoro configurato non p";
_m.Put((Object)("work_exceed"),(Object)("Il lavoro configurato non puo superare 8 ore."));
//BA.debugLineNum = 144;BA.debugLine="m.Put(\"auto_enabled\", \"Configurazione automatica";
//BA.debugLineNum = 148;BA.debugLine="m.Put(\"auto_enabled\", \"Configurazione automatica";
_m.Put((Object)("auto_enabled"),(Object)("Configurazione automatica attiva."));
//BA.debugLineNum = 145;BA.debugLine="m.Put(\"auto_disabled\", \"Configurazione automatica";
//BA.debugLineNum = 149;BA.debugLine="m.Put(\"auto_disabled\", \"Configurazione automatica";
_m.Put((Object)("auto_disabled"),(Object)("Configurazione automatica disattivata."));
//BA.debugLineNum = 146;BA.debugLine="m.Put(\"no_day_to_clear\", \"Nessun giorno da azzera";
//BA.debugLineNum = 150;BA.debugLine="m.Put(\"no_day_to_clear\", \"Nessun giorno da azzera";
_m.Put((Object)("no_day_to_clear"),(Object)("Nessun giorno da azzerare."));
//BA.debugLineNum = 147;BA.debugLine="m.Put(\"clear_today_title\", \"Azzera oggi\")";
//BA.debugLineNum = 151;BA.debugLine="m.Put(\"clear_today_title\", \"Azzera oggi\")";
_m.Put((Object)("clear_today_title"),(Object)("Azzera oggi"));
//BA.debugLineNum = 148;BA.debugLine="m.Put(\"clear_today_confirm\", \"Cancellare tutti i";
//BA.debugLineNum = 152;BA.debugLine="m.Put(\"clear_today_confirm\", \"Cancellare tutti i";
_m.Put((Object)("clear_today_confirm"),(Object)("Cancellare tutti i dati registrati per"));
//BA.debugLineNum = 149;BA.debugLine="m.Put(\"clear_button\", \"Azzera\")";
//BA.debugLineNum = 153;BA.debugLine="m.Put(\"clear_button\", \"Azzera\")";
_m.Put((Object)("clear_button"),(Object)("Azzera"));
//BA.debugLineNum = 150;BA.debugLine="m.Put(\"cancel\", \"Annulla\")";
//BA.debugLineNum = 154;BA.debugLine="m.Put(\"cancel\", \"Annulla\")";
_m.Put((Object)("cancel"),(Object)("Annulla"));
//BA.debugLineNum = 151;BA.debugLine="m.Put(\"today_cleared\", \"Giornata azzerata.\")";
//BA.debugLineNum = 155;BA.debugLine="m.Put(\"today_cleared\", \"Giornata azzerata.\")";
_m.Put((Object)("today_cleared"),(Object)("Giornata azzerata."));
//BA.debugLineNum = 152;BA.debugLine="m.Put(\"limit_reached\", \"Limite di 9 ore gia raggi";
//BA.debugLineNum = 156;BA.debugLine="m.Put(\"limit_reached\", \"Limite di 9 ore gia raggi";
_m.Put((Object)("limit_reached"),(Object)("Limite di 9 ore gia raggiunto per questa giornata."));
//BA.debugLineNum = 153;BA.debugLine="Return m";
//BA.debugLineNum = 157;BA.debugLine="Return m";
if (true) return _m;
//BA.debugLineNum = 154;BA.debugLine="End Sub";
//BA.debugLineNum = 158;BA.debugLine="End Sub";
return null;
}
public static anywheresoftware.b4a.objects.collections.Map _createspanishmap(anywheresoftware.b4a.BA _ba) throws Exception{
anywheresoftware.b4a.objects.collections.Map _m = null;
//BA.debugLineNum = 244;BA.debugLine="Private Sub CreateSpanishMap As Map";
//BA.debugLineNum = 245;BA.debugLine="Dim m As Map";
//BA.debugLineNum = 252;BA.debugLine="Private Sub CreateSpanishMap As Map";
//BA.debugLineNum = 253;BA.debugLine="Dim m As Map";
_m = new anywheresoftware.b4a.objects.collections.Map();
//BA.debugLineNum = 246;BA.debugLine="m.Initialize";
//BA.debugLineNum = 254;BA.debugLine="m.Initialize";
_m.Initialize();
//BA.debugLineNum = 247;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
//BA.debugLineNum = 255;BA.debugLine="m.Put(\"app_title\", \"Overtime Guard\")";
_m.Put((Object)("app_title"),(Object)("Overtime Guard"));
//BA.debugLineNum = 248;BA.debugLine="m.Put(\"start\", \"Iniciar\")";
//BA.debugLineNum = 256;BA.debugLine="m.Put(\"start\", \"Iniciar\")";
_m.Put((Object)("start"),(Object)("Iniciar"));
//BA.debugLineNum = 249;BA.debugLine="m.Put(\"end\", \"Detener\")";
//BA.debugLineNum = 257;BA.debugLine="m.Put(\"end\", \"Detener\")";
_m.Put((Object)("end"),(Object)("Detener"));
//BA.debugLineNum = 250;BA.debugLine="m.Put(\"pause\", \"Pausa\")";
//BA.debugLineNum = 258;BA.debugLine="m.Put(\"pause\", \"Pausa\")";
_m.Put((Object)("pause"),(Object)("Pausa"));
//BA.debugLineNum = 251;BA.debugLine="m.Put(\"end_pause\", \"Fin pausa\")";
//BA.debugLineNum = 259;BA.debugLine="m.Put(\"end_pause\", \"Fin pausa\")";
_m.Put((Object)("end_pause"),(Object)("Fin pausa"));
//BA.debugLineNum = 252;BA.debugLine="m.Put(\"stats\", \"Stats\")";
//BA.debugLineNum = 260;BA.debugLine="m.Put(\"stats\", \"Stats\")";
_m.Put((Object)("stats"),(Object)("Stats"));
//BA.debugLineNum = 253;BA.debugLine="m.Put(\"config\", \"Config\")";
//BA.debugLineNum = 261;BA.debugLine="m.Put(\"config\", \"Config\")";
_m.Put((Object)("config"),(Object)("Config"));
//BA.debugLineNum = 254;BA.debugLine="m.Put(\"bg\", \"Fondo\")";
//BA.debugLineNum = 262;BA.debugLine="m.Put(\"bg\", \"Fondo\")";
_m.Put((Object)("bg"),(Object)("Fondo"));
//BA.debugLineNum = 255;BA.debugLine="m.Put(\"statistics\", \"Estadisticas\")";
//BA.debugLineNum = 263;BA.debugLine="m.Put(\"help\", \"Ayuda\")";
_m.Put((Object)("help"),(Object)("Ayuda"));
//BA.debugLineNum = 264;BA.debugLine="m.Put(\"statistics\", \"Estadisticas\")";
_m.Put((Object)("statistics"),(Object)("Estadisticas"));
//BA.debugLineNum = 256;BA.debugLine="m.Put(\"close\", \"Cerrar\")";
//BA.debugLineNum = 265;BA.debugLine="m.Put(\"close\", \"Cerrar\")";
_m.Put((Object)("close"),(Object)("Cerrar"));
//BA.debugLineNum = 257;BA.debugLine="m.Put(\"work_start\", \"Inicio trabajo\")";
//BA.debugLineNum = 266;BA.debugLine="m.Put(\"work_start\", \"Inicio trabajo\")";
_m.Put((Object)("work_start"),(Object)("Inicio trabajo"));
//BA.debugLineNum = 258;BA.debugLine="m.Put(\"pause_start\", \"Inicio pausa\")";
//BA.debugLineNum = 267;BA.debugLine="m.Put(\"pause_start\", \"Inicio pausa\")";
_m.Put((Object)("pause_start"),(Object)("Inicio pausa"));
//BA.debugLineNum = 259;BA.debugLine="m.Put(\"pause_end\", \"Fin pausa\")";
//BA.debugLineNum = 268;BA.debugLine="m.Put(\"pause_end\", \"Fin pausa\")";
_m.Put((Object)("pause_end"),(Object)("Fin pausa"));
//BA.debugLineNum = 260;BA.debugLine="m.Put(\"work_end\", \"Fin trabajo\")";
//BA.debugLineNum = 269;BA.debugLine="m.Put(\"work_end\", \"Fin trabajo\")";
_m.Put((Object)("work_end"),(Object)("Fin trabajo"));
//BA.debugLineNum = 261;BA.debugLine="m.Put(\"set_config\", \"Activar config\")";
//BA.debugLineNum = 270;BA.debugLine="m.Put(\"set_config\", \"Activar config\")";
_m.Put((Object)("set_config"),(Object)("Activar config"));
//BA.debugLineNum = 262;BA.debugLine="m.Put(\"reset_config\", \"Reset config\")";
//BA.debugLineNum = 271;BA.debugLine="m.Put(\"reset_config\", \"Reset config\")";
_m.Put((Object)("reset_config"),(Object)("Reset config"));
//BA.debugLineNum = 263;BA.debugLine="m.Put(\"clear_today\", \"Borrar hoy\")";
//BA.debugLineNum = 272;BA.debugLine="m.Put(\"clear_today\", \"Borrar hoy\")";
_m.Put((Object)("clear_today"),(Object)("Borrar hoy"));
//BA.debugLineNum = 264;BA.debugLine="m.Put(\"date\", \"Fecha\")";
//BA.debugLineNum = 273;BA.debugLine="m.Put(\"include_pause_total\", \"Incluir pausas en e";
_m.Put((Object)("include_pause_total"),(Object)("Incluir pausas en el total"));
//BA.debugLineNum = 274;BA.debugLine="m.Put(\"date\", \"Fecha\")";
_m.Put((Object)("date"),(Object)("Fecha"));
//BA.debugLineNum = 265;BA.debugLine="m.Put(\"work\", \"Trabajo\")";
//BA.debugLineNum = 275;BA.debugLine="m.Put(\"work\", \"Trabajo\")";
_m.Put((Object)("work"),(Object)("Trabajo"));
//BA.debugLineNum = 266;BA.debugLine="m.Put(\"pause_col\", \"Pausa\")";
//BA.debugLineNum = 276;BA.debugLine="m.Put(\"pause_col\", \"Pausa\")";
_m.Put((Object)("pause_col"),(Object)("Pausa"));
//BA.debugLineNum = 267;BA.debugLine="m.Put(\"overtime\", \"Extra\")";
//BA.debugLineNum = 277;BA.debugLine="m.Put(\"overtime\", \"Extra\")";
_m.Put((Object)("overtime"),(Object)("Extra"));
//BA.debugLineNum = 268;BA.debugLine="m.Put(\"totals\", \"Totales\")";
//BA.debugLineNum = 278;BA.debugLine="m.Put(\"totals\", \"Totales\")";
_m.Put((Object)("totals"),(Object)("Totales"));
//BA.debugLineNum = 269;BA.debugLine="m.Put(\"manual_mode\", \"Modo manual\")";
//BA.debugLineNum = 279;BA.debugLine="m.Put(\"manual_mode\", \"Modo manual\")";
_m.Put((Object)("manual_mode"),(Object)("Modo manual"));
//BA.debugLineNum = 270;BA.debugLine="m.Put(\"auto_recording\", \"Auto: grabando...\")";
//BA.debugLineNum = 280;BA.debugLine="m.Put(\"auto_recording\", \"Auto: grabando...\")";
_m.Put((Object)("auto_recording"),(Object)("Auto: grabando..."));
//BA.debugLineNum = 271;BA.debugLine="m.Put(\"auto_paused\", \"Auto: pausa...\")";
//BA.debugLineNum = 281;BA.debugLine="m.Put(\"auto_paused\", \"Auto: pausa...\")";
_m.Put((Object)("auto_paused"),(Object)("Auto: pausa..."));
//BA.debugLineNum = 272;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: detenido...\")";
//BA.debugLineNum = 282;BA.debugLine="m.Put(\"auto_stopped\", \"Auto: detenido...\")";
_m.Put((Object)("auto_stopped"),(Object)("Auto: detenido..."));
//BA.debugLineNum = 273;BA.debugLine="m.Put(\"use_hhmm\", \"Usa horas HH:MM.\")";
//BA.debugLineNum = 283;BA.debugLine="m.Put(\"use_hhmm\", \"Usa horas HH:MM.\")";
_m.Put((Object)("use_hhmm"),(Object)("Usa horas HH:MM."));
//BA.debugLineNum = 274;BA.debugLine="m.Put(\"times_order\", \"Las horas deben estar en or";
//BA.debugLineNum = 284;BA.debugLine="m.Put(\"times_order\", \"Las horas deben estar en or";
_m.Put((Object)("times_order"),(Object)("Las horas deben estar en orden."));
//BA.debugLineNum = 275;BA.debugLine="m.Put(\"work_exceed\", \"El trabajo configurado no p";
//BA.debugLineNum = 285;BA.debugLine="m.Put(\"work_exceed\", \"El trabajo configurado no p";
_m.Put((Object)("work_exceed"),(Object)("El trabajo configurado no puede superar 8 horas."));
//BA.debugLineNum = 276;BA.debugLine="m.Put(\"auto_enabled\", \"Configuracion automatica a";
//BA.debugLineNum = 286;BA.debugLine="m.Put(\"auto_enabled\", \"Configuracion automatica a";
_m.Put((Object)("auto_enabled"),(Object)("Configuracion automatica activada."));
//BA.debugLineNum = 277;BA.debugLine="m.Put(\"auto_disabled\", \"Configuracion automatica";
//BA.debugLineNum = 287;BA.debugLine="m.Put(\"auto_disabled\", \"Configuracion automatica";
_m.Put((Object)("auto_disabled"),(Object)("Configuracion automatica desactivada."));
//BA.debugLineNum = 278;BA.debugLine="m.Put(\"no_day_to_clear\", \"No hay dia para borrar.";
//BA.debugLineNum = 288;BA.debugLine="m.Put(\"no_day_to_clear\", \"No hay dia para borrar.";
_m.Put((Object)("no_day_to_clear"),(Object)("No hay dia para borrar."));
//BA.debugLineNum = 279;BA.debugLine="m.Put(\"clear_today_title\", \"Borrar hoy\")";
//BA.debugLineNum = 289;BA.debugLine="m.Put(\"clear_today_title\", \"Borrar hoy\")";
_m.Put((Object)("clear_today_title"),(Object)("Borrar hoy"));
//BA.debugLineNum = 280;BA.debugLine="m.Put(\"clear_today_confirm\", \"Borrar todos los da";
//BA.debugLineNum = 290;BA.debugLine="m.Put(\"clear_today_confirm\", \"Borrar todos los da";
_m.Put((Object)("clear_today_confirm"),(Object)("Borrar todos los datos registrados de"));
//BA.debugLineNum = 281;BA.debugLine="m.Put(\"clear_button\", \"Borrar\")";
//BA.debugLineNum = 291;BA.debugLine="m.Put(\"clear_button\", \"Borrar\")";
_m.Put((Object)("clear_button"),(Object)("Borrar"));
//BA.debugLineNum = 282;BA.debugLine="m.Put(\"cancel\", \"Cancelar\")";
//BA.debugLineNum = 292;BA.debugLine="m.Put(\"cancel\", \"Cancelar\")";
_m.Put((Object)("cancel"),(Object)("Cancelar"));
//BA.debugLineNum = 283;BA.debugLine="m.Put(\"today_cleared\", \"Dia borrado.\")";
//BA.debugLineNum = 293;BA.debugLine="m.Put(\"today_cleared\", \"Dia borrado.\")";
_m.Put((Object)("today_cleared"),(Object)("Dia borrado."));
//BA.debugLineNum = 284;BA.debugLine="m.Put(\"limit_reached\", \"Limite de 9 horas ya alca";
//BA.debugLineNum = 294;BA.debugLine="m.Put(\"limit_reached\", \"Limite de 9 horas ya alca";
_m.Put((Object)("limit_reached"),(Object)("Limite de 9 horas ya alcanzado para esta jornada."));
//BA.debugLineNum = 285;BA.debugLine="Return m";
//BA.debugLineNum = 295;BA.debugLine="Return m";
if (true) return _m;
//BA.debugLineNum = 286;BA.debugLine="End Sub";
//BA.debugLineNum = 296;BA.debugLine="End Sub";
return null;
}
public static String _currentlanguagecode(anywheresoftware.b4a.BA _ba) throws Exception{

File diff suppressed because it is too large Load Diff

View File

@@ -35,6 +35,7 @@ Sub Process_Globals
Private StatsFileName As String
Private StateFileName As String
Private AutoConfigFileName As String
Private SettingsFileName As String
Private MaxStoredDays As Int
End Sub
@@ -50,13 +51,20 @@ Sub Globals
Private BtnConfigSave As Button
Private BtnConfigReset As Button
Private BtnClearToday As Button
Private BtnHelpOpen As Button
Private BtnHelpClose As Button
Private chkIncludePauses As CheckBox
Private BtnBackground As Label
Private lblAppName As Label
Private lblBrandInfo As Label
Private lblElapsedTime As Label
Private lblAutoStatus As Label
Private pnlClock As Panel
Private pnlStats As Panel
Private pnlConfig As Panel
Private pnlHelp As Panel
Private svStats As ScrollView
Private svHelp As ScrollView
Private txtCfgStart As EditText
Private txtCfgPauseStart As EditText
Private txtCfgPauseEnd As EditText
@@ -79,6 +87,7 @@ Sub Globals
Private AutoEndMinutes As Int
Private AutoState As String
Private LastActiveStateSaveAt As Long
Private IncludePauseInTotal As Boolean
End Sub
Sub Activity_Create(FirstTime As Boolean)
@@ -96,7 +105,9 @@ Sub Activity_Create(FirstTime As Boolean)
StatsFileName = "work_segments.txt"
StateFileName = "active_state.txt"
AutoConfigFileName = "auto_config.txt"
SettingsFileName = "app_settings.txt"
MaxStoredDays = 62
IncludePauseInTotal = True
myClock.Initialize(pnlClock, 96)
myClock.SetBaseDuration(12 * DateTime.TicksPerHour)
@@ -106,12 +117,16 @@ Sub Activity_Create(FirstTime As Boolean)
StatsRows.Initialize
LoadStatsRows
LoadSettings
HideLegacyButtons
CreateStatsButton
CreateStatsPage
CreateConfigButton
CreateConfigPage
CreateHelpPage
CreateBackgroundButton
CreateAppNameLabel
CreateBrandInfoLabel
CreateAutoStatusLabel
LayoutMainButtons
LoadAutoConfig
@@ -202,6 +217,25 @@ Private Sub CreateBackgroundButton
Activity.AddView(BtnBackground, BtnPause.Left, BtnPause.Top, BtnPause.Width, BtnPause.Height)
End Sub
Private Sub CreateAppNameLabel
lblAppName.Initialize("")
lblAppName.Text = Localization.T("app_title")
lblAppName.TextColor = Colors.Black
lblAppName.TextSize = 22
lblAppName.Typeface = Typeface.CreateNew(Typeface.SANS_SERIF, Typeface.STYLE_BOLD_ITALIC)
lblAppName.Gravity = Gravity.CENTER
Activity.AddView(lblAppName, 0, 0, 10dip, 10dip)
End Sub
Private Sub CreateBrandInfoLabel
lblBrandInfo.Initialize("")
lblBrandInfo.Text = "AI Team | aiteam.ai"
lblBrandInfo.TextColor = Colors.RGB(90, 90, 90)
lblBrandInfo.TextSize = 11
lblBrandInfo.Gravity = Gravity.CENTER
Activity.AddView(lblBrandInfo, 0, 0, 10dip, 10dip)
End Sub
Private Sub LayoutMainButtons
Dim margin As Int = 8dip
Dim gap As Int = 8dip
@@ -228,6 +262,13 @@ Private Sub LayoutMainButtons
BtnBackground.SetLayout(margin, row2Top, smallButtonWidth, buttonHeight)
BtnStats.SetLayout(margin + smallButtonWidth + gap, row2Top, smallButtonWidth, buttonHeight)
BtnConfig.SetLayout(margin + (2 * (smallButtonWidth + gap)), row2Top, smallButtonWidth, buttonHeight)
If lblAppName.IsInitialized Then
Dim titleTop As Int = pnlClock.Top + pnlClock.Height + 4dip
Dim titleHeight As Int = Max(28dip, row1Top - titleTop - 4dip)
Dim appNameHeight As Int = Max(24dip, titleHeight * 0.58)
lblAppName.SetLayout(0, titleTop, Activity.Width, appNameHeight)
If lblBrandInfo.IsInitialized Then lblBrandInfo.SetLayout(0, titleTop + appNameHeight - 2dip, Activity.Width, Max(18dip, titleHeight - appNameHeight + 2dip))
End If
If lblElapsedTime.IsInitialized Then lblElapsedTime.SetLayout(0, labelTop, Activity.Width * 0.58, 28dip)
If lblAutoStatus.IsInitialized Then lblAutoStatus.SetLayout(Activity.Width * 0.58, labelTop, Activity.Width * 0.42, 28dip)
End Sub
@@ -274,18 +315,60 @@ Private Sub CreateConfigPage
txtCfgPauseEnd = AddConfigField(Localization.T("pause_end"), "13:00", y)
y = y + 58dip
txtCfgEnd = AddConfigField(Localization.T("work_end"), "17:00", y)
y = y + 58dip
chkIncludePauses.Initialize("chkIncludePauses")
chkIncludePauses.Text = Localization.T("include_pause_total")
chkIncludePauses.TextSize = 15
chkIncludePauses.Checked = IncludePauseInTotal
pnlConfig.AddView(chkIncludePauses, 12dip, y, Activity.Width - 24dip, 48dip)
BtnConfigSave.Initialize("BtnConfigSave")
BtnConfigSave.Text = Localization.T("set_config")
pnlConfig.AddView(BtnConfigSave, 12dip, y + 70dip, (Activity.Width - 32dip) / 2, 48dip)
pnlConfig.AddView(BtnConfigSave, 12dip, y + 56dip, (Activity.Width - 32dip) / 2, 48dip)
BtnConfigReset.Initialize("BtnConfigReset")
BtnConfigReset.Text = Localization.T("reset_config")
pnlConfig.AddView(BtnConfigReset, 20dip + ((Activity.Width - 32dip) / 2), y + 70dip, (Activity.Width - 32dip) / 2, 48dip)
pnlConfig.AddView(BtnConfigReset, 20dip + ((Activity.Width - 32dip) / 2), y + 56dip, (Activity.Width - 32dip) / 2, 48dip)
BtnClearToday.Initialize("BtnClearToday")
BtnClearToday.Text = Localization.T("clear_today")
pnlConfig.AddView(BtnClearToday, 12dip, y + 126dip, Activity.Width - 24dip, 48dip)
pnlConfig.AddView(BtnClearToday, 12dip, y + 112dip, Activity.Width - 24dip, 48dip)
BtnHelpOpen.Initialize("BtnHelpOpen")
BtnHelpOpen.Text = Localization.T("help")
pnlConfig.AddView(BtnHelpOpen, 12dip, y + 168dip, Activity.Width - 24dip, 48dip)
End Sub
Private Sub CreateHelpPage
pnlHelp.Initialize("")
pnlHelp.Color = Colors.White
pnlHelp.Visible = False
Activity.AddView(pnlHelp, 0, 0, Activity.Width, Activity.Height)
Dim title As Label
title.Initialize("")
title.Text = Localization.T("help")
title.TextSize = 22
title.TextColor = Colors.Black
title.Gravity = Gravity.CENTER_VERTICAL
pnlHelp.AddView(title, 12dip, 8dip, Activity.Width - 110dip, 46dip)
BtnHelpClose.Initialize("BtnHelpClose")
BtnHelpClose.Text = Localization.T("close")
pnlHelp.AddView(BtnHelpClose, Activity.Width - 94dip, 8dip, 84dip, 46dip)
svHelp.Initialize(0)
pnlHelp.AddView(svHelp, 0, 62dip, Activity.Width, Activity.Height - 62dip)
Dim lblHelp As Label
lblHelp.Initialize("")
lblHelp.Text = BuildHelpText
lblHelp.TextSize = 16
lblHelp.TextColor = Colors.Black
lblHelp.Gravity = Gravity.TOP
svHelp.Panel.AddView(lblHelp, 12dip, 12dip, Activity.Width - 24dip, 1180dip)
svHelp.Panel.Height = 1204dip
End Sub
Private Sub AddConfigField(LabelText As String, ValueText As String, y As Int) As EditText
@@ -393,10 +476,24 @@ Sub BtnConfigReset_Click
ResetAutomaticConfig
End Sub
Sub chkIncludePauses_CheckedChange(Checked As Boolean)
IncludePauseInTotal = Checked
SaveSettings
ApplyPauseCountingMode
End Sub
Sub BtnClearToday_Click
ClearDisplayedDay
End Sub
Sub BtnHelpOpen_Click
ShowHelpPage
End Sub
Sub BtnHelpClose_Click
ShowConfigPage
End Sub
Sub BtnBackground_Click
SaveActiveState
Dim home As Intent
@@ -507,6 +604,7 @@ Private Sub CloseCurrentSegment(FinalTime As Long)
If duration <= 0 Then Return
If PauseActive Then
RecordSegment(CurrentSegmentStart, duration, Colors.Yellow, True)
If IncludePauseInTotal Then ProductiveElapsedMs = ProductiveElapsedMs + duration
Else
RecordSegment(CurrentSegmentStart, duration, GetCurrentWorkColor, False)
ProductiveElapsedMs = ProductiveElapsedMs + duration
@@ -534,6 +632,20 @@ Private Sub AddStatsSegment(DayStart As Long, DayKey As Long, SegmentStart As Lo
End Sub
Private Sub ProcessActivePauseSegment(now As Long)
If IncludePauseInTotal Then
Dim remainingToLimit As Long = MaxProductiveMs - ProductiveElapsedMs
If remainingToLimit <= 0 Then
EndSession(CurrentSegmentStart, True)
Log("Workday stopped automatically during pause: 9-hour limit reached.")
Return
End If
Dim limitTime As Long = CurrentSegmentStart + remainingToLimit
If limitTime <= GetNextMidnight(CurrentSegmentStart) And now >= limitTime Then
EndSession(limitTime, True)
Log("Workday stopped automatically during pause: 9-hour limit reached.")
Return
End If
End If
Dim midnight As Long = GetNextMidnight(CurrentSegmentStart)
If now >= midnight Then
EndSession(midnight, True)
@@ -610,6 +722,7 @@ End Sub
Private Sub GetDisplayedProductiveElapsed(now As Long) As Long
Dim total As Long = ProductiveElapsedMs
If SessionActive And PauseActive And IncludePauseInTotal Then total = total + Max(0, now - CurrentSegmentStart)
If SessionActive And PauseActive = False Then total = total + Max(0, now - CurrentSegmentStart)
Return total
End Sub
@@ -620,6 +733,7 @@ Private Sub GetProductiveTotalForWorkDay(DayKey As Long) As Long
If row.Get("dayKey") = DayKey Then
Dim category As String = row.Get("category")
If category = "lavoro" Or category = "straordinario" Then total = total + row.Get("duration")
If IncludePauseInTotal And category = "pausa" Then total = total + row.Get("duration")
End If
Next
Return total
@@ -633,6 +747,7 @@ Private Sub LoadWorkDaySegmentsIntoClock(DayKey As Long)
Dim duration As Long = row.Get("duration")
If category = "pausa" Then
myClock.AddSegment(duration, Colors.Yellow, True)
If IncludePauseInTotal Then productiveCursor = productiveCursor + duration
Else
AddDisplayProductiveSegment(duration, productiveCursor)
productiveCursor = productiveCursor + duration
@@ -774,8 +889,7 @@ Private Sub RestoreActiveState
CurrentWorkDayStart = lines.Get(0)
CurrentWorkDayKey = CurrentWorkDayStart
CurrentSegmentStart = lines.Get(1)
ProductiveElapsedMs = lines.Get(2)
ProductiveElapsedMs = Max(ProductiveElapsedMs, GetProductiveTotalForWorkDay(CurrentWorkDayKey))
ProductiveElapsedMs = GetProductiveTotalForWorkDay(CurrentWorkDayKey)
PauseActive = lines.Get(3)
CurrentSegmentColor = lines.Get(4)
@@ -830,6 +944,7 @@ Private Sub ShowStatsPage
SetMainControlsVisible(False)
pnlStats.Visible = True
pnlConfig.Visible = False
pnlHelp.Visible = False
pnlStats.BringToFront
End Sub
@@ -841,6 +956,7 @@ Private Sub SetMainControlsVisible(Visible As Boolean)
HideLegacyButtons
pnlStats.Visible = False
pnlConfig.Visible = False
pnlHelp.Visible = False
End Sub
Private Sub HideLegacyButtons
@@ -869,13 +985,23 @@ Private Sub ShowConfigPage
SetMainControlsVisible(False)
pnlStats.Visible = False
pnlConfig.Visible = True
pnlHelp.Visible = False
pnlConfig.BringToFront
End Sub
Private Sub ShowHelpPage
SetMainControlsVisible(False)
pnlStats.Visible = False
pnlConfig.Visible = False
pnlHelp.Visible = True
pnlHelp.BringToFront
End Sub
Private Sub ShowMainPage
SetMainControlsVisible(True)
pnlStats.Visible = False
pnlConfig.Visible = False
pnlHelp.Visible = False
End Sub
Private Sub BuildStatsTable
@@ -946,7 +1072,9 @@ Private Sub SetAutomaticConfig
Return
End If
Dim workMinutes As Int = (pauseStartMinutes - startMinutes) + (endMinutes - pauseEndMinutes)
If workMinutes > 480 Then
Dim countedMinutes As Int = workMinutes
If IncludePauseInTotal Then countedMinutes = endMinutes - startMinutes
If countedMinutes > 480 Then
ToastMessageShow(Localization.T("work_exceed"), False)
Return
End If
@@ -982,6 +1110,13 @@ Private Sub SaveAutoConfig
File.WriteList(File.DirInternal, AutoConfigFileName, lines)
End Sub
Private Sub SaveSettings
Dim lines As List
lines.Initialize
lines.Add(IncludePauseInTotal)
File.WriteList(File.DirInternal, SettingsFileName, lines)
End Sub
Private Sub LoadAutoConfig
AutoModeEnabled = False
AutoState = "stopped"
@@ -999,6 +1134,14 @@ Private Sub LoadAutoConfig
txtCfgEnd.Text = MinutesToTime(AutoEndMinutes)
End Sub
Private Sub LoadSettings
IncludePauseInTotal = True
If File.Exists(File.DirInternal, SettingsFileName) = False Then Return
Dim lines As List = File.ReadList(File.DirInternal, SettingsFileName)
If lines.Size = 0 Then Return
IncludePauseInTotal = ParseBooleanValue(lines.Get(0), True)
End Sub
Private Sub ParseTimeToMinutes(Value As String) As Int
Dim parts() As String = Regex.Split(":", Value.Trim)
If parts.Length <> 2 Then Return -1
@@ -1115,6 +1258,57 @@ Private Sub ClearDisplayedDay
ToastMessageShow(Localization.T("today_cleared"), False)
End Sub
Private Sub ApplyPauseCountingMode
If chkIncludePauses.IsInitialized And chkIncludePauses.Checked <> IncludePauseInTotal Then chkIncludePauses.Checked = IncludePauseInTotal
Dim now As Long = DateTime.Now
If SessionActive Then
ProductiveElapsedMs = GetProductiveTotalForWorkDay(CurrentWorkDayKey)
If PauseActive Then
ProcessActivePauseSegment(now)
If SessionActive = False Then
UpdateElapsedLabel
Return
End If
CurrentSegmentColor = Colors.Yellow
myClock.ClearSegments
LoadWorkDaySegmentsIntoClock(CurrentWorkDayKey)
myClock.SetActiveSegment(Max(0, now - CurrentSegmentStart), Colors.Yellow, True)
Else
ProcessActiveWorkSegment(now)
If SessionActive = False Then
UpdateElapsedLabel
Return
End If
CurrentSegmentColor = GetCurrentWorkColor
myClock.ClearSegments
LoadWorkDaySegmentsIntoClock(CurrentWorkDayKey)
myClock.SetActiveSegment(Max(0, now - CurrentSegmentStart), CurrentSegmentColor, False)
End If
SaveActiveState
Else
If CurrentWorkDayKey > 0 Then
ProductiveElapsedMs = GetProductiveTotalForWorkDay(CurrentWorkDayKey)
CurrentSegmentColor = GetCurrentWorkColor
myClock.ClearSegments
LoadWorkDaySegmentsIntoClock(CurrentWorkDayKey)
myClock.ClearActiveSegment
Else
RestoreLastClosedDayState
End If
End If
UpdateElapsedLabel
UpdateMainControlState
End Sub
Private Sub ParseBooleanValue(Value As Object, DefaultValue As Boolean) As Boolean
If Value = Null Then Return DefaultValue
Dim s As String = Value
s = s.Trim.ToLowerCase
If s = "true" Then Return True
If s = "false" Then Return False
Return DefaultValue
End Sub
Private Sub AddStatsRow(y As Int, DateText As String, WorkText As String, PauseText As String, OvertimeText As String, Header As Boolean)
Dim rowHeight As Int = 30dip
Dim col1 As Int = 104dip
@@ -1139,3 +1333,64 @@ Private Sub AddCell(Text As String, x As Int, y As Int, w As Int, h As Int, Head
End If
svStats.Panel.AddView(lbl, x, y, w, h)
End Sub
Private Sub BuildHelpText As String
Return $"Overtime Guard
By AI Team
aiteam.ai
AI agents and software systems
Purpose
Overtime Guard is a minimal workday timer. It helps you track work time, breaks, and overtime without projects, tasks, or extra screens.
Main screen
- Start begins manual recording for the current workday.
- End stops manual recording.
- Pause starts a break.
- End pause closes the break and resumes work.
- Bg sends the app to the Android home screen.
- Stats opens the daily totals table.
- Config opens automatic schedule settings.
Clock colors
- Light blue: first 4 hours of productive work.
- Green: productive work from hour 5 to hour 8.
- Yellow: break time.
- Red: overtime after 8 productive hours.
How timing works
- Breaks always stay visible in yellow.
- In Config you can choose whether break time is included in the total 8-hour count.
- Overtime starts only after 8 productive work hours.
- Red overtime can continue for up to 1 extra hour.
- At 9 total productive hours, recording stops automatically.
- If midnight is reached, the current day is closed and the next day starts from zero when you start again.
Daily memory
- The app saves the current day locally.
- If you close or background the app, the state is restored when you open it again.
- During the day, multiple work and break segments are added to the same daily record.
Statistics
- The stats page groups totals by date.
- Each row shows Work, Pause, and Overtime for one day.
- The totals row sums all visible stored days.
- Local history is currently kept for about two months.
Automatic mode
- In Config you can set work start, pause start, pause end, and work end.
- The Include breaks in total option also affects automatic mode.
- Set config enables automatic mode.
- In automatic mode, Start and End on the main screen are disabled.
- Reset config disables automatic mode and returns control to manual mode.
Clear today
- Clear today removes only the currently displayed workday from local history.
- Use it only if you want to restart the day from zero.
Notes
- The app uses the phone local time and time zone.
- The help page is informational only. It does not change your data.
"$
End Sub