mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-14 21:45:14 -05:00
lift createUniqueFile to a Utility class
This commit is contained in:
parent
570dbf7126
commit
f292251b78
@ -67,6 +67,7 @@ import com.fsck.k9.crypto.CryptoProvider;
|
|||||||
import com.fsck.k9.crypto.PgpData;
|
import com.fsck.k9.crypto.PgpData;
|
||||||
import com.fsck.k9.helper.Contacts;
|
import com.fsck.k9.helper.Contacts;
|
||||||
import com.fsck.k9.helper.SizeFormatter;
|
import com.fsck.k9.helper.SizeFormatter;
|
||||||
|
import com.fsck.k9.helper.Utility;
|
||||||
import com.fsck.k9.mail.Address;
|
import com.fsck.k9.mail.Address;
|
||||||
import com.fsck.k9.mail.Flag;
|
import com.fsck.k9.mail.Flag;
|
||||||
import com.fsck.k9.mail.Message;
|
import com.fsck.k9.mail.Message;
|
||||||
@ -1571,44 +1572,6 @@ public class MessageView extends K9Activity implements OnClickListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a unique file in the given directory by appending a hyphen
|
|
||||||
* and a number to the given filename.
|
|
||||||
*
|
|
||||||
* @param directory
|
|
||||||
* @param filename
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private File createUniqueFile(File directory, String filename)
|
|
||||||
{
|
|
||||||
File file = new File(directory, filename);
|
|
||||||
if (!file.exists())
|
|
||||||
{
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
// Get the extension of the file, if any.
|
|
||||||
int index = filename.lastIndexOf('.');
|
|
||||||
String format;
|
|
||||||
if (index != -1)
|
|
||||||
{
|
|
||||||
String name = filename.substring(0, index);
|
|
||||||
String extension = filename.substring(index);
|
|
||||||
format = name + "-%d" + extension;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
format = filename + "-%d";
|
|
||||||
}
|
|
||||||
for (int i = 2; i < Integer.MAX_VALUE; i++)
|
|
||||||
{
|
|
||||||
file = new File(directory, String.format(format, i));
|
|
||||||
if (!file.exists())
|
|
||||||
{
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onDownloadRemainder()
|
private void onDownloadRemainder()
|
||||||
{
|
{
|
||||||
@ -2264,7 +2227,7 @@ public class MessageView extends K9Activity implements OnClickListener
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File file = createUniqueFile(Environment.getExternalStorageDirectory(),
|
File file = Utility.createUniqueFile(Environment.getExternalStorageDirectory(),
|
||||||
attachment.name);
|
attachment.name);
|
||||||
Uri uri = AttachmentProvider.getAttachmentUri(
|
Uri uri = AttachmentProvider.getAttachmentUri(
|
||||||
mAccount,
|
mAccount,
|
||||||
|
@ -527,6 +527,47 @@ public class Utility
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a unique file in the given directory by appending a hyphen
|
||||||
|
* and a number to the given filename.
|
||||||
|
*
|
||||||
|
* @param directory
|
||||||
|
* @param filename
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static File createUniqueFile(File directory, String filename)
|
||||||
|
{
|
||||||
|
File file = new File(directory, filename);
|
||||||
|
if (!file.exists())
|
||||||
|
{
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
// Get the extension of the file, if any.
|
||||||
|
int index = filename.lastIndexOf('.');
|
||||||
|
String format;
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
|
String name = filename.substring(0, index);
|
||||||
|
String extension = filename.substring(index);
|
||||||
|
format = name + "-%d" + extension;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
format = filename + "-%d";
|
||||||
|
}
|
||||||
|
for (int i = 2; i < Integer.MAX_VALUE; i++)
|
||||||
|
{
|
||||||
|
file = new File(directory, String.format(format, i));
|
||||||
|
if (!file.exists())
|
||||||
|
{
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param from
|
* @param from
|
||||||
* @param to
|
* @param to
|
||||||
|
Loading…
Reference in New Issue
Block a user