Abilitata, nella libreria di scansione codici da emulazione di tastiera, la possibilità di ricevere l'evento come un ACTION_MULTIPLE contenente tutto il codice invece che carattere per carattere

This commit is contained in:
Valerio Castellana 2019-11-20 11:00:34 +01:00
parent c56b769d71
commit 33f4a7244d
3 changed files with 4 additions and 2 deletions

View File

@ -12,7 +12,7 @@ public class BaseActivity extends AppCompatActivity {
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) {
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
}
}

View File

@ -20,7 +20,7 @@ public class BaseDialog extends Dialog {
super(context);
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()){
setOnKeyListener((dialog, keyCode, event) -> {
if (mBarcodeListener && event.getAction() == KeyEvent.ACTION_DOWN && !isControlKey(event)) {
if (mBarcodeListener && (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) && !isControlKey(event)) {
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
}
return false;

View File

@ -64,6 +64,8 @@ public class KeyboardEmulatorBarcodeReader implements BarcodeReaderInterface {
mLastCharInsertTime =keyEvent.getEventTime();
if (keyEvent.getUnicodeChar() > 0){
mTextBarcode+= (char) keyEvent.getUnicodeChar();
}else if (keyEvent.getCharacters() != null){
mTextBarcode = keyEvent.getCharacters();
}
}
}else{