public static void updateUTF8Key(char c) { if (c_key_down_value_addr == 0) return; String s = String.valueOf(c); try { byte[] b = s.getBytes("UTF-8"); CRunTime.memcpy(c_key_down_value_addr, b, 0, b.length); CRunTime.memoryWriteByte(c_key_down_value_addr + b.length, 0); } catch (Exception e) { CRunTime.memoryWriteByte(c_key_down_value_addr, 0); e.printStackTrace(); } }
public static void popUpYesNoDialog( final int textAddr, final String yesButtonStr, final String noButtonStr, final int yesCallback, final int noCallback, final int blocking) { final String sText = CRunTime.charPtrToString(textAddr, 8000); UiApplication.getUiApplication() .invokeAndWait( new Runnable() { public void run() { Dialog d = new Dialog( sText, new String[] {noButtonStr, yesButtonStr}, new int[] {Dialog.NO, Dialog.YES}, Dialog.YES, new Bitmap(0, 0)); if (blocking == 0) { // None blocking option d.setDialogClosedListener( new DialogClosedListener() { public void dialogClosed(Dialog d, int dialogReturnValue) { if (dialogReturnValue == Dialog.NO) { try { UIWorker.addUIEvent(noCallback, 0, 0, 0, 0, true); } catch (Exception t) { UIWorker.addUIEventLog( "Exception while calling noCallback in FreemapMainScreen.java -> popUpYesNoDialog" + t); } } if (dialogReturnValue == Dialog.YES) {; try { UIWorker.addUIEvent(yesCallback, 0, 0, 0, 0, true); } catch (Exception t) { UIWorker.addUIEventLog( "Exception while calling yesCallback in FreemapMainScreen.java -> popUpYesNoDialog" + t); } } } }); d.show(); } else if (blocking == 1) { int index_chosen; index_chosen = d.doModal(); if (index_chosen == Dialog.YES) { try { UIWorker.addUIEvent(yesCallback, 0, 0, 0, 0, true); } catch (Exception t) { UIWorker.addUIEventLog( "Exception while calling yesCallback in FreemapMainScreen.java -> popUpYesNoDialog" + t); } } else if (index_chosen == Dialog.NO) { try { UIWorker.addUIEvent(noCallback, 0, 0, 0, 0, true); } catch (Exception t) { UIWorker.addUIEventLog( "Exception while calling noCallback in FreemapMainScreen.java -> popUpYesNoDialog" + t); } } } else { UIWorker.addUIEventLog( "ERROR - input parameter blocking in popUpYesNoDialog is not valid."); } } }); }