/android/export-contacts

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

« back to all changes in this revision

Viewing changes to src/am/ed/exportcontacts/Exporter.java

  • Committer: edam
  • Date: 2013-01-06 18:12:24 UTC
  • Revision ID: tim@ed.am-20130106181224-n86fyqkmf3g9p9vv
bump version no. and update NEWS

Show diffs side-by-side

added added

removed removed

1
1
/*
2
2
 * Exporter.java
3
3
 *
4
 
 * Copyright (C) 2011 Tim Marston <edam@waxworlds.org>
 
4
 * Copyright (C) 2011 Tim Marston <tim@ed.am>
5
5
 *
6
6
 * This file is part of the Export Contacts program (hereafter referred
7
7
 * to as "this program"). For more information, see
8
 
 * http://www.waxworlds.org/edam/software/android/export-contacts
 
8
 * http://ed.am/dev/android/export-contacts
9
9
 *
10
10
 * This program is free software: you can redistribute it and/or modify
11
11
 * it under the terms of the GNU General Public License as published by
21
21
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
22
 */
23
23
 
24
 
package org.waxworlds.edam.exportcontacts;
 
24
package am.ed.exportcontacts;
25
25
 
26
26
import java.util.ArrayList;
27
27
 
50
50
         */
51
51
        public class ContactData
52
52
        {
 
53
                public final static int TYPE_HOME = 0;
 
54
                public final static int TYPE_WORK = 1;
 
55
                public final static int TYPE_MOBILE = 2;        // only used with phones
 
56
                public final static int TYPE_FAX_HOME = 3;      // only used with phones
 
57
                public final static int TYPE_FAX_WORK = 4;      // only used with phones
 
58
                public final static int TYPE_PAGER = 5;         // only used with phones
 
59
 
53
60
                class OrganisationDetail
54
61
                {
55
62
                        protected String _org;
143
150
                protected ArrayList< NumberDetail > _numbers = null;
144
151
                protected ArrayList< EmailDetail > _emails = null;
145
152
                protected ArrayList< AddressDetail > _addresses = null;
 
153
                protected ArrayList< String > _notes = null;
146
154
 
147
155
                public void setName( String name )
148
156
                {
206
214
                        return _addresses;
207
215
                }
208
216
 
 
217
                public void addNote( String note )
 
218
                {
 
219
                        if( _notes == null )
 
220
                                _notes = new ArrayList< String >();
 
221
                        _notes.add( note );
 
222
                }
 
223
 
 
224
                public ArrayList< String > getNotes()
 
225
                {
 
226
                        return _notes;
 
227
                }
 
228
 
209
229
                public String getPrimaryIdentifier()
210
230
                {
211
231
                        if( _name != null )
265
285
        protected void exportContacts() throws AbortExportException
266
286
        {
267
287
                // set up a contact reader
268
 
                ContactReader contact_reader = new ContactsContactReader( _doit, this );
269
 
                int num_contacts = contact_reader.getNumContacts();
 
288
                Backend backend = null;
 
289
                if( Integer.parseInt( android.os.Build.VERSION.SDK ) >= 5 )
 
290
                        backend = new ContactsContractBackend( _doit, this );
 
291
                else
 
292
                        backend = new ContactsBackend( _doit, this );
 
293
 
 
294
                // check we have contacts
 
295
                int num_contacts = backend.getNumContacts();
270
296
                if( num_contacts == 0 )
271
297
                        showError( R.string.error_nothingtodo );
272
298
 
282
308
                while( true ) {
283
309
                        checkAbort();
284
310
                        ContactData contact = new ContactData();
285
 
                        if( !contact_reader.getNextContact( contact ) )
 
311
                        if( !backend.getNextContact( contact ) )
286
312
                                break;
287
313
 
288
314
                        // export this one
401
427
                checkAbort();
402
428
                _doit._handler.sendMessage( Message.obtain(
403
429
                        _doit._handler, Doit.MESSAGE_SETMAXPROGRESS,
404
 
                        new Integer( max_progress ) ) );
 
430
                        Integer.valueOf( max_progress ) ) );
405
431
        }
406
432
 
407
433
        protected void setTmpProgress( int tmp_progress )
410
436
                checkAbort();
411
437
                _doit._handler.sendMessage( Message.obtain(
412
438
                        _doit._handler, Doit.MESSAGE_SETTMPPROGRESS,
413
 
                        new Integer( tmp_progress ) ) );
 
439
                        Integer.valueOf( tmp_progress ) ) );
414
440
        }
415
441
 
416
442
        protected void setProgress( int progress ) throws AbortExportException
418
444
                checkAbort();
419
445
                _doit._handler.sendMessage( Message.obtain(
420
446
                        _doit._handler, Doit.MESSAGE_SETPROGRESS,
421
 
                        new Integer( progress ) ) );
 
447
                        Integer.valueOf( progress ) ) );
422
448
        }
423
449
 
424
450
        protected void finish( int action ) throws AbortExportException