/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.http.Header;
import android.content.Context;
import android.content.Intent;
import android.os.Environment;
import android.text.TextUtils;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.network.http.HttpOperation;
/**
*
* @author sihai
*
*/
public class SavePhotoOperation extends DownloadPhotoOperation {
private static final Pattern CONTENT_DISPOSITION_PATTERN = Pattern.compile("attachment;\\s*filename\\s*=\\s*(\"?)([^\"]*)\\1\\s*$", 2);
private static final File SAVE_TO_DIRECTORY;
private String mContentType;
private String mSaveToName;
static
{
SAVE_TO_DIRECTORY = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
}
public SavePhotoOperation(Context context, EsAccount esaccount, Intent intent, String s, HttpOperation.OperationListener operationlistener)
{
super(context, "GET", s, esaccount, null, intent, operationlistener);
}
private static String parseContentDisposition(String s) {
try {
Matcher matcher = CONTENT_DISPOSITION_PATTERN.matcher(s);
if(!matcher.find())
return null;
return matcher.group(2);
} catch (IllegalStateException illegalstateexception) {
// TOTO log
return null;
}
}
public final String getContentType()
{
return mContentType;
}
public final File getSaveToFile()
{
File file;
if(TextUtils.isEmpty(mSaveToName))
file = null;
else
file = new File(SAVE_TO_DIRECTORY, mSaveToName);
return file;
}
public final void onHttpReadFromStream(InputStream inputstream, String s, int i, Header aheader[]) throws IOException {
// TODO
}
}