- Timestamp:
- 12/17/09 12:39:49 (3 years ago)
- Location:
- apps/blackberry/branches/1.6/blackberry
- Files:
-
- 14 modified
-
build.xml (modified) (1 diff)
-
src4.1/org/telnic/blackberry/LookupScreen.java (modified) (3 diffs)
-
src4.2/org/telnic/blackberry/LookupScreen.java (modified) (5 diffs)
-
src/org/telnic/blackberry/dns/DNSInputStream.java (modified) (3 diffs)
-
src/org/telnic/blackberry/dns/DNSTelnameNaptrResourceRecord.java (modified) (3 diffs)
-
src/org/telnic/blackberry/lookup/LookupTelname.java (modified) (3 diffs)
-
src/org/telnic/blackberry/lookup/LookupWorker.java (modified) (2 diffs)
-
src/org/telnic/blackberry/TelnameApp.java (modified) (3 diffs)
-
src/org/telnic/blackberry/TelnameAppResource.java (modified) (2 diffs)
-
src/org/telnic/blackberry/util/listcallbacks/LookupResultsListCallback.java (modified) (2 diffs)
-
src/org/telnic/blackberry/util/ScrollingRichTextField.java (modified) (3 diffs)
-
src/org/telnic/blackberry/util/xml/SOMemberWebServices.java (modified) (1 diff)
-
src/resources/TelnameApp.rrc (modified) (1 diff)
-
src/resources/TelnameApp.rrh (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
apps/blackberry/branches/1.6/blackberry/build.xml
r562 r603 3 3 <project name="DotTel-BB" default="build"> 4 4 5 <property name="ver" value="1. 5" />5 <property name="ver" value="1.6" /> 6 6 <property name="appname" value="Access .tel" /> 7 7 <property name="codename" value="DotTel-BB" /> -
apps/blackberry/branches/1.6/blackberry/src4.1/org/telnic/blackberry/LookupScreen.java
r561 r603 103 103 * 104 104 * @author Ben Dowling, Jonathan Maycock 105 * @version $Id: LookupScreen.java,v 1. 9 2009/11/06 11:57:14jm2 Exp $105 * @version $Id: LookupScreen.java,v 1.10 2009/12/17 12:02:16 jm2 Exp $ 106 106 */ 107 107 public class LookupScreen extends MainScreen … … 1059 1059 lt.setListener( null ); 1060 1060 lt.cancel(); 1061 lt = null;1062 1061 1063 1062 if (result == null || result.validFor() < 0) … … 1355 1354 final int totalsize = result.getTxtRecords().size(); 1356 1355 final Vector txt = new Vector(); 1356 1357 domainDisplayField = null; 1358 longLabels = new Vector(); 1359 keywords = new Vector(); 1357 1360 1358 1361 for (int i = 0; i < totalsize; i++) -
apps/blackberry/branches/1.6/blackberry/src4.2/org/telnic/blackberry/LookupScreen.java
r560 r603 105 105 * 106 106 * @author Ben Dowling, Jonathan Maycock 107 * @version $Id: LookupScreen.java,v 1. 9 2009/11/06 11:57:02jm2 Exp $107 * @version $Id: LookupScreen.java,v 1.10 2009/12/17 12:02:23 jm2 Exp $ 108 108 */ 109 109 public class LookupScreen extends MainScreen … … 254 254 */ 255 255 private RichTextField domainDisplayField = null; 256 256 257 257 /** 258 258 * The timer for scrolling. … … 403 403 404 404 deleteAll(); 405 removeAllMenuItems(); 405 removeAllMenuItems(); 406 406 performLookup( prevLookup ); 407 407 } … … 1109 1109 lt.setListener( null ); 1110 1110 lt.cancel(); 1111 lt = null;1112 1111 1113 1112 if (result == null || result.validFor() < 0) … … 1401 1400 1402 1401 keywords = new Vector(); 1402 domainDisplayField = null; 1403 longLabels = new Vector(); 1404 keywords = new Vector(); 1403 1405 1404 1406 for (int i = 0; i < totalsize; i++) -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/dns/DNSInputStream.java
r587 r603 38 38 * 39 39 * @author John Cundall, Ben Dowling, Jonathan Maycock 40 * @version $Id: DNSInputStream.java,v 1.2 0 2009/11/27 09:10:09jm2 Exp $40 * @version $Id: DNSInputStream.java,v 1.21 2009/12/17 12:00:46 jm2 Exp $ 41 41 */ 42 42 public class DNSInputStream extends ByteArrayInputStream … … 427 427 { 428 428 position = 0; 429 String txtStr = readString(); 429 String txtStr = readString(); 430 430 431 431 if (txtStr.trim().equals( KEYWORD )) … … 523 523 return null; 524 524 } 525 526 int order = Integer.parseInt( readString() ); 527 int priority = Integer.parseInt( readString() ); 525 int order = 0; 526 int priority = 0; 527 528 try 529 { 530 order = Integer.parseInt( readString() ); 531 priority = Integer.parseInt( readString() ); 532 } 533 catch (Exception e) 534 { 535 //non numeric order and priority. discard. 536 return null; 537 } 528 538 529 539 String longLabelValue = ""; -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/dns/DNSTelnameNaptrResourceRecord.java
r339 r603 23 23 import java.util.Vector; 24 24 25 import org.telnic.blackberry.TelnameApp; 26 import org.telnic.blackberry.TelnameAppResource; 27 import org.telnic.blackberry.options.Options; 28 import org.telnic.blackberry.util.Logger; 29 25 30 import net.rim.device.api.util.Persistable; 26 31 … … 29 34 * 30 35 * @author John Cundall, Ben Dowling 31 * @version $Id: DNSTelnameNaptrResourceRecord.java,v 1.1 5 2008/12/16 10:34:52jm2 Exp $36 * @version $Id: DNSTelnameNaptrResourceRecord.java,v 1.16 2009/12/17 12:00:46 jm2 Exp $ 32 37 */ 33 38 public final class DNSTelnameNaptrResourceRecord extends DNSNaptrResourceRecord … … 340 345 public String getNTNDisplayName () 341 346 { 342 String ntnTelname = getReplaceStr(); 343 String ntnQuery = query.toLowerCase(); 344 345 // non-.tel FQDNs get returned as-is 346 if (ntnTelname.endsWith( "." ) && !ntnTelname.toLowerCase().endsWith( ".tel." )) 347 { 348 return getReplaceStr(); 349 } 350 351 // ensure ntnTelname and ntnQuery both end in a dot so the matching works 352 if (!ntnTelname.endsWith( "." )) 353 { 354 ntnTelname = ntnTelname + "."; 355 } 356 if (!ntnQuery.endsWith( "." )) 357 { 358 ntnQuery = ntnQuery + "."; 359 } 360 361 // if ntnTelname is an ENUM, return it as E.164 phone number, prefixed with "enum:" 362 if (ntnTelname.endsWith( ".e164.arpa." )) 363 { 364 final StringBuffer sb = new StringBuffer( "enum:+" ); 365 int i = ntnTelname.indexOf( ".e164.arpa." ); 366 while (i >= 0) 367 { 368 final char c = ntnTelname.charAt( i ); 369 if (c != '.') 347 try 348 { 349 String ntnTelname = getReplaceStr(); 350 String ntnQuery = query.toLowerCase(); 351 352 // non-.tel FQDNs get returned as-is 353 if (ntnTelname.endsWith( "." ) && !ntnTelname.toLowerCase().endsWith( ".tel." )) 354 { 355 return getReplaceStr(); 356 } 357 358 // ensure ntnTelname and ntnQuery both end in a dot so the matching works 359 if (!ntnTelname.endsWith( "." )) 360 { 361 ntnTelname = ntnTelname + "."; 362 } 363 if (!ntnQuery.endsWith( "." )) 364 { 365 ntnQuery = ntnQuery + "."; 366 } 367 368 // if ntnTelname is an ENUM, return it as E.164 phone number, prefixed with "enum:" 369 if (ntnTelname.endsWith( ".e164.arpa." )) 370 { 371 final StringBuffer sb = new StringBuffer( "enum:+" ); 372 int i = ntnTelname.indexOf( ".e164.arpa." ); 373 while (i >= 0) 370 374 { 371 sb.append( c ); 372 } 373 i--; 374 } 375 return sb.toString(); 376 } 377 378 // remove the part of ntnTelname that is common with the query including 379 // the dot before the query suffix in the Telname, so 380 // "sales.uk.siemens.tel", "uk.siemens.tel") --> "sales" 381 // then remove the .tel suffix if still present 382 int p = ntnTelname.toLowerCase().indexOf( ntnQuery ); 383 if (p != -1) 384 { 385 ntnTelname = ntnTelname.substring( 0, p - 1 ); // -1 to remove dot 386 } 387 p = ntnTelname.toLowerCase().indexOf( ".tel." ); 388 if (p != -1) 389 { 390 ntnTelname = ntnTelname.substring( 0, p ); 391 } 392 393 // replace '-' with ' ' and '.' with '>' 394 ntnTelname = ntnTelname.replace( '-', ' ' ); 395 ntnTelname = ntnTelname.replace( '.', '>' ); 396 397 return ntnTelname; 375 final char c = ntnTelname.charAt( i ); 376 if (c != '.') 377 { 378 sb.append( c ); 379 } 380 i--; 381 } 382 return sb.toString(); 383 } 384 385 // remove the part of ntnTelname that is common with the query including 386 // the dot before the query suffix in the Telname, so 387 // "sales.uk.siemens.tel", "uk.siemens.tel") --> "sales" 388 // then remove the .tel suffix if still present 389 int p = ntnTelname.toLowerCase().indexOf( ntnQuery ); 390 if (p != -1) 391 { 392 ntnTelname = ntnTelname.substring( 0, p - 1 ); // -1 to remove dot 393 } 394 p = ntnTelname.toLowerCase().indexOf( ".tel." ); 395 if (p != -1) 396 { 397 ntnTelname = ntnTelname.substring( 0, p ); 398 } 399 400 // replace '-' with ' ' and '.' with '>' 401 ntnTelname = ntnTelname.replace( '-', ' ' ); 402 ntnTelname = ntnTelname.replace( '.', '>' ); 403 404 return ntnTelname; 405 } 406 catch (Exception e) 407 { 408 Logger.logMessage( "Problem creating NTN display name", Options.KEY_LOG_NETWORK ); 409 return TelnameApp.getResourceBundle().getString( TelnameAppResource.NTN_HERE ); 410 } 398 411 } 399 412 -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/lookup/LookupTelname.java
r567 r603 43 43 * 44 44 * @author Ben Dowling, Jonathan Maycock 45 * @version $Id: LookupTelname.java,v 1.2 2 2009/11/06 11:55:17jm2 Exp $45 * @version $Id: LookupTelname.java,v 1.23 2009/12/17 12:00:36 jm2 Exp $ 46 46 */ 47 47 public class LookupTelname implements LookupWorkerCompletedListener, Cancellable … … 542 542 for (int i = 0; i < answers.size(); i++) 543 543 { 544 Logger.logMessage( "TXT: " + answers.elementAt( i ).getClass().getName(), Options.KEY_LOG_APPLICATION ); 544 545 if (answers.elementAt( i ) instanceof DNSTxtPDDXResourceRecord) 545 546 { … … 549 550 keywordsAvailable = sysRecord.isKeyWordsAvailable(); 550 551 privateDataAvailable = sysRecord.isPrivateDataAvailable(); 552 Logger.logMessage( "Private Data: " + sysRecord.isPrivateDataAvailable(), Options.KEY_LOG_APPLICATION ); 551 553 break; 552 554 } -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/lookup/LookupWorker.java
r567 r603 42 42 * 43 43 * @author John Cundall, Ben Dowling 44 * @version $Id: LookupWorker.java,v 1.1 2 2009/11/06 11:55:31jm2 Exp $44 * @version $Id: LookupWorker.java,v 1.13 2009/12/17 12:00:36 jm2 Exp $ 45 45 */ 46 46 … … 312 312 */ 313 313 private void doQuery (final DNSQuery dnsQuery, final ConnectionManager cm) throws IOException 314 { 314 { 315 315 dnsQuery.transmitQuery( cm ); 316 dnsQuery.receiveResponse( cm ); 316 dnsQuery.receiveResponse( cm ); 317 317 } 318 318 -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/TelnameApp.java
r564 r603 43 43 * 44 44 * @author Ben Dowling, Jonathan Maycock 45 * @version $Id: TelnameApp.java,v 1.5 5 2009/11/06 11:56:26jm2 Exp $45 * @version $Id: TelnameApp.java,v 1.57 2009/12/17 12:03:00 jm2 Exp $ 46 46 */ 47 47 public final class TelnameApp implements OptionsChangeListener … … 95 95 synchronized (cm) 96 96 { 97 return cm; 97 return cm; 98 98 } 99 99 } 100 100 101 101 private static void createConnection() 102 { 103 cm = new ConnectionManager( "DNS", false, O.getOption( Options.KEY_DNS_SERVER_ADDRESS ) ); 102 { 103 cm = new ConnectionManager( "DNS", false, O.getOption( Options.KEY_DNS_SERVER_ADDRESS ) ); 104 104 } 105 105 … … 111 111 public static String getVersion () 112 112 { 113 return "1. 5";113 return "1.6"; 114 114 } 115 115 -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/TelnameAppResource.java
r564 r603 24 24 * 25 25 * @author Ben Dowling, Jonathan Maycock 26 * @version $Id: TelnameAppResource.java,v 1.3 5 2009/11/06 11:56:27jm2 Exp $26 * @version $Id: TelnameAppResource.java,v 1.36 2009/12/17 11:59:26 jm2 Exp $ 27 27 */ 28 28 public interface TelnameAppResource … … 1218 1218 /**SERVICE_TYPE_USER */ 1219 1219 int SERVICE_TYPE_USER = 1; 1220 1221 /**NTN_HERE */ 1222 int NTN_HERE = 1; 1220 1223 1221 1224 /** -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/util/listcallbacks/LookupResultsListCallback.java
r584 r603 45 45 * 46 46 * @author Ben Dowling, Jonathan Maycock 47 * @version $Id: LookupResultsListCallback.java,v 1.1 3 2009/11/23 15:33:27jm2 Exp $47 * @version $Id: LookupResultsListCallback.java,v 1.14 2009/12/17 12:00:22 jm2 Exp $ 48 48 */ 49 49 public class LookupResultsListCallback implements ListFieldCallback … … 396 396 serviceDisplayString = ""; 397 397 398 if (rr.isNonTerminal()) 399 { 400 element = rr.getNTNDisplayName(); 401 icon = ntnIcon; 402 serviceDisplayString = TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_NTN ); 403 } 404 else 405 { 406 String service = rr.getServiceType(); 407 408 element = rr.getUri(); 409 Vector categories = rr.getCategories(); 410 411 //calculate LIH prefix 412 if (categories.size() > 0) 413 { 414 Enumeration e = categories.elements(); 415 serviceDisplayString += parseLIH( (String) e.nextElement() ); 398 try 399 { 400 if (rr.isNonTerminal()) 401 { 402 element = rr.getNTNDisplayName(); 403 icon = ntnIcon; 404 serviceDisplayString = TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_NTN ); 405 } 406 else 407 { 408 String service = rr.getServiceType(); 416 409 417 while (e.hasMoreElements()) 418 { 419 serviceDisplayString += " " + TelnameApp.getResourceBundle().getString( TelnameAppResource.AND ) + " "; 410 element = rr.getUri(); 411 Vector categories = rr.getCategories(); 412 413 //calculate LIH prefix 414 if (categories.size() > 0) 415 { 416 Enumeration e = categories.elements(); 420 417 serviceDisplayString += parseLIH( (String) e.nextElement() ); 418 419 while (e.hasMoreElements()) 420 { 421 serviceDisplayString += " " + TelnameApp.getResourceBundle().getString( TelnameAppResource.AND ) + " "; 422 serviceDisplayString += parseLIH( (String) e.nextElement() ); 423 } 424 425 serviceDisplayString += " "; 426 } 427 428 // Phone************************************************************************** 429 if (service.indexOf( "voice:tel" ) >= 0) 430 { 431 checkUriType( service, element ); 432 icon = phoneIcon; 433 if (categories.contains( "x-mobile" )) 434 { 435 icon = mobileIcon; 436 } 437 element = element.substring( element.indexOf( ":" ) + 1 ); 438 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_PHONE ); 439 } 440 else if (service.indexOf( "fax:tel" ) >= 0) 441 { 442 checkUriType( service, element ); 443 icon = faxIcon; 444 element = element.substring( element.indexOf( ":" ) + 1 ); 445 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_FAX ); 446 } 447 else if (service.indexOf( "sms:tel" ) >= 0 || service.indexOf( "sms:mailto" ) >= 0) 448 { 449 checkUriType( service, element ); 450 icon = smsIcon; 451 element = element.substring( element.indexOf( ":" ) + 1 ); 452 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SMS ); 453 } 454 else if (service.indexOf( "ems:tel" ) >= 0 || service.indexOf( "ems:mailto" ) >= 0) 455 { 456 checkUriType( service, element ); 457 icon = smsIcon; 458 element = element.substring( element.indexOf( ":" ) + 1 ); 459 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_EMS ); 460 } 461 else if (service.indexOf( "mms:tel" ) >= 0 || service.indexOf( "mms:mailto" ) >= 0) 462 { 463 checkUriType( service, element ); 464 icon = smsIcon; 465 element = element.substring( element.indexOf( ":" ) + 1 ); 466 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_MMS ); 467 } 468 469 //AIM************************************************************************** 470 else if (service.indexOf( "x-im:aim" ) >= 0) 471 { 472 checkUriType( service, element ); 473 icon = aimIcon; 474 element = element.substring( element.indexOf( ":" ) + 1 ); 475 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_AIM_MESS ); 476 } 477 else if (service.indexOf( "x-voice:aim" ) >= 0) 478 { 479 checkUriType( service, element ); 480 icon = aimVoiceIcon; 481 element = element.substring( element.indexOf( ":" ) + 1 ); 482 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_AIM_VOICE ); 483 } 484 485 // XMPP/GTALK******************************************************************* 486 else if (service.indexOf( "x-im:xmpp" ) >= 0) 487 { 488 checkUriType( service, element ); 489 icon = xmppIcon; 490 element = element.substring( element.indexOf( ":" ) + 1 ); 491 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_XMPP_MESS ); 492 } 493 else if (service.indexOf( "x-voice:gtalk" ) >= 0) 494 { 495 checkUriType( service, element ); 496 icon = xmppVoiceIcon; 497 element = element.substring( element.indexOf( ":" ) + 1 ); 498 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_GTALK_VOICE ); 499 } 500 else if (service.indexOf( "x-im:gtalk" ) >= 0) 501 { 502 checkUriType( service, element ); 503 icon = gtalkIcon; 504 element = element.substring( element.indexOf( ":" ) + 1 ); 505 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_GTALK_MESS ); 421 506 } 422 507 423 serviceDisplayString += " "; 424 } 425 426 // Phone************************************************************************** 427 if (service.indexOf( "voice:tel" ) >= 0) 428 { 429 checkUriType( service, element ); 430 icon = phoneIcon; 431 if (categories.contains( "x-mobile" )) 432 { 433 icon = mobileIcon; 434 } 435 element = element.substring( element.indexOf( ":" ) + 1 ); 436 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_PHONE ); 437 } 438 else if (service.indexOf( "fax:tel" ) >= 0) 439 { 440 checkUriType( service, element ); 441 icon = faxIcon; 442 element = element.substring( element.indexOf( ":" ) + 1 ); 443 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_FAX ); 444 } 445 else if (service.indexOf( "sms:tel" ) >= 0 || service.indexOf( "sms:mailto" ) >= 0) 446 { 447 checkUriType( service, element ); 448 icon = smsIcon; 449 element = element.substring( element.indexOf( ":" ) + 1 ); 450 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SMS ); 451 } 452 else if (service.indexOf( "ems:tel" ) >= 0 || service.indexOf( "ems:mailto" ) >= 0) 453 { 454 checkUriType( service, element ); 455 icon = smsIcon; 456 element = element.substring( element.indexOf( ":" ) + 1 ); 457 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_EMS ); 458 } 459 else if (service.indexOf( "mms:tel" ) >= 0 || service.indexOf( "mms:mailto" ) >= 0) 460 { 461 checkUriType( service, element ); 462 icon = smsIcon; 463 element = element.substring( element.indexOf( ":" ) + 1 ); 464 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_MMS ); 465 } 466 467 //AIM************************************************************************** 468 else if (service.indexOf( "x-im:aim" ) >= 0) 469 { 470 checkUriType( service, element ); 471 icon = aimIcon; 472 element = element.substring( element.indexOf( ":" ) + 1 ); 473 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_AIM_MESS ); 474 } 475 else if (service.indexOf( "x-voice:aim" ) >= 0) 476 { 477 checkUriType( service, element ); 478 icon = aimVoiceIcon; 479 element = element.substring( element.indexOf( ":" ) + 1 ); 480 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_AIM_VOICE ); 481 } 482 483 // XMPP/GTALK******************************************************************* 484 else if (service.indexOf( "x-im:xmpp" ) >= 0) 485 { 486 checkUriType( service, element ); 487 icon = xmppIcon; 488 element = element.substring( element.indexOf( ":" ) + 1 ); 489 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_XMPP_MESS ); 490 } 491 else if (service.indexOf( "x-voice:gtalk" ) >= 0) 492 { 493 checkUriType( service, element ); 494 icon = xmppVoiceIcon; 495 element = element.substring( element.indexOf( ":" ) + 1 ); 496 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_GTALK_VOICE ); 497 } 498 else if (service.indexOf( "x-im:gtalk" ) >= 0) 499 { 500 checkUriType( service, element ); 501 icon = gtalkIcon; 502 element = element.substring( element.indexOf( ":" ) + 1 ); 503 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_GTALK_MESS ); 504 } 505 506 // SKYPE*************************************************************************** 507 else if (service.indexOf( "x-voice:skype" ) >= 0) 508 { 509 checkUriType( service, element ); 510 icon = skypeVoiceIcon; 511 element = element.substring( element.indexOf( ":" ) + 1 ); 512 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SKYPE_VOICE ); 513 } 514 else if (service.indexOf( "x-im:skype" ) >= 0) 515 { 516 checkUriType( service, element ); 517 icon = skypeInstantIcon; 518 element = element.substring( element.indexOf( ":" ) + 1 ); 519 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SKYPE_IM ); 520 } 521 522 // MSN*************************************************************************** 523 else if (service.indexOf( "x-im:msn" ) >= 0) 524 { 525 checkUriType( service, element ); 526 icon = msnInstantIcon; 527 element = element.substring( element.indexOf( ":" ) + 1 ); 528 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_MSN_MESS ); 529 } 530 else if (service.indexOf( "x-voice:msn" ) >= 0) 531 { 532 checkUriType( service, element ); 533 icon = msnVoiceIcon; 534 element = element.substring( element.indexOf( ":" ) + 1 ); 535 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_MSN_VOICE ); 536 } 537 // YAHOO******************************************************************* 538 else if (service.indexOf( "x-im:ymsgr" ) >= 0) 539 { 540 checkUriType( service, element ); 541 icon = yahooIcon; 542 element = element.substring( element.indexOf( ":" ) + 1 ); 543 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_YAHOO_MESS ); 544 } 545 // ICQ******************************************************************* 546 else if (service.indexOf( "x-im:icq" ) >= 0) 547 { 548 checkUriType( service, element ); 549 icon = icqIcon; 550 element = element.substring( element.indexOf( ":" ) + 1 ); 551 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_ICQ_MESS ); 552 } 553 554 // OTHER******************************************************************* 555 else if (service.indexOf( "sip" )>= 0) 556 { 557 icon = sipIcon; 558 element = element.substring( element.indexOf( ":" ) + 1 ); 559 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SIP ); 560 } 561 else if (service.indexOf( "h323" )>= 0) 562 { 563 icon = h323Icon; 564 element = element.substring( element.indexOf( ":" ) + 1 ); 565 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_H323 ); 566 } 567 else if (service.indexOf( "x-crypto" ) >= 0) 568 { 569 icon = telIcon; 570 element = "Encrypted"; 571 serviceDisplayString = ""; 572 } 573 else if (service.indexOf( "email:mailto" ) >= 0) 574 { 575 checkUriType( service, element ); 576 icon = emailIcon; 577 element = element.substring( element.indexOf( ":" ) + 1 ); 578 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_EMAIL ); 579 } 580 else if (service.indexOf( "web:http" ) >= 0) 581 { 582 checkUriType( service, element ); 583 icon = webIcon; 584 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_WEB_SITE ); 585 } 586 else if (service.indexOf( "web:https" ) >= 0) 587 { 588 checkUriType( service, element ); 589 icon = webIcon; 590 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SECURE_WEB_SITE ); 591 } 592 else if (service.indexOf( "ft:ftp" ) >= 0) 593 { 594 checkUriType( service, element ); 595 icon = ftpIcon; 596 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_FTP ); 597 } 598 else if (service.indexOf( "note:data" ) >= 0) 599 { 600 checkUriType( service, element ); 601 icon = noteIcon; 602 element = decodeDataUri( element ); 603 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_NOTE ); 604 } 605 else if (service.indexOf( "user:data" ) >= 0) 606 { 607 checkUriType( service, element ); 608 icon = userIcon; 609 element = decodeDataUri( element ); 610 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_USER ); 611 } 612 else 613 { 614 icon = blankIcon; 615 616 if( service.startsWith( "x-" )) 617 { 618 service = ( service.substring( 2 ) ); 619 } 620 if (service.indexOf( ":data" ) >= 0) 621 { 508 // SKYPE*************************************************************************** 509 else if (service.indexOf( "x-voice:skype" ) >= 0) 510 { 511 checkUriType( service, element ); 512 icon = skypeVoiceIcon; 513 element = element.substring( element.indexOf( ":" ) + 1 ); 514 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SKYPE_VOICE ); 515 } 516 else if (service.indexOf( "x-im:skype" ) >= 0) 517 { 518 checkUriType( service, element ); 519 icon = skypeInstantIcon; 520 element = element.substring( element.indexOf( ":" ) + 1 ); 521 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SKYPE_IM ); 522 } 523 524 // MSN*************************************************************************** 525 else if (service.indexOf( "x-im:msn" ) >= 0) 526 { 527 checkUriType( service, element ); 528 icon = msnInstantIcon; 529 element = element.substring( element.indexOf( ":" ) + 1 ); 530 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_MSN_MESS ); 531 } 532 else if (service.indexOf( "x-voice:msn" ) >= 0) 533 { 534 checkUriType( service, element ); 535 icon = msnVoiceIcon; 536 element = element.substring( element.indexOf( ":" ) + 1 ); 537 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_MSN_VOICE ); 538 } 539 // YAHOO******************************************************************* 540 else if (service.indexOf( "x-im:ymsgr" ) >= 0) 541 { 542 checkUriType( service, element ); 543 icon = yahooIcon; 544 element = element.substring( element.indexOf( ":" ) + 1 ); 545 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_YAHOO_MESS ); 546 } 547 // ICQ******************************************************************* 548 else if (service.indexOf( "x-im:icq" ) >= 0) 549 { 550 checkUriType( service, element ); 551 icon = icqIcon; 552 element = element.substring( element.indexOf( ":" ) + 1 ); 553 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_ICQ_MESS ); 554 } 555 556 // OTHER******************************************************************* 557 else if (service.indexOf( "sip" )>= 0) 558 { 559 icon = sipIcon; 560 element = element.substring( element.indexOf( ":" ) + 1 ); 561 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SIP ); 562 } 563 else if (service.indexOf( "h323" )>= 0) 564 { 565 icon = h323Icon; 566 element = element.substring( element.indexOf( ":" ) + 1 ); 567 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_H323 ); 568 } 569 else if (service.indexOf( "x-crypto" ) >= 0) 570 { 571 icon = telIcon; 572 element = "Encrypted"; 573 serviceDisplayString = ""; 574 } 575 else if (service.indexOf( "email:mailto" ) >= 0) 576 { 577 checkUriType( service, element ); 578 icon = emailIcon; 579 element = element.substring( element.indexOf( ":" ) + 1 ); 580 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_EMAIL ); 581 } 582 else if (service.indexOf( "web:http" ) >= 0) 583 { 584 checkUriType( service, element ); 585 icon = webIcon; 586 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_WEB_SITE ); 587 } 588 else if (service.indexOf( "web:https" ) >= 0) 589 { 590 checkUriType( service, element ); 591 icon = webIcon; 592 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_SECURE_WEB_SITE ); 593 } 594 else if (service.indexOf( "ft:ftp" ) >= 0) 595 { 596 checkUriType( service, element ); 597 icon = ftpIcon; 598 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_FTP ); 599 } 600 else if (service.indexOf( "note:data" ) >= 0) 601 { 602 checkUriType( service, element ); 603 icon = noteIcon; 622 604 element = decodeDataUri( element ); 623 } 624 serviceDisplayString += service; 625 } 626 } 627 parsedString = element; 605 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_NOTE ); 606 } 607 else if (service.indexOf( "user:data" ) >= 0) 608 { 609 checkUriType( service, element ); 610 icon = userIcon; 611 element = decodeDataUri( element ); 612 serviceDisplayString += TelnameApp.getResourceBundle().getString( TelnameAppResource.SERVICE_TYPE_USER ); 613 } 614 else 615 { 616 icon = blankIcon; 617 618 if( service.startsWith( "x-" )) 619 { 620 service = ( service.substring( 2 ) ); 621 } 622 if (service.indexOf( ":data" ) >= 0) 623 { 624 element = decodeDataUri( element ); 625 } 626 serviceDisplayString += service; 627 } 628 } 629 parsedString = element; 630 } 631 catch (Exception e) 632 { 633 Logger.logMessage( "Problem decoding naptr: " + e.getMessage(), Options.KEY_LOG_NETWORK ); 634 throw new DiscardedNaptrException(); 635 } 628 636 629 637 Object[] returnvals = { element, icon }; -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/util/ScrollingRichTextField.java
r569 r603 34 34 * 35 35 * @author Jonathan Maycock 36 * @version $Id: ScrollingRichTextField.java,v 1. 4 2009/11/06 11:53:02jm2 Exp $36 * @version $Id: ScrollingRichTextField.java,v 1.5 2009/12/17 12:00:07 jm2 Exp $ 37 37 */ 38 38 public class ScrollingRichTextField extends RichTextField … … 71 71 72 72 private void updateText() 73 { 74 super.setText( getText().substring( 1, getTextLength() ) + getText().charAt( 0 ) ); 73 { 74 UiApplication.getUiApplication().invokeLater( new Runnable() 75 { 76 public void run () 77 { 78 try 79 { 80 ScrollingRichTextField.super.setText( getText().substring( 1, getTextLength() ) + getText().charAt( 0 ) ); 81 } 82 catch (IllegalArgumentException e) 83 { 84 //screen not on stack 85 } 86 } 87 } ); 75 88 } 76 89 … … 87 100 t.cancel(); 88 101 } 89 t = null; 102 t = null; 90 103 if (thisField.getFont().getAdvance( getText() ) > Graphics.getScreenWidth()) 91 { 104 { 92 105 super.setText( getText() + " ----- " ); 93 106 t = new Timer(); 94 107 t.schedule(new TimerTask(){ 95 108 public void run() 96 { 109 { 97 110 if (UiApplication.getUiApplication().getActiveScreen() == parent) 98 { 111 { 99 112 updateText(); 100 113 thisField.invalidate(); -
apps/blackberry/branches/1.6/blackberry/src/org/telnic/blackberry/util/xml/SOMemberWebServices.java
r570 r603 228 228 toMOD = toMOD.substring( 0, toMOD.length() - 1 ); 229 229 } 230 231 //code to strip off sub domains from to field: 232 try 233 { 234 if (toMOD.endsWith( ".tel" )) 235 { 236 toMOD = toMOD.substring( 0, toMOD.lastIndexOf( '.' ) ); 237 } 238 if (toMOD.indexOf( '.' ) > 0) 239 { 240 toMOD = toMOD.substring( toMOD.lastIndexOf( '.' ) + 1, toMOD.length() ) + ".tel"; 241 } 242 else 243 { 244 toMOD = toMOD + ".tel"; 245 } 246 247 } 248 catch (Exception e) 249 { 250 251 } 230 252 231 253 String confirmCode = TelnicWebServicesReference.generateHash( fromMOD, toMOD ); -
apps/blackberry/branches/1.6/blackberry/src/resources/TelnameApp.rrc
r574 r603 421 421 SERVICE_TYPE_NOTE#0="Note"; 422 422 SERVICE_TYPE_USER#0="Username"; 423 424 NTN_HERE#0="Here"; -
apps/blackberry/branches/1.6/blackberry/src/resources/TelnameApp.rrh
r574 r603 428 428 SERVICE_TYPE_NOTE#0=394; 429 429 SERVICE_TYPE_USER#0=395; 430 431 NTN_HERE#0=396;








