/android/import-contacts

To get this branch, use:
bzr branch http://bzr.ed.am/android/import-contacts

« back to all changes in this revision

Viewing changes to TODO

  • Committer: edam
  • Date: 2011-05-02 18:28:24 UTC
  • Revision ID: edam@waxworlds.org-20110502182824-acgdi3qfxfzqgely
- fixed logic for vcard field types (home, work, cell, etc) so it works
- updated NEWS and TODO
- rewrote most of ContactsCache, including a new ContactIdentifier class to identify contacts in the cache and new cache building code
- contacts now identified in the same way that Andoid displays them (by name, or organisation, or number, or email, in that order)
- propper handling and support for organisations and titles
- validation of imported contact now done by Importer, not VcfImporter
- separated sanitisation and normalisation (for cache lookups)
- generacised PhoneData, EmailData and AddressData classes
- ContactData is now aware of primary numbers, emails and organisations (defaults to the first prefrred one seen, or the first one seen where none is preferred)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
* VcardImporter.Vcard.finaliseParsing() should be renamed to finalise() to
2
 
        override Importer.ContactData.finalise(), if Java will permit us to do that
3
 
        (fnaliseParsing() throws stuff that finalise() doesn't), and should call
4
 
        super.finalise().
5
 
* rename Importer.isImportRequired() to checkForDuplicate() and make it private.
6
 
        This should be called from Importer.importContact(), which should then call
7
 
        skipContact() to update the UI and return if checkForDuplicate() returns
8
 
        false.
9
 
* ContactData.finalise should create a ContactsCache.CacheIdentifier and throw
10
 
        ContactCannotBeIdentifiedException() if that fails, which can be picked up
11
 
        in Vcard.finalise(). Importer.importContact() and the renamed
12
 
        Importer.checkForDuplicates() should use the ContactData's CacheIdentifier
13
 
        and not create their own. This will also ensure that ContactData.finalise()
14
 
        has been correctly called (or the identifier would be null).
15
 
* import a crap-load of contacts before release!
 
1
* declare war on camelCase variables
16
2
* change some public final static ints, that aren't really consts, in to enums
17
3
* create a back-end object to read/write to android. This can be overridden to
18
4
        use the new ContractsContacts API.
22
8
* possible bug: when displaying "aborting import" toaster, make sure the back
23
9
        button is enabled and the abort button is hidden (as if abort were pressed)
24
10
        since this can happen if, say, the alarm goes off.
25
 
* add facility to be asked whether to import all contacts, not just those that
26
 
        are duplicates.
27
11
* in the long term, we need to save/restore state from doit/importer