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

  • Committer: edam
  • Date: 2010-07-04 14:44:48 UTC
  • Revision ID: edam@waxworlds.org-20100704144448-1m30v811opup20fs
- got rid of the pretend ImportContacts activity alltogether (and made the Intro activity the startup one)
- massively simplified the WizzardActivity class so it works propperly
- moved all code to org.waxworlds.edam
- added an "aborted" message when the importion is aborted
- simplified the 3 actions the worker thread can take when stopping (only 2 were actualy used) to "aborted" or "alldone"
- changed intro message to match website
- bugfix: don't blow up when the My Contacts group is missing

Show diffs side-by-side

added added

removed removed

1
 
package org.waxworlds.importcontacts;
 
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;
2
25
 
3
26
import java.io.BufferedReader;
4
27
import java.io.File;
15
38
import java.util.regex.Matcher;
16
39
import java.util.regex.Pattern;
17
40
 
18
 
import org.waxworlds.importcontacts.Importer.AbortImportException;
19
 
 
20
41
import android.content.SharedPreferences;
21
42
import android.provider.Contacts;
22
43
import android.provider.Contacts.PhonesColumns;
51
72
 
52
73
                        // get files
53
74
                        class VCardFilter implements FilenameFilter {
54
 
                            public boolean accept( File dir, String name ) {
55
 
                                return name.toLowerCase().endsWith( ".vcf" );
56
 
                            }
 
75
                                public boolean accept( File dir, String name ) {
 
76
                                        return name.toLowerCase().endsWith( ".vcf" );
 
77
                                }
57
78
                        }
58
79
                        files = dir.listFiles( new VCardFilter() );
59
80
                }
175
196
                                                if( !showContinue(
176
197
                                                                getText( R.string.error_vcf_parse ).toString()
177
198
                                                                + fileName + "\n" + e.getMessage() ) )
178
 
                                                        abort();
 
199
                                                        finish( ACTION_ABORT );
179
200
                                        }
180
201
                                        catch( VCard.SkipContactException e ) {
181
202
                                                skipContact();
194
215
                                                if( !showContinue(
195
216
                                                                getText( R.string.error_vcf_parse ).toString()
196
217
                                                                + fileName + "\n" + e.getMessage() ) )
197
 
                                                        abort();
 
218
                                                        finish( ACTION_ABORT );
198
219
 
199
220
                                                // although we're continuing, we still need to abort
200
221
                                                // this vCard. Further lines will be ignored until we
223
244
                private Vector< String > _lines = null;
224
245
                private int _nameLevel = NAMELEVEL_NONE;
225
246
 
 
247
                @SuppressWarnings("serial")
226
248
                protected class ParseException extends Exception
227
249
                {
 
250
                        @SuppressWarnings("unused")
228
251
                        public ParseException( String error )
229
252
                        {
230
253
                                super( error );
236
259
                        }
237
260
                }
238
261
 
 
262
                @SuppressWarnings("serial")
239
263
                protected class SkipContactException extends Exception { }
240
264
 
241
265
                public void parseLine( String line )