/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-03-19 20:33:09 UTC
  • Revision ID: edam@waxworlds.org-20110319203309-5dzfyqrxwk94jtin
- formatting: removed some double-indents on overrunning lines
- updated TODO and NEWS
- rewrote central logic of parser so it makes more sense, looks nicer and has a small optimisation (getting name and params from line only when necessary)
- optimised unnecessary mutliple converting of lines to US-ASCII
- re-wrote line extraction from vcards so that we can lookahead for v3 folded lines
- added support for v3 folded lines

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!
16
 
* change some public final static ints, that aren't really consts, in to enums
17
 
* create a back-end object to read/write to android. This can be overridden to
18
 
        use the new ContractsContacts API.
19
 
* add warnings when email addresses, phone numbers, etc, fail sanitisation (and
20
 
        are ignored) during the import
21
 
* add base64 decoding to support (even if to ignore) vcards with image data
 
1
* add support for contacts with no N/FN name. The contacts list displays the
 
2
        primary number instead of a name, but the existing contact detection will
 
3
        need to be fixed-up. See Importer::isImportRequired().
 
4
        * import organisations
 
5
        * have a second list (beside _contact) that maps organisation names to ids
 
6
                that is used when a contact has no other name
 
7
        * have a third list (beside _contact and the above list) that maps the
 
8
                primary phone no.s to ids, where the contact has no name or organisation
 
9
        * when reading vcf phone no.s, make sure they are imported in the same order
 
10
                they appear in in the vcf. The first on will become the primary when the
 
11
                contact has no name or organisation
22
12
* possible bug: when displaying "aborting import" toaster, make sure the back
23
13
        button is enabled and the abort button is hidden (as if abort were pressed)
24
14
        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
15
* in the long term, we need to save/restore state from doit/importer