/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/VCFImporter.java

  • Committer: edam
  • Date: 2009-01-11 12:58:54 UTC
  • Revision ID: edam@waxworlds.org-20090111125854-u8ofzso4jatk12me
- added "all done" message
- rewrote Importer.finish() to make the exit process more consistent
- moved Doit's message definitions to Doit
- ensure the importer is destroyed in Doit.onPause()
- only show the toaster popup if a) there is an importer to abort, and b) the abort actually did something (i.e., it's not already aborted)
- bugfix: added some checks for abortion to the Importer after wait()ing after a dialog. Importer.wake() now alsy does a notify() to break out of dialog waits.
- also, made Importer.checkAbort() protected, so it can be checked from specific importers as desired

Show diffs side-by-side

added added

removed removed

1
 
/*
2
 
 * VCFImporter.java
3
 
 *
4
 
 * Copyright (C) 2009 Tim Marston <edam@waxworlds.org>
5
 
 *
6
 
 * This file is part of the Import Contacts program (hereafter referred
7
 
 * to as "this program"). For more information, see
8
 
 * http://www.waxworlds.org/edam/software/android/import-contacts
9
 
 *
10
 
 * This program is free software: you can redistribute it and/or modify
11
 
 * it under the terms of the GNU General Public License as published by
12
 
 * the Free Software Foundation, either version 3 of the License, or
13
 
 * (at your option) any later version.
14
 
 *
15
 
 * This program is distributed in the hope that it will be useful,
16
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 
 * GNU General Public License for more details.
19
 
 *
20
 
 * You should have received a copy of the GNU General Public License
21
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
 
 */
23
 
 
24
 
package org.waxworlds.edam.importcontacts;
 
1
package org.waxworlds.importcontacts;
25
2
 
26
3
import java.io.BufferedReader;
27
4
import java.io.File;
38
15
import java.util.regex.Matcher;
39
16
import java.util.regex.Pattern;
40
17
 
 
18
import org.waxworlds.importcontacts.Importer.AbortImportException;
 
19
 
41
20
import android.content.SharedPreferences;
42
21
import android.provider.Contacts;
43
22
import android.provider.Contacts.PhonesColumns;
72
51
 
73
52
                        // get files
74
53
                        class VCardFilter implements FilenameFilter {
75
 
                                public boolean accept( File dir, String name ) {
76
 
                                        return name.toLowerCase().endsWith( ".vcf" );
77
 
                                }
 
54
                            public boolean accept( File dir, String name ) {
 
55
                                return name.toLowerCase().endsWith( ".vcf" );
 
56
                            }
78
57
                        }
79
58
                        files = dir.listFiles( new VCardFilter() );
80
59
                }
244
223
                private Vector< String > _lines = null;
245
224
                private int _nameLevel = NAMELEVEL_NONE;
246
225
 
247
 
                @SuppressWarnings("serial")
248
226
                protected class ParseException extends Exception
249
227
                {
250
 
                        @SuppressWarnings("unused")
251
228
                        public ParseException( String error )
252
229
                        {
253
230
                                super( error );
259
236
                        }
260
237
                }
261
238
 
262
 
                @SuppressWarnings("serial")
263
239
                protected class SkipContactException extends Exception { }
264
240
 
265
241
                public void parseLine( String line )