/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 src/org/waxworlds/importcontacts/Importer.java

  • Committer: edam
  • Date: 2009-01-13 06:35:26 UTC
  • Revision ID: edam@waxworlds.org-20090113063526-l9t1s9git4bav60a
- new contact's phone numebrs and email addresses are added to the caches after those contacts are updated to account for the situation where the same contact is imported again from another file (or the contact exists twice in the same file!?)

Show diffs side-by-side

added added

removed removed

150
150
                _doit = doit;
151
151
 
152
152
                SharedPreferences prefs = getSharedPreferences();
153
 
                _mergeSetting = prefs.getInt( "merge_setting", Doit.ACTION_PROMPT );
 
153
                _mergeSetting = prefs.getInt( "merge_setting", 0 );
154
154
        }
155
155
 
156
156
        @Override
346
346
                // handle special cases
347
347
                switch( mergeSetting )
348
348
                {
349
 
                case Doit.ACTION_KEEP:
 
349
                case R.id.merge_keep:
350
350
                        // if we keep contacts on duplicate, we better check for one
351
351
                        return !_contacts.containsKey( name );
352
352
 
353
 
                case Doit.ACTION_PROMPT:
 
353
                case R.id.merge_prompt:
354
354
                        // if we are prompting on duplicate, we better check for one
355
355
                        if( !_contacts.containsKey( name ) )
356
356
                                return true;
402
402
                if( ( id = (Long)_contacts.get( contact._name ) ) != null )
403
403
                {
404
404
                        // should we skip this import altogether?
405
 
                        if( _lastMergeDecision == Doit.ACTION_KEEP ) return;
 
405
                        if( _lastMergeDecision == R.id.merge_keep ) return;
406
406
 
407
407
                        // get contact's URI
408
408
                        contactUri = ContentUris.withAppendedId(
409
409
                                        Contacts.People.CONTENT_URI, id );
410
410
 
411
411
                        // should we destroy the existing contact before importing?
412
 
                        if( _lastMergeDecision == Doit.ACTION_OVERWRITE ) {
 
412
                        if( _lastMergeDecision == R.id.merge_overwrite ) {
413
413
                                _doit.getContentResolver().delete( contactUri, null, null );
414
414
                                contactUri = null;
415
415
 
434
434
                        if( id <= 0 ) return;   // shouldn't happen!
435
435
 
436
436
                        // add them to the "My Contacts" group
437
 
                        Contacts.People.addToMyContactsGroup(
438
 
                                        _doit.getContentResolver(), id );
 
437
                        Contacts.People.addToGroup(
 
438
                                        _doit.getContentResolver(), id,
 
439
                                        Contacts.Groups.GROUP_MY_CONTACTS );
439
440
 
440
441
                        // update cache
441
442
                        _contacts.put( contact._name, id );