<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0cHRn44eyp7ImA9WhRVEkg.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893</id><updated>2012-01-11T10:47:17.033+05:30</updated><category term="Thumbnail Layout" /><category term="RIM SPAM" /><category term="Vista" /><category term="Detection" /><category term="User Interface" /><category term="Custom Screen" /><category term="Connector.open" /><category term="SignatureTool.jar" /><category term="Connection" /><category term="BIS" /><category term="On Device Debugging" /><category term="FlowFieldManager" /><category term="Windows" /><category term="Eclipse Plugin 1.1.2" /><category term="Parsing" /><category term="Phishing Email" /><category term="Conversion" /><category term="JDE" /><category term="Web" /><category term="Dimension" /><category term="Version" /><category term="Blackberry" /><category term="Http" /><category term="Blackberry JDE MDS Internet Connection Problem Simulator" /><category term="Resolution" /><category term="WAP 1.0 1.1 2.0" /><category term="sigtool.db" /><category term="Device" /><category term="Home" /><category term="MDS" /><category term="Size" /><category term="sigtool.set" /><category term="IST" /><category term="Device List" /><category term="OS 5.0" /><category term="sigtool.csk" /><category term="Screen" /><category term="Premium" /><category term="WiFi Service Book" /><category term="Custom Manager" /><category term="Screen resolution" /><category term="Icon" /><category term="BIS-B" /><category term="Socket" /><category term="TimeZone" /><category term="Missing" /><category term="Datetime" /><category term="OS" /><category term="PST" /><category term="Signing Keys" /><category term="HTTP Header" /><category term="RIM" /><category term="Unite" /><title>BlackBerry Developer's Blog</title><subtitle type="html">Think, rethink...innovate</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.sameernafdey.com/" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/sameernafdey/AHWt" /><feedburner:info uri="sameernafdey/ahwt" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEcFRnw5fCp7ImA9Wx9QFUw.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-5716949063280594051</id><published>2010-11-24T14:07:00.008+05:30</published><updated>2010-12-28T11:30:17.224+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T11:30:17.224+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IST" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="Conversion" /><category scheme="http://www.blogger.com/atom/ns#" term="Datetime" /><category scheme="http://www.blogger.com/atom/ns#" term="PST" /><category scheme="http://www.blogger.com/atom/ns#" term="TimeZone" /><title>Converting Datetime in different timezones in Blackberry</title><content type="html">&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2010%2F11%2Fconverting-datetime-in-different.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.sameernafdey.com/2010/11/converting-datetime-in-different.html" data-text="Converting Datetime in different timezones in Blackberry" data-count="horizontal" data-via="sameernafdey"&gt;Tweet&lt;/a&gt;&lt;script type="text/javascript" src="http://platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;I was working on a logic in Blackberry application where I had to show time on screen in two different timezones together where one being the default IST timezone and another being PST timezone. At first I stuck but after reading couple of forum threads I could manage to do so. I am sharing the approach today.&lt;br /&gt;&lt;br /&gt;First of we need to find list of available timezone and their IDs in order to make it work.&lt;br /&gt;&lt;br /&gt;A simple code to get list of timezone available on Blackberry platform could be like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;String[] supportedTimezoneIDs = TimeZone.getAvailableIDs();&lt;br /&gt;for(int i=0; i&amp;lt;supportedTimezoneIDs.length; i++){&lt;br/&gt;&lt;br /&gt;    System.out.println(supportedTimezoneIDs[i]);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It will print list of timezones like:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Pacific/Kwajalein&lt;br /&gt;Pacific/Midway&lt;br /&gt;Pacific/Honolulu&lt;br /&gt;America/Anchorage&lt;br /&gt;America/Tijuana&lt;br /&gt;America/Los_Angeles&lt;br /&gt;America/Phoenix&lt;br /&gt;America/Denver&lt;br /&gt;America/Tegucigalpa&lt;br /&gt;America/Tegucigalpa_2&lt;br /&gt;America/El_Salvador&lt;br /&gt;America/Regina&lt;br /&gt;America/Chicago&lt;br /&gt;America/Mexico_City&lt;br /&gt;America/Mexico_City_2&lt;br /&gt;America/Bogota&lt;br /&gt;America/Indianapolis&lt;br /&gt;America/New_York&lt;br /&gt;America/Caracas&lt;br /&gt;America/La_Paz&lt;br /&gt;America/Manaus&lt;br /&gt;America/Santiago&lt;br /&gt;America/Halifax&lt;br /&gt;America/St_Johns&lt;br /&gt;America/Montevideo&lt;br /&gt;America/Guyana&lt;br /&gt;America/Buenos_Aires&lt;br /&gt;America/Sao_Paulo&lt;br /&gt;America/Godthab&lt;br /&gt;America/South_Georgia&lt;br /&gt;Atlantic/Cape_Verde&lt;br /&gt;Atlantic/Azores&lt;br /&gt;GMT&lt;br /&gt;Europe/Dublin&lt;br /&gt;Africa/Luanda&lt;br /&gt;Europe/Amsterdam&lt;br /&gt;Europe/Belgrade&lt;br /&gt;Europe/Brussels&lt;br /&gt;Europe/Belgrade Yugoslavia(YU)&lt;br /&gt;Africa/Windhoek&lt;br /&gt;Asia/Amman&lt;br /&gt;Africa/Harare&lt;br /&gt;Asia/Jerusalem&lt;br /&gt;Europe/Minsk&lt;br /&gt;Africa/Cairo&lt;br /&gt;Asia/Beirut&lt;br /&gt;Europe/Athens&lt;br /&gt;Europe/Helsinki&lt;br /&gt;Asia/Kuwait&lt;br /&gt;Africa/Nairobi&lt;br /&gt;Asia/Baghdad&lt;br /&gt;Europe/Moscow&lt;br /&gt;Asia/Tehran&lt;br /&gt;Asia/Tbilisi&lt;br /&gt;Asia/Muscat&lt;br /&gt;Asia/Baku&lt;br /&gt;Asia/Yerevan&lt;br /&gt;Asia/Caucasus&lt;br /&gt;Asia/Kabul&lt;br /&gt;Asia/Karachi&lt;br /&gt;Asia/Tashkent&lt;br /&gt;Asia/Yekaterinburg&lt;br /&gt;Asia/Calcutta&lt;br /&gt;Asia/Colombo&lt;br /&gt;Asia/Katmandu&lt;br /&gt;Asia/Dhaka&lt;br /&gt;Asia/Almaty&lt;br /&gt;Asia/Rangoon&lt;br /&gt;Asia/Bangkok&lt;br /&gt;Asia/Krasnoyarsk&lt;br /&gt;Asia/Hong_Kong&lt;br /&gt;Asia/Kuala_Lumpur&lt;br /&gt;Australia/Perth&lt;br /&gt;Asia/Taipei&lt;br /&gt;Asia/Irkutsk&lt;br /&gt;Asia/Tokyo&lt;br /&gt;Asia/Seoul&lt;br /&gt;Asia/Yakutsk&lt;br /&gt;Australia/Darwin&lt;br /&gt;Australia/Adelaide&lt;br /&gt;Pacific/Guam&lt;br /&gt;Asia/Vladivostok&lt;br /&gt;Australia/Hobart&lt;br /&gt;Australia/Brisbane&lt;br /&gt;Australia/Sydney&lt;br /&gt;Asia/Magadan&lt;br /&gt;Pacific/Fiji&lt;br /&gt;Pacific/Auckland&lt;br /&gt;Pacific/Tongatapu&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;To get default timezone of the device:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;System.out.println("Default TimeZoneID: "+Calendar.getInstance().getTimeZone().getID());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It will print the timezone ID that you can use for further conversion. &lt;br /&gt;&lt;br /&gt;Now here is my logic in which I first check if the default timezone is IST, then I want a converted PST time or vice versa.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;long timestamp = System.currentTimeMillis();&lt;br /&gt;Calendar defaultCalendar = Calendar.getInstance(); //it gives time in default timezone set on device.&lt;br /&gt;DateFormat dtFormatter =  new SimpleDateFormat("E, yyyy-MM-dd HH:mm");&lt;br /&gt;  &lt;br /&gt;if(defaultCalendar.getTimeZone().getID().trim().equalsIgnoreCase("Asia/Calcutta")){&lt;br /&gt;  //This is now PST calendar instance&lt;br /&gt;  Calendar pstCal = Calendar.getInstance(TimeZone.getTimeZone("America/Los_Angeles")); &lt;br /&gt;  // set the curent time, this need to be currenttimemills since in BB and Java&lt;br /&gt;  // this is a number of milisecond from epoch. When it is set in calendar with&lt;br /&gt;  // timezone, it will pick the date time of that timezone.&lt;br /&gt;  pstCal.setTime(new Date(System.currentTimeMillis()));&lt;br /&gt;&lt;br /&gt;  // this is another tricky part I found. Using format and passing the calendar &lt;br /&gt;  // instance is what gives the right result.&lt;br /&gt;  // I tried using formatLocal but it always gives datetime as per default timezone&lt;br /&gt;  // of the system and as in my case it was always IST, so no conversion&lt;br /&gt;  // happens for PST.&lt;br /&gt;  String formattedDate2 = dtFormatter.format(pstCal, new StringBuffer(), null).toString(); //dtFormatter.formatLocal(timestamp);&lt;br /&gt;  dateTimeField2.setText(formattedDate2 + " PST");&lt;br /&gt;  &lt;br /&gt;  String formattedDate1 = dtFormatter.formatLocal(timestamp);&lt;br /&gt;  dateTimeField1.setText(formattedDate1 + "IST");&lt;br /&gt;&lt;br /&gt;} else if(defaultCalendar.getTimeZone().getID().equalsIgnoreCase("America/Los_Angeles")){&lt;br /&gt;  Calendar istCal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Calcutta"));&lt;br /&gt;  istCal.setTime(new Date(System.currentTimeMillis())); &lt;br /&gt;&lt;br /&gt;  String formattedDate2 = dtFormatter.format(istCal, new StringBuffer(), null).toString();//dtFormatter.formatLocal(timestamp);&lt;br /&gt;&lt;br /&gt;  dateTimeField2.setText(formattedDate2+" IST");&lt;br /&gt;  TimeZone tz = TimeZone.getDefault();&lt;br /&gt;  String formattedDate1 = dtFormatter.formatLocal(timestamp);&lt;br /&gt;  dateTimeField1.setText(formattedDate1+ "PST");&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So this is how I converted the IST time into PST on Blackberry. I hope this would be of some help to people looking for the same.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Sameer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2010%2F11%2Fconverting-datetime-in-different.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.sameernafdey.com/2010/11/converting-datetime-in-different.html" data-text="Converting Datetime in different timezones in Blackberry" data-count="horizontal" data-via="sameernafdey"&gt;Tweet&lt;/a&gt;&lt;script type="text/javascript" src="http://platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-5716949063280594051?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4MLUwgCF60uUkGPs5aftNPiLeBw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MLUwgCF60uUkGPs5aftNPiLeBw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4MLUwgCF60uUkGPs5aftNPiLeBw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MLUwgCF60uUkGPs5aftNPiLeBw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/pQn6lAUtr2Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/5716949063280594051/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=5716949063280594051" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/5716949063280594051?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/5716949063280594051?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/pQn6lAUtr2Y/converting-datetime-in-different.html" title="Converting Datetime in different timezones in Blackberry" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.sameernafdey.com/2010/11/converting-datetime-in-different.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04DSXc_fyp7ImA9Wx9QFUw.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-6731847045742594494</id><published>2010-11-16T21:57:00.002+05:30</published><updated>2010-12-28T11:29:38.947+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T11:29:38.947+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse Plugin 1.1.2" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="On Device Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="OS 5.0" /><title>On Device Debugging Blackberry OS 5.0 Not able to connect issue solution</title><content type="html">&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2010%2F11%2Fon-device-debugging-blackberry-os-50.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.sameernafdey.com/2010/11/on-device-debugging-blackberry-os-50.html" data-text="Solution to connectivity issue during On Device Debugging Blackberry OS 5.0" data-count="horizontal" data-via="sameernafdey"&gt;Tweet&lt;/a&gt;&lt;script type="text/javascript" src="http://platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Well as things are progressing, new OS updates are being released, new devices, new api and there comes new problems.&lt;br /&gt;&lt;br /&gt;I have been facing an interesting issue with On Device Debugging with Blackberry 8900 running on OS 5.0 using Eclipse Blackberry plugin 1.1.2.&lt;br /&gt;&lt;br /&gt;It was a strange and simple issue.. I was not able to connect to my device and hence was not able to debug on my device. As the problem was simple I thought the solution has to be simple.&lt;br /&gt;&lt;br /&gt;When I used to configure Eclipse Plugin to connect to device, it used to compile, sign and connect to device, then it ask me to enter device password and then boom, nothing happens. On device screen it shows a simple message Debugger connection failed.&lt;br /&gt;&lt;br /&gt;The solution was pretty simple. My device was password protected, so I just disabled the password and voila, am now able to connect to my device and debug the application successfully. Though while connecting to the device, the Eclipse Plugin used to ask me the password, so I was not guessing it could be a problem since it asked for password and I provided it, bot no it wasn't working.&lt;br /&gt;&lt;br /&gt;After trying so  many things unnecessarily, I figured the solution was quite simple. Sometimes a simple way and simple thinking is the only thing required to solve tedious issues.&lt;br /&gt;&lt;br /&gt;Anyway, I'm sharing this small story to help people who may be scratching there heads with this small issue.&lt;br /&gt;&lt;br /&gt;Happy debugging :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2010%2F11%2Fon-device-debugging-blackberry-os-50.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.sameernafdey.com/2010/11/on-device-debugging-blackberry-os-50.html" data-text="Solution to connectivity issue during On Device Debugging Blackberry OS 5.0" data-count="horizontal" data-via="sameernafdey"&gt;Tweet&lt;/a&gt;&lt;script type="text/javascript" src="http://platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-6731847045742594494?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Jrw4zxXK6mm164lWGhpfczYO8SA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jrw4zxXK6mm164lWGhpfczYO8SA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Jrw4zxXK6mm164lWGhpfczYO8SA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jrw4zxXK6mm164lWGhpfczYO8SA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/PRIYCFa2PNw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/6731847045742594494/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=6731847045742594494" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/6731847045742594494?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/6731847045742594494?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/PRIYCFa2PNw/on-device-debugging-blackberry-os-50.html" title="On Device Debugging Blackberry OS 5.0 Not able to connect issue solution" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.sameernafdey.com/2010/11/on-device-debugging-blackberry-os-50.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYBSXk4cCp7ImA9Wx5bFk8.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-4434407302165969646</id><published>2010-08-01T00:39:00.000+05:30</published><updated>2010-11-01T19:32:38.738+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T19:32:38.738+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RIM SPAM" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="Phishing Email" /><title>BEWARE: Phishing Email attack targeting Blackberry Developers.</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ZS4EfFjRI/TFR2oreQjzI/AAAAAAAAC4A/M7mNCMZh-cI/s1600/rim-phishing-email.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_S5ZS4EfFjRI/TFR2oreQjzI/AAAAAAAAC4A/M7mNCMZh-cI/s400/rim-phishing-email.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5500151486162702130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="  border-collapse: collapse; font-family:arial, sans-serif;font-size:medium;"&gt;&lt;h1 class="ha" face="arial, sans-serif" size="16px" style="  margin-top: 12px; margin-right: 5px; margin-bottom: 5px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); background: inherit; border-right: inherit; "&gt;BEWARE of Phishing email:&lt;/h1&gt;&lt;div&gt;I have been getting this email couple of times, and each time I get this first thing I feels is oh wow.. someone is trying to hack my RIM account... I feel eager to know what went wrong.. I then look for links in email to know more or do something to save my account and I click the link..... Thats what anyone would do when they receive following email:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-size:13px;"&gt;&lt;div&gt;Dear ,&lt;br /&gt;&lt;br /&gt;Recently, we noticed that you attempted to access your online profile.  Unfortunately, your account has been locked, after an unsuccessful authentication procedure. To unlock your account, access our &lt;a href="http://rim.taleo.net/careersection/professional/profile.ftl?lang=en&amp;amp;alt=1" target="_blank" style="color: rgb(92, 69, 32); "&gt;Career Section&lt;/a&gt; login page, click "Forgot your password?" and follow the instructions provided.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Please feel free to review and update your profile as often as you like.  You may also sign up to receive automatic email notifications when jobs matching your skills and interests become available.  To view a list of current &lt;a href="http://rim.taleo.net/careersection/professional/default.ftl?lang=en" target="_blank" style="color: rgb(92, 69, 32); "&gt;job openings&lt;/a&gt;, click here.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Thank you for your interest in Research In Motion.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;RIM Global Recruitment&lt;/div&gt;&lt;div&gt;Research In Motion&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Replies to this message are undeliverable. Please do not reply.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;Research In Motion (RIM), is a world leader in the mobile communications market, and has a history of developing breakthrough wireless solutions, such as the BlackBerry® wireless platform. To view our impressive BlackBerry solution products, please visit&lt;/em&gt; &lt;a title="http://www.blackberry.com/" href="http://www.blackberry.com/" target="_blank" style="color: rgb(92, 69, 32); "&gt;&lt;em&gt;www.BlackBerry.com&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;------------------------------------------------------------------&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;This is a PHISHING EMAIL and NOT FROM RESEARCH IN MOTION ltd. &lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;BEWARE that someone is trying to do something wrong with you, but this email is phishing. Keep your eyes OPEN before opening this email.&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;You can see clearly that this emails is generated from wrong sources and NOT RESEARCH IN MOTION.&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;First of all, you must notice that it do not address you by your name, It says "Dear ," If you read it with your senses you would probably guess something is wrong with email, that is what I did. How come RIM telling me my account is blocked when they don't even know my Name?? Strange isn't it? &lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;Second, To unlock your account, access our Career Section login page"???? What? Career Section? Login Page?? Unbelievably stupid idea, I have no Career Relation with RIM, yeah am Blackberry developer but I never applied for any Job post at RIM how come RIM ask me to access Career Section??? Insane. But its easy to understand if you read it carefully. &lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;More over read the complete email they are talking about Job openings and stuff in this email. But its all FAKE. DO NOT Click any Link it may HURT YOU.&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;As soon as I figured it out, I did google on this email issue to see if anyone else talked about it or not. Unfortunately I didn't found anything useful and seems like many people are not aware about it or so.&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;BUT I found a post about RIM fixing some loop holes that some how relates to this phishing emails (I Guess). &lt;/i&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style=" ;font-size:16px;"&gt;&lt;a href="http://www.zdnet.com/blog/security/rim-plugs-blackberry-phishing-hole/4500"&gt;http://www.zdnet.com/blog/security/rim-plugs-blackberry-phishing-hole/4500&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So be AWARE guys and do not get trapped.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks,&lt;/div&gt;&lt;div&gt;~Sameer Nafdey&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span id=":b3" class="hP" style="padding-right: 10px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span id=":b3" class="hP" style="padding-right: 10px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-4434407302165969646?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bmbz64UrqDC2jUqWyZ8xWTA61rw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bmbz64UrqDC2jUqWyZ8xWTA61rw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bmbz64UrqDC2jUqWyZ8xWTA61rw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bmbz64UrqDC2jUqWyZ8xWTA61rw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/cQQPdkcFQZY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/4434407302165969646/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=4434407302165969646" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/4434407302165969646?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/4434407302165969646?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/cQQPdkcFQZY/beware-of-phishing-email-i-have-been.html" title="BEWARE: Phishing Email attack targeting Blackberry Developers." /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_S5ZS4EfFjRI/TFR2oreQjzI/AAAAAAAAC4A/M7mNCMZh-cI/s72-c/rim-phishing-email.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.sameernafdey.com/2010/07/beware-of-phishing-email-i-have-been.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYGRHw9fSp7ImA9Wx5bFk8.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-3931938582396043565</id><published>2009-11-04T12:46:00.000+05:30</published><updated>2010-11-01T19:32:05.265+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T19:32:05.265+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="Screen resolution" /><category scheme="http://www.blogger.com/atom/ns#" term="Detection" /><category scheme="http://www.blogger.com/atom/ns#" term="HTTP Header" /><category scheme="http://www.blogger.com/atom/ns#" term="Device" /><title>BlackBerry Model &amp; Device detection from HTTP Request.</title><content type="html">&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F11%2Fblackberry-model-device-detection-from.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;br /&gt;I was just going through some online documents regarding Blackberry browser and device detection stuff and found some useful information which might be useful to you when it comes to detect Blackberry Model by intercepting the HTTP Request Headers to know the user's device's capabilities. So here it is. Also check the rdf document at the link quoted below.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;&lt;p class="pBody"&gt;&lt;i&gt;The browser reports the capabilities of the BlackBerry smartphone in the headers of the &lt;code class="cCode"&gt;HTTP&lt;/code&gt; &lt;code class="cCode"&gt;Request&lt;/code&gt;. The server hosting the application can examine these headers for the necessary information. The &lt;code class="cCode"&gt;User-Agent&lt;/code&gt; header provided by the browser is in the format: &lt;b class="bB"&gt;BlackBerry&lt;blackberry-model&gt;/&lt;software-version&gt;&lt;/software-version&gt;&lt;/blackberry-model&gt;&lt;/b&gt;.  For example, &lt;b class="bB"&gt;BlackBerry8800/4.2.1&lt;/b&gt;.&lt;/i&gt;&lt;/p&gt;&lt;p class="pBody"&gt;&lt;i&gt;In addition to the &lt;code class="cCode"&gt;User-Agent&lt;/code&gt; header, the &lt;code class="cCode"&gt;profile&lt;/code&gt; header can also be used to access information about the capabilities of the BlackBerry smartphone. This header is actually a web address that the server can access for a Resource Description Framework (RDF) Extensible Markup Language (XML) document that fully describes the BlackBerry smartphone. An example of such a document can be found here:&lt;/i&gt;&lt;/p&gt;&lt;p class="pBody"&gt;&lt;i&gt;&lt;a href="http://www.blackberry.net/go/mobile/profiles/uaprof/8800/4.2.1.rdf"&gt;http://www.blackberry.net/go/mobile/profiles/uaprof/8800/4.2.1.rdf&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Sameer.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F11%2Fblackberry-model-device-detection-from.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-3931938582396043565?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KuR4eh6yVzjoqAjpV692Hoh84p0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KuR4eh6yVzjoqAjpV692Hoh84p0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KuR4eh6yVzjoqAjpV692Hoh84p0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KuR4eh6yVzjoqAjpV692Hoh84p0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/vrcDnLKRe3o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/3931938582396043565/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=3931938582396043565" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/3931938582396043565?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/3931938582396043565?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/vrcDnLKRe3o/blackberry-model-device-detection-from.html" title="BlackBerry Model &amp; Device detection from HTTP Request." /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.sameernafdey.com/2009/11/blackberry-model-device-detection-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEERnk9eyp7ImA9Wx5bFkw.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-5646940514385218959</id><published>2009-11-02T16:41:00.001+05:30</published><updated>2010-11-01T16:53:27.763+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T16:53:27.763+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RIM" /><category scheme="http://www.blogger.com/atom/ns#" term="Dimension" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="Size" /><category scheme="http://www.blogger.com/atom/ns#" term="OS" /><category scheme="http://www.blogger.com/atom/ns#" term="Device List" /><category scheme="http://www.blogger.com/atom/ns#" term="Icon" /><category scheme="http://www.blogger.com/atom/ns#" term="Screen" /><category scheme="http://www.blogger.com/atom/ns#" term="Resolution" /><category scheme="http://www.blogger.com/atom/ns#" term="Version" /><title>Blackberry Device List with OS versions, Screen Resolution / Dimensions, Icon Sizes</title><content type="html">&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F11%2Fblackberry-device-list-with-os-versions.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ZS4EfFjRI/Su6_gMkwLbI/AAAAAAAAB7M/vYokhQgz0Bw/s1600-h/Blackberry_device_list.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 380px; height: 400px;" src="http://1.bp.blogspot.com/_S5ZS4EfFjRI/Su6_gMkwLbI/AAAAAAAAB7M/vYokhQgz0Bw/s400/Blackberry_device_list.png" alt="" id="BLOGGER_PHOTO_ID_5399463563115900338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://docs.blackberry.com/en/developers/deliverables/6625/Dimensions_for_screens_images_and_icons_476251_11.jsp"&gt;BlackBerry Smartphones - UI Guidelines&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.avella.name/bboschecker.php"&gt;BlackBerry Device OS Checker tool&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;The Information above posted is updated up to November 02, 2009. This information is supposed to be the latest one, though please check once at RIM and/or more reliable sources around internet.&lt;br /&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F11%2Fblackberry-device-list-with-os-versions.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-5646940514385218959?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/daYfn-xsTphq3xRhUebsX8NA4sI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/daYfn-xsTphq3xRhUebsX8NA4sI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/daYfn-xsTphq3xRhUebsX8NA4sI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/daYfn-xsTphq3xRhUebsX8NA4sI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/WZ-zCZjlWUs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/5646940514385218959/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=5646940514385218959" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/5646940514385218959?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/5646940514385218959?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/WZ-zCZjlWUs/blackberry-device-list-with-os-versions.html" title="Blackberry Device List with OS versions, Screen Resolution / Dimensions, Icon Sizes" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_S5ZS4EfFjRI/Su6_gMkwLbI/AAAAAAAAB7M/vYokhQgz0Bw/s72-c/Blackberry_device_list.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.sameernafdey.com/2009/11/blackberry-device-list-with-os-versions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AGQXs7fSp7ImA9WxNXF0k.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-888806493850977019</id><published>2009-10-05T17:57:00.000+05:30</published><updated>2009-10-05T17:58:40.505+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T17:58:40.505+05:30</app:edited><title>Intresting bug in Blackberry OS 4.6 Phone API</title><content type="html">I was writing some logic to handling outgoing call, so I used PhoneListener and simply handled the callInitiated() method as follows.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public void callInitiated(int callid) {&lt;br /&gt;        PhoneCall call = Phone.getCall(callid);&lt;br /&gt;        String calledNumber = call.getDisplayPhoneNumber();&lt;br /&gt;        if (calledNumber != null &amp;&amp; calledNumber.trim().length() &gt; 0) {&lt;br /&gt;            if("15245".equals(calledNumber){&lt;br /&gt;                //--do something--&lt;br /&gt;            }else if("15246".equals(calledNumber){&lt;br /&gt;                //--do something--&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The strange thing was it worked normally on OS 4.2, but when tried on OS 4.6 and higher, both conditions failed to match, even when the number was exactly same (i.e. 15245 or 15246). Later on when I investigated it further, I found the strange thing. The calledNumber was having a special character a.k.a LEFT-TO-RIGHT MARK in Unicode Character set. (for more info: &lt;a href="http://www.fileformat.info/info/unicode/char/200e/index.htm"&gt;read this&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;When printed on console using SOP statement, it prints '?' and is int 8206. So I had to put a special logic to this special problem and solved it.&lt;br /&gt;&lt;br /&gt;I hope this help someone having the same problem.&lt;br /&gt;&lt;br /&gt;Cheerz&lt;br /&gt;Sameer Nafdey&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-888806493850977019?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uJWcbjoGda9HDUau0BOgABVvtuE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uJWcbjoGda9HDUau0BOgABVvtuE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uJWcbjoGda9HDUau0BOgABVvtuE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uJWcbjoGda9HDUau0BOgABVvtuE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/rpuJsoYe0CM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/888806493850977019/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=888806493850977019" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/888806493850977019?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/888806493850977019?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/rpuJsoYe0CM/intresting-bug-in-blackberry-os-46.html" title="Intresting bug in Blackberry OS 4.6 Phone API" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.sameernafdey.com/2009/10/intresting-bug-in-blackberry-os-46.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUACQHo9cSp7ImA9WxBaGUg.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-3666313230939229634</id><published>2009-09-29T17:54:00.000+05:30</published><updated>2010-03-30T18:26:01.469+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-30T18:26:01.469+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry JDE MDS Internet Connection Problem Simulator" /><title>Solution : Unable to connect to Internet Blackberry simulator 8820 OS 4.2.0</title><content type="html">Well as a seasoned Blackberry developer you'd probably have a lot of different JDE's and Simulators setup on your development machine like me. I ran through a problem with some configurations of JDE's and MDS and I would like to share it with all.&lt;br /&gt;&lt;br /&gt;Background:&lt;br /&gt;I have many variants of JDEs installed on my machine like JDE 4.2.0, 4.3.0, 4.5.0, 4.6.0 and 4.7 and yeah a lot of simulators of various Blackberry Handheld with different OS versions too. So while working on multiple projects I usually need to keep switching between different JDEs as most of the Blackberry developers would do. So I try to keep my development machine optimized with only required things installed and try to reuse software components.&lt;br /&gt;&lt;br /&gt;This time I was trying to reuse the MDS Simulator that comes with JDE 4.3.0. I tried to use MDS of JDE 4.3.0 with JDE 4.2.0 by configuring the base path in MDS Tab of Preference configuration. It gets invoked properly from JDE 4.2.0 along with simulator when selected in the simulator config, though it do not get coupled properly with Simulator at run time. Which caused issue like I was not able to access MDS Service on simulator and obviously my applications were not able to connect too.&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;I just remember that long ago I used to use Blackberry MDS Simulator 4.1.0 as a separate installation with JDE 4.2.0 that used to work well. I tried to reinstall the MDS Simulator 4.1.0 separately and configured with JDE 4.2.0 and it started working well.&lt;br /&gt;&lt;br /&gt;So it made me think may be the JDE 4.2.0 only works with MDS 4.1.0, because somewhere I read on some forum that MDS that comes pre-installed with 4.5.0 and Higher is known as MDS-CS, which is some how different than previous MDS simulators, but infact JDE 4.3.0 comes with MDS Simulator not the MDS-CS so I thought it would work without an issue.&lt;br /&gt;&lt;br /&gt;May be I am wrong because I'm not having much idea about the MDS Simulator specifically, but yeah it solved my problem so it feels great to me to share this info to all.&lt;br /&gt;&lt;br /&gt;I hope it would help someone somewhere someday.&lt;br /&gt;&lt;br /&gt;Wish you good luck.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Sameer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-3666313230939229634?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hFlEPCtA2BdNlzYnqh05xJa1UNI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hFlEPCtA2BdNlzYnqh05xJa1UNI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hFlEPCtA2BdNlzYnqh05xJa1UNI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hFlEPCtA2BdNlzYnqh05xJa1UNI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/7JDDPXFfQnk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/3666313230939229634/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=3666313230939229634" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/3666313230939229634?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/3666313230939229634?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/7JDDPXFfQnk/soution-unable-to-connect-to-internet.html" title="Solution : Unable to connect to Internet Blackberry simulator 8820 OS 4.2.0" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.sameernafdey.com/2009/09/soution-unable-to-connect-to-internet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMCQ3Y8fyp7ImA9Wx5bFkw.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-5244922737805195398</id><published>2009-09-14T15:14:00.000+05:30</published><updated>2010-11-01T16:51:02.877+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T16:51:02.877+05:30</app:edited><title>Netbeans Code Template for Singleton class.</title><content type="html">&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F09%2Fnetbeans-code-template-for-singleton.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;As I'm into mobile development mostly, I use the singeton pattern very commonly, and mostly with Ui classes. So I usually need to create my classes as singleton, and its very tedious for me, kind of lazy I am ;).&lt;br /&gt;&lt;br /&gt;So I created a template for singleton class in Netbeans. Now I just types singleton in any blank class and inputs the class name and its done.&lt;br /&gt;&lt;br /&gt;You can also check how I do it. Just follow below steps, its pretty easy. If you like it, please drop a comment.&lt;br /&gt;&lt;br /&gt;Inside Netbeans..&lt;br /&gt;1. Open Tools&gt;Options&lt;br /&gt;2. Select Editor tab.&lt;br /&gt;3. Select Code Templates tab inside Editor Tab.&lt;br /&gt;4. Click New Button to add new code template.&lt;br /&gt;5. In Abbreviation filed give any name that would be the shortcut for using this template. I use "singleton" as my preferred abbreviation. Click Ok.&lt;br /&gt;6. Make sure newly added abbreviation "singleton" is selected in the template list, and you see Expanded Text a text box. put the following Template Code.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * Singleton reference of ${TYPE default="Object"}.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private static ${TYPE default="Object"} ${OBJ newVarName default="selfRef"};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * Constructs singleton instance of ${TYPE default="Object"}.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private ${TYPE}(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ${OBJ selfRef default="selfRef"} = this;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;${cursor}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * Provides reference to singleton object of ${TYPE default="Object"}.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * @return Singleton instance of ${TYPE default="Object"}.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public static final ${TYPE default="Object"} getInstance(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if(${OBJ selfRef default="selfRef"}==null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        ${OBJ selfRef default="selfRef"} = new ${TYPE}();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        return ${OBJ selfRef default="selfRef"};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;7. Optionally you can add description if you wish in the second tab next to Expanded Text tab.&lt;br /&gt;8. Click Ok and you're done.&lt;br /&gt;&lt;br /&gt;Enjoy Smart coding and happy coding :)&lt;br /&gt;&lt;br /&gt;I personally have used it with Netbeans version 5.5, 6.0, 6.1, 6.5 and 6.7. It works pretty smooth on all of them.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Sameer Nafdey&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F09%2Fnetbeans-code-template-for-singleton.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-5244922737805195398?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nKTuPRV3P11bRhkZCmZfx_e7VI0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nKTuPRV3P11bRhkZCmZfx_e7VI0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nKTuPRV3P11bRhkZCmZfx_e7VI0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nKTuPRV3P11bRhkZCmZfx_e7VI0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/OqDyL0Y7tAI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/5244922737805195398/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=5244922737805195398" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/5244922737805195398?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/5244922737805195398?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/OqDyL0Y7tAI/netbeans-code-template-for-singleton.html" title="Netbeans Code Template for Singleton class." /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://www.sameernafdey.com/2009/09/netbeans-code-template-for-singleton.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYNRXsyeyp7ImA9Wx9QFUw.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-3947011467439980217</id><published>2009-08-25T04:31:00.001+05:30</published><updated>2010-12-28T11:33:14.593+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T11:33:14.593+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Socket" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="WiFi Service Book" /><category scheme="http://www.blogger.com/atom/ns#" term="Http" /><category scheme="http://www.blogger.com/atom/ns#" term="Unite" /><category scheme="http://www.blogger.com/atom/ns#" term="BIS-B" /><category scheme="http://www.blogger.com/atom/ns#" term="BIS" /><category scheme="http://www.blogger.com/atom/ns#" term="WAP 1.0 1.1 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="Connector.open" /><category scheme="http://www.blogger.com/atom/ns#" term="Connection" /><category scheme="http://www.blogger.com/atom/ns#" term="Parsing" /><category scheme="http://www.blogger.com/atom/ns#" term="MDS" /><title>HttpConnection over BIS, WAP 1.0, 1.1, WAP 2.0, BIS-B, WiFi, Unite, MDS using ServiceBook parsing</title><content type="html">&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F08%2Fhttpconnection-over-bis-wap-10-11-wap.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.sameernafdey.com/2009/08/httpconnection-over-bis-wap-10-11-wap.html" data-text="Code Sample for HttpConnection over BIS, WAP 1.0, 1.1, WAP 2.0, BIS-B, WiFi, Unite, MDS using ServiceBook parsing" data-count="horizontal" data-via="sameernafdey"&gt;Tweet&lt;/a&gt;&lt;script type="text/javascript" src="http://platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- Share Options above --&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hi All,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am back again with yet another post in my blog. Yes it is again related to Blackberry Development. I think it might be of use for people looking for such solution.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well this time I am posting something very intresting. I've been struggling to find a universal way for internet connectivity on RIM Blackberry platform. Though its not that easy as it might look like, one might think its just one simple line of code to connect your application to internet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;HttpConnection connection = (HttpConnection)Connector.open("http://yourdomain.com");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well thats simple but not good enough for a product targetting different Blackberry device in different countries and carriers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Frankly saying, there is no universal way, though some workarounds are still possible, which I came to know after reading numerous blogs, articles, working for clients having Blakcberry Alliance Membership with RIM and public forums. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I must tell you I am really not an original author of this nice piece of code. This basically is a modification in the original Network Diagnostic Tools source code (&lt;a href="http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800451/800563/What_Is_-_Network_Diagnostic_Tool.html?nodeid=1450596&amp;amp;vernum=0"&gt;here&lt;/a&gt;) that RIM provides in their Developer Knowledge Base (&lt;a href="http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/customview.html?func=ll&amp;amp;objId=348583"&gt;link&lt;/a&gt;). I modified the code to make it useful in my applications and it worked good enough for me till now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope it helps someone out there. Your comments, views will be appriciated.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are not clear what this is all about, I would suggest to go through following links in the order as follows:&lt;/div&gt;&lt;div&gt;1. &lt;a href="http://supportforums.blackberry.com/rim/board/message?board.id=java_dev&amp;amp;message.id=29111"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Connecting your BlackBerry - http and socket connections to the world&lt;/span&gt;&lt;/a&gt; &lt;/div&gt;&lt;div&gt;2. &lt;a href="http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800451/800563/What_Is_-_Network_Diagnostic_Tool.html?nodeid=1450596&amp;amp;vernum=0"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Network Diagnostic Tool&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;3. &lt;span class="Apple-style-span"  style="font-size:small;"&gt;More Info at &lt;/span&gt;&lt;a href="http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800451/800563/What_Is_-_Network_Diagnostic_Tool.html?nodeid=1450596&amp;amp;vernum=0"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Developer Knowledge Base&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-------------------------------&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=";font-family:'courier new';font-size:100%;"  &gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;/**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * NetworkUtils.java&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * Note: This class is not originally written by myself. Rather it is an &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * modified version of the free source code of the application a.k.a &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * NetworkDiagnosticTool provided by RIM. Feel free to modify and use this &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * source code but on your own risk. As I am not original author of this code, &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * I will not be responsible for any issue if you use this source code.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * Refrences:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * 1. NetworkDiagnostic Tool: http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800451/800563/What_Is_-_Network_Diagnostic_Tool.html?nodeid=1450596&amp;amp;vernum=0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * 2. Blackberry Technical Knowledge Base: http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/customview.html?func=ll&amp;amp;objId=348583&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * 3. Blackberry Support Forum Post: http://supportforums.blackberry.com/rim/board/message?board.id=java_dev&amp;amp;message.id=29111&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import java.io.EOFException;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import net.rim.device.api.servicebook.ServiceBook;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import net.rim.device.api.servicebook.ServiceRecord;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import net.rim.device.api.synchronization.ConverterUtilities;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import net.rim.device.api.system.CoverageInfo;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import net.rim.device.api.system.WLANInfo;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import net.rim.device.api.util.DataBuffer;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;/**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * NetworkUtils for Blackberry. This class provide utility functions to format &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * the URL for HTTP and Socket Connections in RIM Blackberry platform that leverage &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * the capability of the device to connect to internet via MDS, BIS, WAP 1.0, 1.1, &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * WAP 2.0, Unite, WiFi.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * For more information about the connectivity options etc. Please have a look at the &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * great post in Blackberry Support Forum here &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * &lt;a href="http://supportforums.blackberry.com/rim/board/message?board.id=java_dev&amp;amp;message.id=29111"&gt;Connecting your BlackBerry - http and socket connections to the world&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * @author Sameer Nafdey&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * @since August 21, 2009. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; * sameer.nafdey@gmail.com&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;public final class NetworkUtils {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /** Stores transport ServiceBooks if found. Otherwise, null */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private ServiceRecord srMDS,  srBIS,  srWAP,  srWAP2,  srWiFi,  srUnite;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /** Flags indicating the coverage status of each transport */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private boolean coverageTCP = false,  coverageMDS = false,  coverageBIS = false,  coverageWAP = false,  coverageWAP2 = false,  coverageWiFi = false,  coverageUnite = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Applies to WAP1.0 connection only.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * This is a flag to indicate if WAP parameters should be parsed from the ServiceBook.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * If user provides any WAP parameter on the InputScreen, this flag is set to false.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * TODO Currently parsing from service book is not supported.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private boolean wapParametersUnavailable = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * CONFIG_TYPE_ constants which are used to find appropriate service books.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * TODO Currently only Unite is detected this way.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private static final int CONFIG_TYPE_WAP = 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private static final int CONFIG_TYPE_BES = 1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private static final int CONFIG_TYPE_WIFI = 3;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private static final int CONFIG_TYPE_BIS = 4;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private static final int CONFIG_TYPE_WAP2 = 7;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private static final String UNITE_NAME = "Unite";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    public String formatURL(String httpBaseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        initializeTransportAvailability();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;         * Rest of this method simply tries to communicate over different transports&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;         * that are available. For each transport it will retry 'retries' many times if&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;         * an attempt fails.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;         */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /** Direct TCP using HTTP */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (coverageTCP) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Direct TCP (HTTP)");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return getTCPURL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /* MDS using HTTP */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (srMDS != null &amp;amp;&amp;amp; coverageMDS) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("MDS (HTTP)");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return getMDSURL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        } else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (srMDS == null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("No MDS service records found.");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (!coverageMDS) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("MDS coverage is not available");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /* Unite using HTTP */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (srUnite != null &amp;amp;&amp;amp; coverageUnite) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Unite (HTTP)");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return getUniteURL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        } else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (srUnite == null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("No Unite service records found.");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (!coverageUnite) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("Unite coverage is not available");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /* BIS-B using HTTP */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (srBIS != null &amp;amp;&amp;amp; coverageBIS) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("BIS-B (HTTP)");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return getBISURL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        } else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (srBIS == null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("No BIS-B service records found.");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (!coverageBIS) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("BIS-B coverage is not available");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /* WAP1.0 usign HTTP */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        getWAPURL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (srWAP != null &amp;amp;&amp;amp; !wapParametersUnavailable &amp;amp;&amp;amp; coverageWAP) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("WAP (HTTP)");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return getWAPURL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        } else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (srWAP == null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("No WAP service records found.");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (!coverageWAP) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("WAP coverage is not available");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (wapParametersUnavailable) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("Please provide WAP parameters");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /* WAP2.0 using HTTP */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (srWAP2 != null &amp;amp;&amp;amp; coverageWAP2) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("WAP2 (HTTP)");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return getWAP2URL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        } else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (srWAP2 == null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("No WAP2 service records found.");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (!coverageWAP2) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("WAP2 coverage is not available");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /* WiFi using HTTP*/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (srWiFi != null &amp;amp;&amp;amp; coverageWiFi) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("WiFi (HTTP)");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return getWiFiURL(httpBaseURL);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        } else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (srWiFi == null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("No WiFi service records found.");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (!coverageWiFi) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                System.out.println("WiFi coverage is not available");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return httpBaseURL;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Initializes the ServiceRecord instances for each transport (if available). Otherwise leaves it null.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Also determines if sufficient coverage is available for each transport and sets coverage* flags.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private void initializeTransportAvailability() {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        ServiceBook sb = ServiceBook.getSB();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        ServiceRecord[] records = sb.getRecords();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        for (int i = 0; i &lt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            ServiceRecord myRecord = records[i];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            String cid, uid;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (myRecord.isValid() &amp;amp;&amp;amp; !myRecord.isDisabled()) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                cid = myRecord.getCid().toLowerCase();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                uid = myRecord.getUid().toLowerCase();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                // BIS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                if (cid.indexOf("ippp") != -1 &amp;amp;&amp;amp; uid.indexOf("gpmds") != -1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                    srBIS = myRecord;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                // BES&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                if (cid.indexOf("ippp") != -1 &amp;amp;&amp;amp; uid.indexOf("gpmds") == -1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                    srMDS = myRecord;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                // WiFi&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                if (cid.indexOf("wptcp") != -1 &amp;amp;&amp;amp; uid.indexOf("wifi") != -1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                    srWiFi = myRecord;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                // Wap1.0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                if (getConfigType(myRecord) == CONFIG_TYPE_WAP &amp;amp;&amp;amp; cid.equalsIgnoreCase("wap")) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                    srWAP = myRecord;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                // Wap2.0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                if (cid.indexOf("wptcp") != -1 &amp;amp;&amp;amp; uid.indexOf("wifi") == -1 &amp;amp;&amp;amp; uid.indexOf("mms") == -1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                    srWAP2 = myRecord;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                // Unite&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                if (getConfigType(myRecord) == CONFIG_TYPE_BES &amp;amp;&amp;amp; myRecord.getName().equals(UNITE_NAME)) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                    srUnite = myRecord;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_BIS_B)) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            coverageBIS = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Coverage Status: BIS-B - Online");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_DIRECT)) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            coverageTCP = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Coverage Status: COVERAGE_DIRECT - Online");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            coverageWAP = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Coverage Status: WAP 1.0, 1.1 - Online");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            coverageWAP2 = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Coverage Status: WAP 2.0 - Online");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_MDS)) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            coverageMDS = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Coverage Status: MDS - Online");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            coverageUnite = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Coverage Status: Unite - Online");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            coverageWiFi = true;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            System.out.println("Coverage Status: Wifi - Online");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Gets the config type of a ServiceRecord using getDataInt below&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @param record    A ServiceRecord&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return  configType of the ServiceRecord&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private int getConfigType(ServiceRecord record) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return getDataInt(record, 12);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Gets the config type of a ServiceRecord. Passing 12 as type returns the configType.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @param record    A ServiceRecord&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @param type      dataType&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return  configType&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private int getDataInt(ServiceRecord record, int type) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        DataBuffer buffer = null;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        buffer = getDataBuffer(record, type);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (buffer != null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            try {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                return ConverterUtilities.readInt(buffer);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            } catch (EOFException e) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                return -1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return -1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Utility Method for getDataInt()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private DataBuffer getDataBuffer(ServiceRecord record, int type) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        byte[] data = record.getApplicationData();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (data != null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            DataBuffer buffer = new DataBuffer(data, 0, data.length, true);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            try {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                buffer.readByte();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            } catch (EOFException e1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                return null;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            if (ConverterUtilities.findType(buffer, type)) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;                return buffer;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return null;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Constructs a Direct TCP url from the baseURL provided by the user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return      A url with Direct TCP parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private String getTCPURL(String baseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String url = baseURL + ";deviceside=true";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String apn = ""; //inputs.getEfTcpAPN();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String username = ""; //inputs.getEfTcpAPNUser();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String password = ""; //inputs.getEfTcpAPNPassword();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (apn.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url += ";apn=" + apn;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (username.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url += ";TunnelAuthUsername=" + username;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (password.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url += ";TunnelAuthPassword=" + password;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return url;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Constructs a MDS url from the baseURL provided by the user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return      A url with MDS parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private String getMDSURL(String baseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return baseURL + ";deviceside=false";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Constructs a Unite url from the baseURL provided by the user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return      A url with Unite parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private String getUniteURL(String baseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return baseURL + ";deviceside=false" + ";ConnectionUID=" + srUnite.getUid();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Constructs a BIS-B url from the baseURL provided by the user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return      A url with BIS-B parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private String getBISURL(String baseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return baseURL + ";deviceside=false"; // Not implemented since this is only available to ISV partners of RIM&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Constructs a WAP2.0 url from the baseURL provided by the user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return      A url with WAP2.0 parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private String getWAP2URL(String baseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return baseURL + ";deviceside=true" + ";ConnectionUID=" + srWAP2.getUid();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Constructs a WiFi url from the baseURL provided by the user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return      A url with WiFi parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private String getWiFiURL(String baseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        return baseURL + ";interface=wifi";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    /**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * Constructs a WAP1.0 url from the baseURL provided by the user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     * @return      A url with WAP1.0 parameters&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;     */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    private String getWAPURL(String baseURL) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String url = baseURL + ";deviceside=true";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String gatewayIP = ""; //inputs.getEfWapGatewayIP();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String gatewayAPN = ""; //inputs.getEfWapGatewayAPN();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String gatewayPort = ""; //inputs.getEfWapGatewayPort();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String sourceIP = ""; //inputs.getEfWapSourceIP();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String sourcePort = ""; //inputs.getEfWapSourcePort();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String username = ""; //inputs.getEfWapUser();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        String password = ""; //inputs.getEfWapPassword();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (gatewayIP.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url = url + ";WapGatewayIP=" + gatewayIP;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (gatewayAPN.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url = url + ";WapGatewayAPN=" + gatewayAPN;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (gatewayPort.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url = url + ";WapGatewayPort=" + gatewayPort;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (sourceIP.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url = url + ";WapSourceIP=" + sourceIP;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (sourcePort.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url = url + ";WapSourcePort=" + sourcePort;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (username.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url = url + ";TunnelAuthUsername=" + username;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (password.length() &gt; 0) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            url = url + ";TunnelAuthPassword=" + password;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        /*&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (inputs.getCfWapEnableWTLS()) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        url = url + ";WapEnableWTLS=true";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        wapParametersUnavailable = false;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }*/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        if (wapParametersUnavailable &amp;amp;&amp;amp; srWAP != null) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return url;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }/** Not implemented */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;            return url;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;-------------------------------&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheerz,&lt;/div&gt;&lt;div&gt;Sameer.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Share Options below --&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sameernafdey.com%2F2009%2F08%2Fhttpconnection-over-bis-wap-10-11-wap.html&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;height=80" style="border: medium none; overflow: hidden; width: 450px; height: 80px;" allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.sameernafdey.com/2009/08/httpconnection-over-bis-wap-10-11-wap.html" data-text="Code Sample for HttpConnection over BIS, WAP 1.0, 1.1, WAP 2.0, BIS-B, WiFi, Unite, MDS using ServiceBook parsing" data-count="horizontal" data-via="sameernafdey"&gt;Tweet&lt;/a&gt;&lt;script type="text/javascript" src="http://platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- Share Options above --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-3947011467439980217?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kyxbkg-v-Sb0D6ywTQJuioP-7zg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kyxbkg-v-Sb0D6ywTQJuioP-7zg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kyxbkg-v-Sb0D6ywTQJuioP-7zg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kyxbkg-v-Sb0D6ywTQJuioP-7zg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/oCLl_CqRohs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/3947011467439980217/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=3947011467439980217" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/3947011467439980217?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/3947011467439980217?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/oCLl_CqRohs/httpconnection-over-bis-wap-10-11-wap.html" title="HttpConnection over BIS, WAP 1.0, 1.1, WAP 2.0, BIS-B, WiFi, Unite, MDS using ServiceBook parsing" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.sameernafdey.com/2009/08/httpconnection-over-bis-wap-10-11-wap.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQBQX8zfyp7ImA9WxRWE04.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-455019130400523617</id><published>2008-10-25T00:24:00.000+05:30</published><updated>2008-10-30T09:15:50.187+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-30T09:15:50.187+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sigtool.db" /><category scheme="http://www.blogger.com/atom/ns#" term="sigtool.csk" /><category scheme="http://www.blogger.com/atom/ns#" term="RIM" /><category scheme="http://www.blogger.com/atom/ns#" term="JDE" /><category scheme="http://www.blogger.com/atom/ns#" term="SignatureTool.jar" /><category scheme="http://www.blogger.com/atom/ns#" term="Home" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Vista" /><category scheme="http://www.blogger.com/atom/ns#" term="sigtool.set" /><category scheme="http://www.blogger.com/atom/ns#" term="Missing" /><category scheme="http://www.blogger.com/atom/ns#" term="Signing Keys" /><category scheme="http://www.blogger.com/atom/ns#" term="Premium" /><title>Blackberry code signing on Vista Home Premium</title><content type="html">Hi,&lt;br /&gt;I am writing this blog entry to help people facing troubles with SignatureTool shipped with BlackBerry JDE's. Here is the problem description.&lt;br /&gt;&lt;br /&gt;When we try to register the Signing keys provided by RIM to sign our applications and if you are using Windows Vista Home Premium, then you can do it the way it needs to be. The problem I faced was to find the sigtool.csk, sigtool.db and sigtool.set files so that I can take backup of these vaulable files.&lt;br /&gt;&lt;br /&gt;Also by default the latest JDE installed in your machine will be handling the registration process of your .csi files. In that case if you have been using older version of RIM BlackBerry JDE on your machine while have the updated version installed, you might be in similar situation like I have been. What happens is, when you register the signing keys they are registered and sigtool.* files are generated by SignatureTool.jar in the latest JDE's path\bin directory.&lt;br /&gt;&lt;br /&gt;Now On Windows Vista if you do not have access to administrator account (which by default is disabled by Microsoft for security concerns), you won't see these sigtool.* files in JDE\bin directory.&lt;br /&gt;&lt;br /&gt;Steps to solve this:&lt;br /&gt;1. If Administrator account is not enabled, you need to enable this first.&lt;br /&gt;2. Follow steps provided &lt;a href="http://gchandra.wordpress.com/2007/09/03/how-to-enable-administrator-account-in-vista-home-premium/"&gt;here &lt;/a&gt;to enable the Administrator account.&lt;br /&gt;3. Remember to set a password for newly enabled Administrator account, then login into adminsitrator account.&lt;br /&gt;4. Now if you search for sigtool files, you may still not find those files, but try Advance Search tool in windows vista and try to find file named as sigtool.&lt;br /&gt;5. You can see the results to locate the actual sigtool.* files.&lt;br /&gt;6. Or you can check the following directory where you will find the sigtool files&lt;br /&gt;C:\Users\&lt;username&gt;\AppData\Local\VirtualStore\Program Files\Research In Motion\BlackBerry JDE &lt;version&gt;\bin&lt;br /&gt;&lt;br /&gt;I hope it helps, if not drop a message I will be happy to help.&lt;br /&gt;&lt;br /&gt;Thanks.&lt;br /&gt;&lt;p&gt;Updates&lt;/p&gt;&lt;p&gt;Another solution Research In Motion Developer Support provided me later last week is as follows, I tried this too.. it works well.&lt;/p&gt;&lt;p&gt;Due to file virtualization these files may not be visible in Windows Explorer or when searching the bin folder.&lt;br /&gt;Resolution&lt;/p&gt;&lt;p&gt;1.      Explore to the Blackberry JDE Bin directory (e.g. Program Files\Research In Motion\BlackBerry JDE 4.x.x\bin)&lt;/p&gt;&lt;p&gt;2.      (For Windows Vista users only) Click the "Compatibility Files" button to show any files hidden through file virtualization.&lt;/p&gt;&lt;p&gt;3.      Delete any sigtool.* files.&lt;/p&gt;&lt;p&gt;4.      Attempt to register your new JDE Signature Key .CSI files again.&lt;/p&gt;&lt;p&gt;Thanks RIM but your support is little slower, please make it fast.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-455019130400523617?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/APipY1JTv-L3AMtSR4zDUowhFs0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/APipY1JTv-L3AMtSR4zDUowhFs0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/APipY1JTv-L3AMtSR4zDUowhFs0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/APipY1JTv-L3AMtSR4zDUowhFs0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/hwADzzd9AxM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/455019130400523617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=455019130400523617" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/455019130400523617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/455019130400523617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/hwADzzd9AxM/blackberry-code-signing-on-vista-home.html" title="Blackberry code signing on Vista Home Premium" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.sameernafdey.com/2008/10/blackberry-code-signing-on-vista-home.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcBR387fCp7ImA9Wx5bFk8.&quot;"><id>tag:blogger.com,1999:blog-232590205929897893.post-4287333585082862141</id><published>2007-05-01T14:44:00.000+05:30</published><updated>2010-11-01T19:30:56.104+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T19:30:56.104+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="FlowFieldManager" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="Custom Screen" /><category scheme="http://www.blogger.com/atom/ns#" term="Custom Manager" /><category scheme="http://www.blogger.com/atom/ns#" term="Screen" /><category scheme="http://www.blogger.com/atom/ns#" term="User Interface" /><category scheme="http://www.blogger.com/atom/ns#" term="Thumbnail Layout" /><title>My Blackberry Innovation!</title><content type="html">&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_S5ZS4EfFjRI/RlrR5Itru5I/AAAAAAAAAAU/PoFr8EnzIC0/s1600-h/8100.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5069595110080756626" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_S5ZS4EfFjRI/RlrR5Itru5I/AAAAAAAAAAU/PoFr8EnzIC0/s400/8100.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_S5ZS4EfFjRI/RlrReItru4I/AAAAAAAAAAM/RVnxi2MmoFs/s1600-h/8100.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;Hi,&lt;br /&gt;Today I am sharing my first ever innovation in Blackberry. Here is my success story and the code I created.&lt;br /&gt;&lt;br /&gt;One day I was tyring to customize my applications main screen. I wanted main screen to have thumbnail icons which should be the navigation menu for my application. I googled for some samples. Only help I found was on &lt;/span&gt;&lt;a href="http://www.blackberry.com/developers/javaknowledge/search.shtml"&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;Blackberry's Java Knowledge base&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;, but it was not what I was looking for. Then I decided to do something original and started developing my own thumbnail screen. Here I am sharing my code for the community, so that anyone who is facing same problem can have idea about things.&lt;br /&gt;&lt;br /&gt;Now, let me tell you something about the code I wrote. Everything is same as we do in all our blackberry applications except MainScreenManager and Icons classes. The MainScreenManager is mainly responsible for layout purpose. MainScreenManager layout all the icons in thumbnail view pattern which is familiar to us. The Icon class is nothing but the field which contains two images for the icon, first one is for the &lt;a href="http://1.bp.blogspot.com/_S5ZS4EfFjRI/RlrTkYtru6I/AAAAAAAAAAc/x3brGOKuX9k/s1600-h/8703e-4.1.0.359.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5069596952621726626" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_S5ZS4EfFjRI/RlrTkYtru6I/AAAAAAAAAAc/x3brGOKuX9k/s400/8703e-4.1.0.359.jpg" border="0" /&gt;&lt;/a&gt;unfocused and second for focused view. The first image is shown when icon is not having focus, the second one is shown when it has got focus.&lt;br /&gt;&lt;br /&gt;When you will look at the Icon() constructor, you'll find some logic for label of the icon. I feel I must explain what I did there. So what I am doing is I pass string as lable and in that lable if I want to put two words and I want them to be on seperate lines then I pass those words as single string and words seperated by '-' for example "Icon-one" will pur "Icon" at one line and "One" at the other line. I calculated lable's width and height for painting it as center aligned. Same is applicable for images in icons as well. I think this is enough for understanding the complaxities of this code. Rest all is simple, I suppose.&lt;br /&gt;&lt;br /&gt;Thats all from my side today.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-----------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* Main.java&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* @author Sameer Nafdey&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* @since 07-March-2007&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package thumnailScreenTest;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.UiApplication;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.Manager;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.Graphics;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.Field;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.DrawStyle;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.component.LabelField;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.Ui;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.Font;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.FontFamily;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.container.MainScreen;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.component.Menu;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;class Main extends UiApplication{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private static Main ref;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Main() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ref = this;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;pushScreen(FirstScreen.getInstance());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public static void main(String[] args){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Main main = new Main();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;main.enterEventDispatcher();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public static Main getInstance(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if(ref == null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ref = new Main();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return ref;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;class FirstScreen extends MainScreen{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private static FirstScreen ref;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* Icon represents individual thumbnail icon in the screen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon1 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon2 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon3 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon4 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon5 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon6 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon7 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Icon icon8 = null;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private FirstScreen(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;super(DEFAULT_CLOSE Manager.VERTICAL_SCROLL);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setTitle("Thumbnail Screen Demo");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MainScreenManager mgr = new MainScreenManager();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//FlowFieldManager mgr = new FlowFieldManager();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon1 = new Icon("Home.png", "Home-1.png", "Icon-One");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon2 = new Icon("About.png", "About-1.png", "Icon-Two");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon3 = new Icon("Search.png", "Search-1.png", "Icon-Three");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon4 = new Icon("Print.png", "Print-1.png", "Icon-Four");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon5 = new Icon("Open.png", "Open-1.png", "Icon-Five");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon6 = new Icon("Refresh.png", "Refresh-1.png", "Icon-Six");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon7 = new Icon("Play.png", "Play-1.png", "Icon-Seven");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;icon8 = new Icon("Save_As.png", "Save_As-1.png", "Icon-Eight");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//Add Icons to custom manager which will layout all icons in thumbnail view&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon3);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon4);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon5);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon6);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon7);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mgr.add(icon8);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;add(new LabelField("Coded by: Sameer Nafdey", LabelField.ELLIPSIS LabelField.USE_ALL_WIDTH));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;add(new LabelField("Email: sameer dot nafdey at gmail dot com", LabelField.ELLIPSIS LabelField.USE_ALL_WIDTH));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;try{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FontFamily ff = FontFamily.forName("System");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Font fnt = ff.getFont(Font.PLAIN_OUTLINE_EFFECT, 8, Ui.UNITS_pt);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setFont(fnt);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}catch(Exception e){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;System.out.println("Exception occured: "+e);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//finally add the manager into default manager which in this case is VerticalFieldManager&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;add(mgr);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public boolean onClose(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;System.exit(0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return true;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public static FirstScreen getInstance(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if(ref == null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ref = new FirstScreen();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return ref;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* MainScreenManager custom manager class for providing thumbnail view layout for the icons.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private static class MainScreenManager extends Manager{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MainScreenManager() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;super(Manager.NO_HORIZONTAL_SCROLL Manager.NO_VERTICAL_SCROLL );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public void sublayout(int width, int height){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;try{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int numberOfFields = getFieldCount();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//x, y coordinate of the icons&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int x = 10;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int y = 10;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for(int i=0; i numberOfFields; i++){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Field f = getField(i);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setPositionChild(f, x, y);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;layoutChild(f, f.getPreferredWidth(), f.getPreferredHeight());&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;if(x+f.getPreferredWidth()*2+10 &lt;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}else{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = 5;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y += f.getPreferredHeight()+5;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setExtent(width, height);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}catch(Exception e){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;System.out.println("Exception thrown in MainScreenManager.sublayout(): "+ e);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* Icon.java&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* @author Sameer Nafdey&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* @since 07-March-2007&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package thumnailScreenTest;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.ui.component.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import net.rim.device.api.system.*;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Icon extends Field implements DrawStyle {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Bitmap image = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private String labelText = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private String labelText1 = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private String onFocusImageName = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private String imageName = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private FontFamily preferredFontFamily = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private Font preferredFont = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private int _labelTextHeight = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private int _labelTextWidth = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private int _labelText1Height = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private int _labelText1Width = 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public Icon(String _imageName, String _onFocusImageName, String _label){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;this.imageName = _imageName;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;this.onFocusImageName = _onFocusImageName;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;this.image = Bitmap.getBitmapResource(this.imageName);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int index = _label.indexOf('-');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if( index == -1){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;labelText = _label;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}else{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;labelText = _label.substring(0, index);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;labelText1 = _label.substring(index+1, _label.length());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;try{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;preferredFontFamily = FontFamily.forName("System");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;preferredFont = preferredFontFamily.getFont(Font.PLAIN, 7, Ui.UNITS_pt);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setFont(preferredFont);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;_labelTextHeight = preferredFont.getHeight();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;_labelTextWidth = preferredFont.getAdvance(labelText);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;_labelText1Height = preferredFont.getHeight();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;_labelText1Width = preferredFont.getAdvance(labelText1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}catch(Exception e){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;System.out.println("Exception occured: "+e);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* This method layout the icons extent&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* @param width width provided by this field's manager&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* @param height height provided by this field's manager&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;protected void layout(int width, int height){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;width = Math.min(width, getPreferredWidth());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;height = Math.min(height, getPreferredHeight());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setExtent(width, height);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* This method tells whether field is focusable or not.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public boolean isFocusable(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return true;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;protected void onFocus(int direction){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;image = Bitmap.getBitmapResource(this.onFocusImageName);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;preferredFont = preferredFontFamily.getFont(Font.BOLD, 7, Ui.UNITS_pt);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setFont(preferredFont);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;invalidate();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;protected void onUnfocus(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;image = Bitmap.getBitmapResource(this.imageName);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;preferredFont = preferredFontFamily.getFont(Font.PLAIN, 7, Ui.UNITS_pt);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setFont(preferredFont);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;invalidate();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//Overriding this method just to avoid default drawFocus(),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//which draws Focus rectangle with default color.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;protected void drawFocus(Graphics g, boolean b){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* This method paints an icon. Icons are drawn center aligned.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* @param graphics Graphics object of this field.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;protected void paint(Graphics graphics){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int imageX, imageY;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int textX, textY;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;imageX = (getWidth()/2) - (image.getWidth()/2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;imageY = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;textY = image.getHeight()+2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;textX = (getWidth()/2) - (_labelTextWidth/2);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;graphics.drawBitmap(imageX, imageY, image.getWidth(), image.getHeight(), image, 0, 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;graphics.drawText(labelText, textX, textY,(DrawStyle.HALIGN_MASK DrawStyle.HCENTER));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if(this.labelText1 != null){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;textX = (getWidth()/2) - (_labelText1Width/2);;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;textY = textY+_labelTextHeight;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;graphics.drawText(labelText1, textX, textY,(DrawStyle.HALIGN_MASK DrawStyle.HCENTER));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public int getPreferredWidth(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return 70;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public int getPreferredHeight(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return 70;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;Yeah..One more thing, you need to change the images in order to use it. Thats all for now. Will contribute more later...&lt;br /&gt;&lt;br /&gt;Happy coding ;)&lt;br /&gt;&lt;br /&gt;Sameer&lt;br /&gt;sameer.nafdey@gmail.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/232590205929897893-4287333585082862141?l=www.sameernafdey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xpy_vJN8IsxdcK3I-LG2RiAyKaY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xpy_vJN8IsxdcK3I-LG2RiAyKaY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xpy_vJN8IsxdcK3I-LG2RiAyKaY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xpy_vJN8IsxdcK3I-LG2RiAyKaY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/sameernafdey/AHWt/~4/DQMlyvGs2Ic" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.sameernafdey.com/feeds/4287333585082862141/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=232590205929897893&amp;postID=4287333585082862141" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/4287333585082862141?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/232590205929897893/posts/default/4287333585082862141?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/sameernafdey/AHWt/~3/DQMlyvGs2Ic/my-blackberry-innovation.html" title="My Blackberry Innovation!" /><author><name>Sameer Nafdey</name><uri>http://www.blogger.com/profile/10385395052677002378</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/_S5ZS4EfFjRI/TM8HnyfNBYI/AAAAAAAAC5s/ktwFqDp58qQ/S220/12072009208.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_S5ZS4EfFjRI/RlrR5Itru5I/AAAAAAAAAAU/PoFr8EnzIC0/s72-c/8100.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.sameernafdey.com/2007/05/my-blackberry-innovation.html</feedburner:origLink></entry></feed>

