com.phonegap.ContactManagerProxy = function() { this.className = "com.phonegap.ContactManager"; }; com.phonegap.ContactManagerProxy.prototype.getContactsAndSendBack = function() { return PhoneGap.exec(this.className, "getContactsAndSendBack", []); }; com.phonegap.ContactManagerProxy.prototype.search = function(name, npa, mail) { return PhoneGap.exec(this.className, "search", [name, npa, mail]); }; com.phonegap.ContactManager = new com.phonegap.ContactManagerProxy(); var Contact = function() { this.name = new ContactName(); this.emails = []; this.phones = []; }; var ContactName = function() { this.formatted = ""; this.familyName = ""; this.givenName = ""; this.additionalNames = []; this.prefixes = []; this.suffixes = []; }; var ContactEmail = function() { this.types = []; this.address = ""; }; var ContactPhoneNumber = function() { this.types = []; this.number = ""; }; var Contacts = function() { this.records = []; }; Contacts.prototype.find = function(obj, win, fail) { if(obj.name != null) { // Build up the search term that we'll use in SQL, based on the structure/contents of the contact object passed into find. var searchTerm = ''; if (obj.name.givenName && obj.name.givenName.length > 0) { searchTerm = obj.name.givenName.split(' ').join('%'); } if (obj.name.familyName && obj.name.familyName.length > 0) { searchTerm += obj.name.familyName.split(' ').join('%'); } if (!obj.name.familyName && !obj.name.givenName && obj.name.formatted) { searchTerm = obj.name.formatted; } com.phonegap.ContactManager.search(searchTerm, "", ""); } this.win = win; this.fail = fail; }; Contacts.prototype.droidFoundContact = function(name, npa, email) { var contact = new Contact(); contact.name = new ContactName(); contact.name.formatted = name; contact.name.givenName = name; var mail = new ContactEmail(); mail.types.push("home"); mail.address = email; contact.emails.push(mail); phone = new ContactPhoneNumber(); phone.types.push("home"); phone.number = npa; contact.phones.push(phone); this.records.push(contact); }; Contacts.prototype.droidDone = function() { this.win(this.records); }; PhoneGap.addConstructor(function() { if(typeof navigator.contacts == "undefined") navigator.contacts = new Contacts(); });