Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Contributor
Dan277
Posts: 21
Registered: ‎04-10-2013
My Device: All
My Carrier: 447920403580
Accepted Solution

Problem releasing program

My program is complete and I am I am ready to release. The problem is how do I chose which devices to support? I have compiled for 7.0, but it will not work on all 7.0 devices. For some unknown reason on some devices the screen constantly flickers and none of the objects are selectable. I simply cannot test on all devices because there are not simulators available for all of them and testing on actual handsets is certainly not possible. I actually was hoping to support 6.0 and above devices, but I changed to 7.0 when I noticed the flickering on 6.0 devices. Maybe if anyone knows any possible causes of the flickering problem I can fix it, then assume that it will work on all devices. I certainly don't want people to buy my program, then find it doesn't work on their blackberry though.

Please use plain text.
Developer
peter_strange
Posts: 19,595
Registered: ‎07-14-2008
My Device: Not Specified

Re: Problem releasing program

Can't say for sure, but the flickering is most likely caused by something you are doing rather than being a problem with a specific device.  So for me I would try to resolve that.  More on that later.

 

With respect to device support I suspect it is reasonable to test on a range of devices rather than all devices,  For example, if you test on a 9300, then there is  good chance your app will work on a 9320. If you test a good mix (touch/non touch, portrait/landscape etc) this will give you confidence. 

 

In terms of Simulators, I was not aware that there were devices which did not have Simulators.  Have you tried downloading additional Simulators from here:

http://us.blackberry.com/sites/developers/resources/simulators.html

Which devices are missing Simulators?

 

Coming back to the flickering, this sounds like a problem with the way you are painting something, and in the middle of the paint processing, doing something directly or indirectly causes a repaint - like updating the Field's font.  So the first place I would look for this flickering problem is your paint() methods (or paintBackground() methods).  The processing should only interact with the graphics Object.  If you are doing something with the Field or another Field, then that might cause your problem. 

Please use plain text.
Contributor
Dan277
Posts: 21
Registered: ‎04-10-2013
My Device: All
My Carrier: 447920403580

Re: Problem releasing program

I thought my code was fine because it appears to work perfectly on most devices. There could be a problem with the way I am painting objects, but I don't understand why the entire screen would flicker and not just the objects themselves, and why it would work fine on most devices. What I'll do is create a new screen to test each one of my custom objects one by one.

The link you provided is where I downloaded the simulators from. These were missing 9620, Curve 9380 OS 7.1, Torch 9860, and probably many others.

Thank you for your help
Please use plain text.
Developer
peter_strange
Posts: 19,595
Registered: ‎07-14-2008
My Device: Not Specified

Re: Problem releasing program

I will see if I can bump someone about the missing Sims.

 

Regarding the flicker, I have had code that works fine on some devices and doesn't on others, I think it depends on how optimized the graphics code is for the device.  If the flicker is the whole screen, then that suggests you are doing something that potentially updates the layout, for example, changing the font.  I think the idea of going through your custom objects is the right way to go, though of course it will be painful.

 

One other thought I have is regarding backgrounds, and transparency.  Older devices did not blend very fast apparently, so I think non transparent images painted a lot faster. 

 

You might not see the issue on the Simulator because it is so fast.  Curves are the slowest real devices. 

 

 

Please use plain text.
Contributor
Dan277
Posts: 21
Registered: ‎04-10-2013
My Device: All
My Carrier: 447920403580

Re: Problem releasing program

I have tested all my custom objects and there is not a problem with them. The problem is VirtualKeyboard.isSupported() is returning true when a virtual keyboard is not supported, causing a variable updateDisplay to be set to true. Then since the virtual keyboard will not display, its height left at 0, which causes the same code to keep repeating in an infinite loop.

 

How can I find out whether or not the virtual keyboard is supported?

Please use plain text.
Developer
peter_strange
Posts: 19,595
Registered: ‎07-14-2008
My Device: Not Specified

Re: Problem releasing program

Interesting.  Which device/Simulator and OS level do you see this on?

Please use plain text.
Contributor
Dan277
Posts: 21
Registered: ‎04-10-2013
My Device: All
My Carrier: 447920403580

Re: Problem releasing program

It's on OS 7.1 model 9810 and a few others. VirtualKeyboard.isSupported() returning true was the entire cause of the problem. I have managed to solve the problem simply by creating a boolean variable called KeyboardHeightSet. Hopefully now my program will work on all 6.0+ devices. Thanks for your help

Please use plain text.
Developer
peter_strange
Posts: 19,595
Registered: ‎07-14-2008
My Device: Not Specified

Re: Problem releasing program

[ Edited ]

The virtual keyboard is supported on the 9810, so the setting is correct.  Perhaps your check needed to see if in fact it was being displayed?

 

Glad you have a workaround anyway, and now you can support OS 6.0 devices as well I suspect. 

Please use plain text.
Contributor
Dan277
Posts: 21
Registered: ‎04-10-2013
My Device: All
My Carrier: 447920403580

Re: Problem releasing program

The virtual keyboard is not supported when the slider is open and is supported when the slider is closed, but VirtualKeyboard.isSupported() always returns true. The problem I'm experiencing most likely is only on slider phones.

Now all I need to do is determine the status of the slider and run some code when the status of the slider changes. Do you know how I would go about doing this? How can I access the API for the slider? Thanks
Please use plain text.
Contributor
Dan277
Posts: 21
Registered: ‎04-10-2013
My Device: All
My Carrier: 447920403580

Re: Problem releasing program

Please use plain text.