Add VCardExporter functionality.

There is still no test. I'll work on cleaning up VCard related code in Eclair, so tests will be added at that time.

All configurations how file name is determined is configurable.
diff --git a/res/values/config.xml b/res/values/config.xml
index 669a9d4..7af1d54 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -30,7 +30,7 @@
     If config_import_all_vcard_from_sdcard_automatically is set true, this configuration
     is ignored. -->
     <bool name="config_allow_users_select_all_vcard_import">false</bool>
-    
+
     <!-- Flag indicating whether Contacts app is allowed to export contacts to SDCard -->
     <bool name="config_allow_export_to_sdcard">false</bool>
 
@@ -43,4 +43,32 @@
     <!-- How long to vibrate (in msec), if dialer key vibration is enabled. -->
     <integer name="config_dialer_key_vibrate_duration">40</integer>
 
+    <!-- The type of VCard for export. Without specifying this, generic VCard will be emitted.
+     If you want to let the app emit VCard specific to some vendor (like DoCoMo),
+     please specify the type.-->
+    <string name="config_export_vcard_type"></string>
+
+    <!-- Directory in which exported VCard file is stored -->
+    <string name="config_export_dir">/sdcard</string>
+
+    <!-- Prefix of exported VCard file -->
+    <string name="config_export_file_prefix"></string>
+
+    <!-- Suffix of exported VCard file. Attached before an extension -->
+    <string name="config_export_file_suffix"></string>
+
+    <!-- Extension for exported VCard files -->
+    <string name="config_export_file_extension">vcf</string>
+
+    <!-- Minimum number of exported VCard file index -->
+    <integer name="config_export_file_min_index">1</integer>
+
+    <!-- Maximum number of exported VCard file index -->
+    <integer name="config_export_file_max_index">99999</integer>
+
+    <!-- The list (separated by ',') of extensions should be checked in addition to
+     config_export_extension. e.g. If "aaa" is added to here and 00001.vcf and 00002.aaa
+     exist in a target directory, 00003.vcf becomes a next file name candidate.
+     Without this configuration, 00002.vcf becomes the candidate.-->
+    <string name="config_export_extensions_to_consider"></string>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 83d839e..3aba0a4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -710,6 +710,9 @@
     <!-- The failed reason: "Too many vcard files on the SD Card" -->
     <string name="fail_reason_too_many_vcard">Too many VCard data on the SD Card</string>
 
+    <!-- The failed reason: "Too long filename". This error usually does not happen. -->
+    <string name="fail_reason_too_long_filename">Too long filename is required (\"<xliff:g id="filename">%s</xliff:g>\")</string>
+
     <!-- The failed reason: "Cannot open or create the destination directory" -->
     <string name="fail_reason_cannot_open_destination_dir">Cannot open or create the destination directory\"<xliff:g id="dir_name">%s</xliff:g>\"</string>