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
Developer
Posts: 4,764
Registered: ‎07-21-2008
My Device: Not Specified

Global-Modal dialog on OS 4.3

We have an application that displays a global-modal PopupScreen in resposne to certain events. We have an ongoing issue where this dialog is not repainted if it is in the global queue behind a system "Missed Call" dialog.

 

The scenario looks like this:

 

1. Call is missed, system displays "missed call" dialog.

2. Our dialog is pushed with a lower priority, so it remains in the global queue behind the missed-call dialog.

3. Missed-call dialog is dismissed

4. Missed call dialog remains painted on the display, despite having been dismissed. It is no longer processing UI events.

5. Our dialog is (apparently?) is now at the top of the stack

6. Our dialog never paints. Neither the onExposed() nor the onFocusNotify() methods are hit.

7. Despite that, our dialog appears to have the focus.

8. Although it is invisible, it will respond to a button hotkey if one is typed. It is NOT receiving navigation events.

 

This scenario only appears on 4.3.0.x. On 4.2, 4.5, and 4.6, the dialog gets an onFocusNotify() event and is correctly painted after the Missed-call dialog is dismissed. Furthermore, I cannot duplicate the issue on the 4.3.0 simulators.

 

Has anyone seen this issue?  Is there a suggested work-around?

 

 

 

 

BlackBerry Development Advisor
Posts: 15,727
Registered: ‎07-09-2008
My Device: BlackBerry PRIV
My Carrier: Bell

Re: Global-Modal dialog on OS 4.3

From where are you calling the dialog from?  A background application, foreground application or listener method?  If it is a listener, which one are you using?
Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Problem solved? Click the Accept As Solution button.
Found a bug? Report it using Issue Tracker
Developer
Posts: 4,764
Registered: ‎07-21-2008
My Device: Not Specified

Re: Global-Modal dialog on OS 4.3

NotificationsEngineListener.proceedWithDeferredEvent(). The class which instantiates the dialog and pushes it is a runnable object invoked from this listener with invokeLater().

 

The application is normally in background when this is invoked, but in 4.3 we have also tried requestForeground() prior to pushing the global, and this doesn't seem to help the situation.

 

 

 

 

BlackBerry Development Advisor
Posts: 15,727
Registered: ‎07-09-2008
My Device: BlackBerry PRIV
My Carrier: Bell

Re: Global-Modal dialog on OS 4.3

Are you able to reproduce this in the BlackBerry Simulator?  I tried to trigger this by using the notificationsdemo included with the BlackBerry JDE and was unable to reproduce it.

 

I modified the sample to user a Timer and TimerTask to delay the firing of the notification from the MenuItem to allow time to simulate and end an incoming call.

Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Problem solved? Click the Accept As Solution button.
Found a bug? Report it using Issue Tracker
Developer
Posts: 4,764
Registered: ‎07-21-2008
My Device: Not Specified

Re: Global-Modal dialog on OS 4.3

Mark,

 

I've never been able to reproduce this on the simulator - only on a 4.3 device.

BlackBerry Development Advisor
Posts: 15,727
Registered: ‎07-09-2008
My Device: BlackBerry PRIV
My Carrier: Bell

Re: Global-Modal dialog on OS 4.3

What BlackBerry model and (full 4 digit) handheld software version are you testing on?  You can see this under Options, About on the BlackBerry.
Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Problem solved? Click the Accept As Solution button.
Found a bug? Report it using Issue Tracker
Developer
Posts: 4,764
Registered: ‎07-21-2008
My Device: Not Specified

Re: Global-Modal dialog on OS 4.3

Mark,

 

According to our call center, this problem has been reported in the field from every version of 4.3. The most common version I see the report on are 4.3.0.124 and 4.3.0.127.

 

My test units are:

 

4.3.0.127 on an 8330 Curve

4.3.1.127 on an 8100 Pearl

 

I can duplicate the issue on both units.

 

I cannot duplicate on:

 

Curve running 4.2.2.180

Curve running 4.5.0.52

Bold running 4.6.0.107

 

Developer
Posts: 4,764
Registered: ‎07-21-2008
My Device: Not Specified

Re: Global-Modal dialog on OS 4.3

Mark,

 

Before you burn any cycles on this, can you send me your test case that you referenced earlier? Let me see if I can/cannot duplicate using your code first. This might make give me a better clue, either way..

 

BlackBerry Development Advisor
Posts: 15,727
Registered: ‎07-09-2008
My Device: BlackBerry PRIV
My Carrier: Bell

Re: Global-Modal dialog on OS 4.3

My test was based on the notificationsdemo included with the BlackBerry JDE.  I just modified the _notifyItem MenuItem to execute its code within a TimerTask that fires 10 seconds in the future.  I then clicked on the MenuItem of the demo, called the BlackBerry and then hung up (before the 10 seconds expired).  The dialog then popped up under the missed call dialog.

 

So far I have only tested this in the BlackBerry Simulator.

Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Problem solved? Click the Accept As Solution button.
Found a bug? Report it using Issue Tracker
Developer
Posts: 4,764
Registered: ‎07-21-2008
My Device: Not Specified

Re: Global-Modal dialog on OS 4.3

In the off chance that the issue was due to a highly customized subclass of PopupScreen (with many methods overridden, a custom layout manager,  and much custom painting), I tried duplicating the issue with a generic PopupScreen and a stock VerticleFieldManager with one labelfield and one button. .

 

Unfortunately, the stock PopupScreen acts the exactly same as the custom dialog.