diff options
Diffstat (limited to 'sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java')
-rwxr-xr-x | sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java b/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java index 78820b2..c7ac999 100755 --- a/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java +++ b/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java @@ -92,10 +92,32 @@ public class IMSIPseudo extends Applet implements ToolkitInterface, ToolkitConst proHdlr.send(); } - private void showMsgAndWaitKey(byte[] msg) { + private byte[] getResponse() + { + ProactiveResponseHandler rspHdlr = ProactiveResponseHandler.getTheHandler(); + byte[] resp = new byte[rspHdlr.getTextStringLength()]; + rspHdlr.copyTextString(resp, (short)0); + return resp; + } + + private byte[] showMsgAndWaitKey(byte[] msg) { ProactiveHandler proHdlr = ProactiveHandler.getTheHandler(); proHdlr.initGetInkey((byte)0, DCS_8_BIT_DATA, msg, (short)0, (short)(msg.length)); proHdlr.send(); + + return getResponse(); + } + + private byte[] prompt(byte[] msg, short minLen, short maxLen) { + /* if maxLen < 1, the applet crashes */ + if (maxLen < 1) + maxLen = 1; + + ProactiveHandler proHdlr = ProactiveHandler.getTheHandler(); + proHdlr.initGetInput((byte)0, DCS_8_BIT_DATA, msg, (short)0, (short)(msg.length), minLen, maxLen); + proHdlr.send(); + + return getResponse(); } private void showError(short code) { |