BlackBerry Forums Support Community
              

Closed Thread
 
LinkBack Thread Tools
Old 10-31-2007, 08:12 AM   #1 (permalink)
CrackBerry Addict
 
Join Date: Apr 2005
Location: hamburg, germany
Model: 8900
Carrier: o2
Posts: 838
Post Thanks: 0
Thanked 0 Times in 0 Posts
Lightbulb Getting the EventLock from outside the Application

Please Login to Remove!

I found something interesting today.

My application has a FolderListener registered on the mail store and is alerted when a new mail arrives.
If it is a certain mail i want to update the UI in my application and i have to possibilities to do so:

1. synchronized (UiApplication.getEventLock())
2. invokeLater(new Runnable()...

The first option leads to a Ui accessed without holding the eventlock exception. The second option freezes the device.

As i discovered UiApplication.getEventLock() gives you the eventlock of the calling application, in my case the folderlistener, which can not provide the eventlock.

My solution is to provide a method in the main application:
Code:
public Object getApplicationEventLock() {		
	return getAppEventLock();
}
i now synchronize on this method in my screens and other UI elements:
Code:
synchronized (app.getApplicationEventLock()){
}
I thought this could be helpful for anybody stumbling upon a similar problem.
__________________
java developer, Devinto, hamburg/germany
Offline  
Old 10-31-2007, 09:27 AM   #2 (permalink)
Talking BlackBerry Encyclopedia
 
Join Date: Oct 2006
Model: 7103
Carrier: Verizon
Posts: 259
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

that is helpful, I find the invokeLater doesn't cause the problem you see, but is not the most efficient or elegant solution. thanks for the tip
Offline  
Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

MSA Altair 4x and 5x Multi-Gas Detectors Wall Charger Power Supply
$34.99
MSA Altair 4x and 5x Multi-Gas Detectors Wall Charger Power Supply  picture(8) MSA 10083913 INTERNAL Li-Poly BATTERY - ALTAIR 4/ 4X MULTI-GAS DETECTOR *K12
$49.99
(8) MSA 10083913 INTERNAL Li-Poly BATTERY - ALTAIR 4/ 4X MULTI-GAS DETECTOR *K12 pictureMarket Forge Altair II Convection Steamer
$3700.0
Market Forge Altair II Convection Steamer picture1 MSA Altair/ 2 BW GasAlert Clip Expired Gas Detectors for O2 Oxygen – WA006
$0.99
1 MSA Altair/ 2 BW GasAlert Clip Expired Gas Detectors for O2 Oxygen  – WA006 picture3 MSA Altair/ 1 BW GasAlert Clip Expired Gas Detectors for H2S – WA007
$0.99
3 MSA Altair/ 1 BW GasAlert Clip Expired Gas Detectors for H2S  – WA007 picture






Copyright 2004-2016 BlackBerryForums.com.
The names RIM and BlackBerry are registered Trademarks of BlackBerry Inc.