Spread the knowledge... in a fun way!

Conventional compatability testing will give you a list of buggy methods for a particular device.

Now with the awful quality of J2ME API implementations, I have begun to think this is the wrong way around.
It would be easier to list the API methods, and against it list the handsets on which the method is faulty.

For a little fun (and also a little education!), I propose we begin a Thread to achieve this.
One person will state an api method (fully qualified!) ,
and others race to respond with a device on which said method behaves incorrectly. (and how it behaves incorrectly)
The first to respond gets to select the next method! =)

So, what do you all think? =)

If someone is willing to select a method to kick us off?

For the sake of fair-play; lets keep the API set to just the major ones, say :-

midp1, cldc1, midp2, cldc1.1, jsr135, jsr184, samsung, nokia, motorola, siemens, benq(o2x2/midp2 hybrid), sprint, vodafone, jphone, mascot, (any important API’s i’ve forgotten?)

displayable.setFullScreenMode(true);

Device: Motorola V525 (May affect other Motorola handsets).
Problem: Only paints in area not used by softbuttons, even if no softbuttons are used, so you get a white non-repainted area along the bottom of the screen.
Solution: Override displayable.getHeight() and +10 to the result of the normal method. This should then give you proper fullscreen.

Sorry, I can’t think of anything else to choose offhand. Someone else can choose another method.

Surely that is a problem with getHeight() not accounting for the screensize change :wink:
Incidentally, the more durable way of handling this issue on the Motorolas, is to listen for the sizeChanged(…) callback method. (as not all motorolas have a softkey bar height of 10 pixels)
It receives the correct canvas dimensions in its parameters.

Going back to the original method :-

Device: LGC2200
Problem: throws a NullPointerException if called within the Canvas constructor.
Solution: call it after the Canvas has been constructed & made the current displayable.

Next method :-

javax.microedition.lcdui.Graphics.drawRect(int, int, int, int)