Skip to content
Snippets Groups Projects
Commit 52eab898 authored by Matyáš Latner's avatar Matyáš Latner
Browse files

Merge branch 'feature-createuser' into 'devel'

#85 Added timer - when user is inactive for 5s when inputting name, next dialog will be shown

* Přidán časovač při vytváření profilu - po 5ti vteřinách neaktivity při zadávání jména se focus posune na další položku

See merge request !319
parents 1627b058 4c5fc5f0
Branches
Tags
No related merge requests found
......@@ -35,6 +35,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import cz.nic.tablexia.Tablexia;
import cz.nic.tablexia.TablexiaApplication;
......@@ -104,6 +106,8 @@ public class FormScreen extends AbstractTablexiaScreen<Void> {
private static final int COMMON_INT_CODE_FOR_ENTER = 13;
private static final int ANDROID_INT_CODE_FOR_ENTER = 10;
private static final int TEXT_FIELD_HINT_DELAY = 5000;
public static final String GFX_PATH = "gfx/";
public static final String AVATAR_PATH = GFX_PATH + "avatar/";
public static final String HINT_FINGER_SOUND = "mfx/profil_podpis_prst.mp3";
......@@ -118,6 +122,8 @@ public class FormScreen extends AbstractTablexiaScreen<Void> {
protected Map<FormValidationEnum, Boolean> validations;
protected Set<String> alreadyPlayedHints;
private Group mugshots;
private Timer timer;
private boolean timerSet;
protected TextField nameField;
......@@ -197,12 +203,27 @@ public class FormScreen extends AbstractTablexiaScreen<Void> {
nameField.setFocusTraversal(false);
nameField.setMaxLength(MAX_NAME_LENGTH);
timerSet = false;
nameField.addListener(new InputListener() {
@Override
public boolean keyTyped(InputEvent event, char character) {
// have to check also (int)character because of some bug in iOS keyboard. It returns code Input.Keys.ENTER for every key after "done" button pressed
if(timerSet) timer.cancel();
// have to check also (int)character because of some bug in iOS keyboard. It returns code Input.Keys.ENTER for every key after "done" button pressed
if ((event.getKeyCode() == Input.Keys.ENTER && ((int)character == ANDROID_INT_CODE_FOR_ENTER || (int)character == COMMON_INT_CODE_FOR_ENTER)) || event.getKeyCode() == Input.Keys.TAB) {
validate();
} else {
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
validate();
timerSet = false;
}
}, TEXT_FIELD_HINT_DELAY);
timerSet = true;
}
return false;
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment