Loading res/values/donottranslate_config.xml +0 −3 Original line number Diff line number Diff line Loading @@ -55,9 +55,6 @@ specific to some vendor (like DoCoMo), specify this type (e.g. "docomo") --> <string name="config_export_vcard_type" translatable="false">default</string> <!-- Directory in which exported VCard file is stored --> <string name="config_export_dir" translatable="false">/mnt/sdcard</string> <!-- Prefix of exported VCard file --> <string name="config_export_file_prefix" translatable="false"></string> Loading src/com/android/contacts/vcard/ExportVCardActivity.java +9 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.ServiceConnection; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.IBinder; import android.os.Message; Loading Loading @@ -148,7 +149,14 @@ public class ExportVCardActivity extends Activity implements ServiceConnection, super.onCreate(bundle); // Check directory is available. final File targetDirectory = new File(getString(R.string.config_export_dir)); if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { Log.w(LOG_TAG, "External storage is in state " + Environment.getExternalStorageState() + ". Cancelling export"); showDialog(R.id.dialog_sdcard_not_found); return; } final File targetDirectory = Environment.getExternalStorageDirectory(); if (!(targetDirectory.exists() && targetDirectory.isDirectory() && targetDirectory.canRead()) && Loading src/com/android/contacts/vcard/VCardService.java +13 −10 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.net.Uri; import android.os.Binder; import android.os.Environment; import android.os.IBinder; import android.os.Message; import android.os.Messenger; Loading Loading @@ -117,7 +118,7 @@ public class VCardService extends Service { // If true, VCardExporter is able to emits files longer than 8.3 format. private static final boolean ALLOW_LONG_FILE_NAME = false; private String mTargetDirectory; private File mTargetDirectory; private String mFileNamePrefix; private String mFileNameSuffix; private int mFileIndexMinimum; Loading Loading @@ -146,7 +147,7 @@ public class VCardService extends Service { } private void initExporterParams() { mTargetDirectory = getString(R.string.config_export_dir); mTargetDirectory = Environment.getExternalStorageDirectory(); mFileNamePrefix = getString(R.string.config_export_file_prefix); mFileNameSuffix = getString(R.string.config_export_file_suffix); mFileNameExtension = getString(R.string.config_export_file_extension); Loading Loading @@ -453,7 +454,7 @@ public class VCardService extends Service { * @return destination path for a vCard file to be exported. null on error and mErrorReason * is correctly set. */ private String getAppropriateDestination(final String destDirectory) { private String getAppropriateDestination(final File destDirectory) { /* * Here, file names have 5 parts: directory, prefix, index, suffix, and extension. * e.g. "/mnt/sdcard/prfx00001sfx.vcf" -> "/mnt/sdcard", "prfx", "00001", "sfx", and ".vcf" Loading Loading @@ -498,28 +499,30 @@ public class VCardService extends Service { for (int i = mFileIndexMinimum; i <= mFileIndexMaximum; i++) { boolean numberIsAvailable = true; String body = null; final String body = String.format(bodyFormat, mFileNamePrefix, i, mFileNameSuffix); // Make sure that none of the extensions of mExtensionsToConsider matches. If this // number is free, we'll go ahead with mFileNameExtension (which is included in // mExtensionsToConsider) for (String possibleExtension : mExtensionsToConsider) { body = String.format(bodyFormat, mFileNamePrefix, i, mFileNameSuffix); final String path = String.format("%s/%s.%s", destDirectory, body, possibleExtension); final File file = new File(destDirectory, body + "." + possibleExtension); final String path = file.getAbsolutePath(); synchronized (this) { // Is this being exported right now? Skip this number if (mReservedDestination.contains(path)) { if (DEBUG) { Log.d(LOG_TAG, String.format("The path %s is reserved.", path)); Log.d(LOG_TAG, String.format("%s is already being exported.", path)); } numberIsAvailable = false; break; } } final File file = new File(path); if (file.exists()) { numberIsAvailable = false; break; } } if (numberIsAvailable) { return String.format("%s/%s.%s", destDirectory, body, mFileNameExtension); return new File(destDirectory, body + "." + mFileNameExtension).getAbsolutePath(); } } Loading Loading
res/values/donottranslate_config.xml +0 −3 Original line number Diff line number Diff line Loading @@ -55,9 +55,6 @@ specific to some vendor (like DoCoMo), specify this type (e.g. "docomo") --> <string name="config_export_vcard_type" translatable="false">default</string> <!-- Directory in which exported VCard file is stored --> <string name="config_export_dir" translatable="false">/mnt/sdcard</string> <!-- Prefix of exported VCard file --> <string name="config_export_file_prefix" translatable="false"></string> Loading
src/com/android/contacts/vcard/ExportVCardActivity.java +9 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.ServiceConnection; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.IBinder; import android.os.Message; Loading Loading @@ -148,7 +149,14 @@ public class ExportVCardActivity extends Activity implements ServiceConnection, super.onCreate(bundle); // Check directory is available. final File targetDirectory = new File(getString(R.string.config_export_dir)); if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { Log.w(LOG_TAG, "External storage is in state " + Environment.getExternalStorageState() + ". Cancelling export"); showDialog(R.id.dialog_sdcard_not_found); return; } final File targetDirectory = Environment.getExternalStorageDirectory(); if (!(targetDirectory.exists() && targetDirectory.isDirectory() && targetDirectory.canRead()) && Loading
src/com/android/contacts/vcard/VCardService.java +13 −10 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.net.Uri; import android.os.Binder; import android.os.Environment; import android.os.IBinder; import android.os.Message; import android.os.Messenger; Loading Loading @@ -117,7 +118,7 @@ public class VCardService extends Service { // If true, VCardExporter is able to emits files longer than 8.3 format. private static final boolean ALLOW_LONG_FILE_NAME = false; private String mTargetDirectory; private File mTargetDirectory; private String mFileNamePrefix; private String mFileNameSuffix; private int mFileIndexMinimum; Loading Loading @@ -146,7 +147,7 @@ public class VCardService extends Service { } private void initExporterParams() { mTargetDirectory = getString(R.string.config_export_dir); mTargetDirectory = Environment.getExternalStorageDirectory(); mFileNamePrefix = getString(R.string.config_export_file_prefix); mFileNameSuffix = getString(R.string.config_export_file_suffix); mFileNameExtension = getString(R.string.config_export_file_extension); Loading Loading @@ -453,7 +454,7 @@ public class VCardService extends Service { * @return destination path for a vCard file to be exported. null on error and mErrorReason * is correctly set. */ private String getAppropriateDestination(final String destDirectory) { private String getAppropriateDestination(final File destDirectory) { /* * Here, file names have 5 parts: directory, prefix, index, suffix, and extension. * e.g. "/mnt/sdcard/prfx00001sfx.vcf" -> "/mnt/sdcard", "prfx", "00001", "sfx", and ".vcf" Loading Loading @@ -498,28 +499,30 @@ public class VCardService extends Service { for (int i = mFileIndexMinimum; i <= mFileIndexMaximum; i++) { boolean numberIsAvailable = true; String body = null; final String body = String.format(bodyFormat, mFileNamePrefix, i, mFileNameSuffix); // Make sure that none of the extensions of mExtensionsToConsider matches. If this // number is free, we'll go ahead with mFileNameExtension (which is included in // mExtensionsToConsider) for (String possibleExtension : mExtensionsToConsider) { body = String.format(bodyFormat, mFileNamePrefix, i, mFileNameSuffix); final String path = String.format("%s/%s.%s", destDirectory, body, possibleExtension); final File file = new File(destDirectory, body + "." + possibleExtension); final String path = file.getAbsolutePath(); synchronized (this) { // Is this being exported right now? Skip this number if (mReservedDestination.contains(path)) { if (DEBUG) { Log.d(LOG_TAG, String.format("The path %s is reserved.", path)); Log.d(LOG_TAG, String.format("%s is already being exported.", path)); } numberIsAvailable = false; break; } } final File file = new File(path); if (file.exists()) { numberIsAvailable = false; break; } } if (numberIsAvailable) { return String.format("%s/%s.%s", destDirectory, body, mFileNameExtension); return new File(destDirectory, body + "." + mFileNameExtension).getAbsolutePath(); } } Loading