JYMAG Changelog

What's new in JYMAG 1.4

Aug 25, 2014
  • Code cleanup. Minor fixes and optimizations to the application.
  • Better error reporting. Major improvements to the build system.
  • Makefile: fixed the dependencies of the Windows(tm) installer and the JAR file, fixed generating the EXE files (more automatic and system-independent now), added links to external software. Added signing the JAR file and the installer. Fixed dependencies of the jymag-en.exe file. Common file and directory names now in variables.
  • DataTransporter.java: changed the constant fields with the headers to static fields.
  • TransferUtils.java (sendFileAsCommands): catching Exceptions in Thread.sleep.
  • *.java: added curly braces in conditionals.
  • PhoneAlarm.java (parseReponse): optimization: evaluating the matcher groups just once.
  • COPYING, manual: added the MIT license for the EXE programs that start JYMAG (jymag*.exe).
  • Utils.EscKeyListener (keyTyped): calling the window listeners manually before calling dispose on the frame. This way, the listeners are certainly called and pressing the Esc key now deletes the log file when it's empty (that's the way it should be).
  • Starter.java (main): closing the log file and exiting with error on exception.
  • MainWindow.java (start): checking if RXTX classes are available before showing the GUI, because otherwise the GUI is not shown and the only error message is in the console or in the log file.
  • Utils.java (closeProgram): allow the filename to be null - the log file, if any, is not touched.
  • THANKS: added more thanks for the software that made JYMAG possible
  • PhoneElement.java (getExt, getFilename): added null checks
  • PhoneElement.java: removed synchronisation from methods, because there are no setter methods.
  • Utils.java (createOpenFileChooser): more checks for null.
  • src/test: added tests and the required stub classes.
  • PhoneAlarm.java (getDays): checking for null.
  • *Panel.java: makeing the buttons same height for better layout
  • README, manuals: added alternative addresses of RxTx
  • ConfigFile.java: enhanced detecting the system end-of-line sequence
  • ConfigFile.java (read): better performance in comment matching (compiling the pattern just once).
  • DialPanel.java: disabling connection type and number controls when manual command is selected
  • PhoneMessage.java: corrected the response match patterns

New in JYMAG 1.2 (Jul 11, 2012)

  • Dialing numbers. GUI improvements. Fixed some of the warnings
  • found by the "findbugs" program (not all will be fixed).
  • SMSWindow.java (sendButActionPerformed): fixed a null pointer
  • dereference.
  • DataTransporter.java (getFile): closing the file on error
  • Utils.java: made the Hashtables package-protected and available
  • with get*() methods.
  • MainWindow.java (loadConfButActionPerformed): corrected reading
  • the configuration values. Method is now synchronized.
  • PhoneAlarm.java: using a constand field for the integer zero
  • (which represents all days for an alarm). Less relying on particular
  • implementations (using a general Set instead of HashSet if possible).
  • AboutBox.java (getFileContents): using a StringBuilder to improve
  • performance and memory usage.
  • Utils.java (createOpenFileChooser): using a StringBuilder to improve
  • performance and memory usage.
  • DataTransporter.java (tryCommand): using a StringBuilder to improve
  • performance and memory usage.
  • Makefile: added targets for making the JYMAG jar and javadocs, added
  • a "clean" target, simplified the Makefile. Moved to Bzip2 from Gzip
  • to decrease the archives' sizes. Added targets for building the
  • wrapper exe (launch4j) and installer (NSIS) for Windows.
  • CapabilityWindow.java (getCapButActionPerformed): disabling the
  • "Get" button when waiting for the answer to the previous operation.
  • SignalDisplayer.java: made the lowest power level label aligned with
  • the level bar.
  • RawCommunicator.java: added a "Clear" button that clears the answer
  • area without clearing the current command and the sent commands'
  • fields.
  • MainWindow.java: corrected the size of the tab pane and its
  • subelements so the buttons on the right don't cover it when the
  • font size decreases. A new tab for dialing numbers.
  • TransferUtils.java: using "Component" instead of "JFrame" in
  • methods' parameters. Added methods that dial a number and hang up.
  • DataTransporter.java: added methods that dial a number and hang up.
  • MainWindow.java, RawCommunicator.java, SMSWindow.java: using a
  • single instance of the resource bundle with messages.
  • DialPanel.java: a panel for dialing numbers (contents of the
  • dialing tab in MainWindow.java).
  • CommandLineParser.java (parse): recognising new command-line
  • options: --dial-voice, --dial-data, --hangup.
  • README, manual/en/readme.html, manual/pl/readme.html: added new
  • command-line options, fixed typos.
  • setup/jymag.nsi: corrected the "send to" shorcut
  • run.bat, run-en.bat: corrected the end-of-line sequence and
  • replaced "java" with "javaw"
  • manual/*/{index.html,main_window.html,manual_cmd.html,
  • tables.html}: updated with new features and screenshots.

New in JYMAG 0.9 (Aug 7, 2010)

  • Each window is now in a ScrollPane, so if the contents is too big to fit, scroll bars are shown. Each window now has a font size spinner to allow easy changing the font size for the user. Run jlint on the code and fixed some problems.
  • MainWindow.java (MainWindow, loadConfButActionPerformed): verifying window size and position for the window to be visible.
  • MainWindow.java (downloadButActionPerformed): Better exception messages on failed transfers.
  • ConfigFile.java: reading and saving the font size.
  • DataTransporter.java: added methods for powering off the phone, telling which PIN number is the phone waiting for (if any) and for sending that PIN number. These methods are unverified. Moved transport-realted code from MainWindow and CapabilityWindow to this class. Added methods for getting the number of supported alarms, getting the list of currently-enabled alarms, adding new alarms and deleting alarms.
  • PhoneAlarm.java: a new class represning alarm clocks/times.
  • MainWindow.java: support for getting list of, updating and deleting phone alarms.
  • Starter.java: fixed the startup error message displaying.

New in JYMAG 0.7 (Aug 21, 2009)

  • More file types detected on download
  • more files allowed to be uploaded
  • internationalization
  • checking phone's capabilities
  • config save and load
  • better exception logging
  • better flow control usage
  • some bugfixes.