Changelog
J2ME Polish 2.3
J2ME Polish 2.3 brings you a whole new swath of features:
Android:
- support for native text input, including copy & paste!
- support for all Android platforms up until Android 4.0.3 (API Level 15)
- option to combine native Android views with a J2ME Polish based UI using the ViewItem
- implemented MIDlet.notifyPaused()
- implemented Display.vibrate()
- implemented additional FileConnection features
- support for all Java BlackBerry platforms up to BlackBerry 7.1
- option to combine native BlackBerry UI Fields with a J2ME Polish based UI using the FieldItem
- implemented MIDlet.notifyPaused()
- implemented Display.vibrate()
- new patch background which is great for creating resolution independent designs:
- improved content storage system
- added #dontobufscate preprocessing directive
- added message text-effect
- added de.enough.polish.util.ShortHashMap
- added option to define inline styles in the HtmlBrowserItem
- allowing to specify ScreenChangeAnimations in source code
- defocusing UI elements when the screen is scrolled using touch events
- many bugfixes and minor enhancements
For a detailed list of all commits, please compare https://github.com/Enough-Software/j2mepolish/commits/master
J2ME Polish 2.2.1
2.2.1 is a bugfix release with following UI fixes:
- POPUP ChoiceGroup: some items behind a formerly opened POPUP ChoiceGroup could not have been selected with touch events
- TableItem: fixed layout and scrolling for elements with internal focus areas in large tables.
- TextField.FIXED_POINT_DECIMAL: fixed runtime error on BlackBerry when a Locale.DECIMAL_SEPARATOR other than '.' is being used. Introduced usage of Locale.GROUP_SEPARATOR for decimal groups.
- CSS media queries: fixed application of media queries when they are used for the first screen, i.e. there is no splash screen or similar.
- :landscape and :portrait pseudo styles: Fixed orientation switch back to the previous orientation style when only :landscape or only :portrait is being used.
J2ME Polish 2.2
J2ME Polish 2.2 introduces a whole new range of possibilities for mobile developers:
BlackBerry
- Added support for OS 6.0Projects with binary libraries can now be run and executed from within the JDE as well
- Supporting command separators by adding a Command with type Command.SEPARATOR
- Use native alerts easily by setting the preprocessing variable "polish.useNativeAlerts" to "true".
Android
- Added support for Android build tools > 2.0
- Improved key handling
- Improved multimedia support
Lush UI
- Supporting command separators
- Processing visualization are now supported
- "vertical-expand" layout is now supported
- TabbedPane management and UX improved
- New 'tabbed' view-type for Container or ChoiceGroup allows you to use tabs anywhere within Screens
- Simplified splash screen handling in de.enough.polish.ui.splash2
- You can deactivate the bouncing of containers on touch enabled devices for a single Container/Screen using the 'bounce: false;' CSS setting.
- Similar to 'focus-all' you can now also use 'press-all' for highlighting all items in a Container when the Container is pressed
- Images within ImageItems can now be limited in size using max-image-width and max-image-height CSS attributes
- TableItems now support interactive items, you can also use row-span within TableItem cells.
- Item.getRgbData() now also supports translucent pixels
- Added :portrait and :landscape pseudo styles for Screens
Tools & APIs
- Added JSON parser
- Added content cache
- Improved and extended calendar management
J2ME Polish 2.1.4
2.1.4 is mainly a bugfixing release but it also contains some interesting new features:
- CSS media queries: fixed handling of media queries with only a single word like @media touchscreen.
- Touch Support: added option to add virtual keyboards
- BlackBerry: fixed support for BlackBerry 4.7 devices without touch events
- Android: improved PIM support, fixed compilation problems and Graphics.fillArc().
- RGB Filters: added text-filter and the rotate filter.
- Eased preprocessing comparisons with versions, e.g. <code>//#if polish.JavaPlatform >= BlackBerry/4.7</code>
- Minor bugfixes and features, e.g. <code>box-align: right;</code> for moving checkboxes to the right side.
- Added new 3D graphics routines in <code>de.enough.polish.graphics3d</code> package (thanks, Anders!)
J2ME Polish 2.1.3
J2ME Polish 2.1.3 brings various major new features (we could call it J2ME Polish 3.0 without shame):
- CSS media queries allow you adapt your design during runtime when building for generic devices such as the Generic/AnyPhone or the Generic/AnyMsaPhone. You can increase the size of buttons when the device supports touch events, for example.
- Touch Gestures and dragging elements are now supported
- BlackBerry: improved Storm support, added BB OS 5.0 support and improved native commands / non fullscreen support for BlackBerry devices.
- Android: improved Android support, fixed some FileConnection and PIM implementation details, added HTTPS connection support.
- RGB Filters: officially introducing RGB filters for adding wow effects.
- Bugfixes: many bugfixes- small and great.
J2ME Polish 2.1.2
J2ME Polish 2.1.2 brings useful new features and fixes:
- Android: Improved Android documentation
- Android: Allowing native commands on Android devices (by deactivating the fullscreen mode)
- Android: Improved Graphics.drawRoundRect()
- Android: Improved handling of softkeyboard
- TabbedPane: Handling back keys and softkeys when using the TabbedPane
- BlackBerry: not calling System.gc() in ScreenChangeAnimations anymore
- HTML text-effect: Added easy option to use rich text using the html text-efect
- RSS: Easier to style RSS entries by overriding de.enough.polish.browser.rss.RssTagHandler.applyStylingForRssLink().
- Browser: Allowing complex links, e.g. around <div> tags
- RMI: Deactivated debug output for server side code
- ProGuard: upgraded to ProGuard 4.0
- Bugfixes: various smallscale bugfixes
J2ME Polish 2.1.1
J2ME Polish 2.1.1 provides many essential bugfixes and powerful new features.
- MIDP 1.0: MIDP 1.0 compatibility has been restored
- Generic/Java: Target <code>Generic/Java</code> to create a standalone Java app out of your MIDlet
- :visited: Use the <code>:visited</code> pseudo style to design UI items on which the default command has been triggered.
- :landscape, :portrait: Use the <code>:landscape</code> or <code>:portrait</code> pseudo styles to design screens or items in landscape or portrait mode.
- Android: Softkeyboard: Softkeyboards are now supported for Android 1.5+ devices
- Android: Signing: Signing is now done using the standard <code><sign></code> element.
- Android: Location API: Fixed usage of different location providers.
- Android: font-size: On Android devices you can now use percentage or pixel values for fonts: <code>font-size: 36px;</code>.
- html tex-effect: Use <code>text-effect: html;</code> for creating rich text components.
- RGB handling: Resolving RGB drawing bugs dynamically for generic devices like Generic/AnyPhone.
- TreeModel: Allowing to use a TreeModel for TreeItem
- ScreenChangeAnimations: fixed some race conditions for switching screens while playing screen change animations
- layout: Fixed center layout problems when using labels, and right layout in combination with <code>after</code>.
- Canvas: Fixed support for command handling in Canvas subclasses
- BlackBerry: setTitle: Fixed missing lock when setting screen titles from a thread.
- BlackBerry: screen size: Fixed screen size calculation when no screen has been shown previously.
- BlackBerry: font-size: On BlackBerry devices you can now use percentage or pixel values for fonts: <code>font-size: 36px;</code>.
- numbered view-type: Improved performance of number view-type
- carrousel view-type: Fixed carrousel view-type
- Qwerty Keyboards: Fixed triggering of game actions on some Nokia qwerty devices like the E63
- scroll-background: added option not to move a <code>scroll-background</code> by using <code>move-scroll-backgrounds: false;</code>
- Location API: Added de.enough.polish.location.FallbackLocationProvider for creeating automated fallback solutions, e.g. when no GPS is available use the network location provider.
J2ME Polish 2.1.0
J2ME Polish 2.1.0 provides following new exciting features:
- Android Support: Just target Generic/Android or HTC/G1 for converting your application to Android.
- BlackBerry Storm Support: Now supporting BB Storm out of the box. Just target BlackBerry/Storm or BlackBerry/4.7.
- UI: CSS Animation Framework: you can now animation any CSS attribute and react to both UI events like show and to your own custom application specific events.
- UI: Relative Layout:Specify dimensions of UI components relative to their available size with percentage values, e.g. max-width: 75.5%;
- UI: TabbedPane: New TabbedPane screen allows you to bundle several screens together on a single TabbedPane.
- UI: CalendarItem: de.enough.polish.calendar.CalendarItem allows you to view and select dates
- UI: VideoContainer: Use our de.enough.polish.video.VideoContainer to play back video on MIDP and BlackBerry handsets.
- UI: ScreenChangeAnimation: ScreenChangeAnimation make use of the repaint-previous-screen setting, in those cases only the internal frame of the screen is animated.
- Logging: The new display log handler allows you to view log entries in realtime on top of your application.
- Bluetooth: Use our de.enough.polish.bluetooth classes for streaming over a L2CAP bluetooth connection and detecting other Bluetooth devices
- HtmlBrowser:: Use our HttpBluetothProtocolHandler to browse webpages over a bluetooth connection.
- HtmlBrowser:: Use the GZipResourceProtocolHandler for accessing compressed pages.
- HtmlBrowser:: Runtime CSS support in our HtmlBrowser allows you to specify styles within your HTML code.
- Virtual Devices: Added Generic/AnyMsaPhone and its cousins: Generic/AnyMsaPhone_240x320, Generic/AnyMsaPhone_320x240, Generic/AnyMsaPhone_352x416 for covering most popular devices that are compatible to the Mobile Service Architecture specification