/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.api; import java.io.ByteArrayOutputStream; import android.content.Context; import android.content.Intent; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.content.cache.CachedImageRequest; import com.galaxy.meetup.client.android.network.http.HttpOperation; import com.galaxy.meetup.client.android.network.http.HttpTransactionMetrics; import com.galaxy.meetup.client.android.service.EsSyncAdapterService; import com.galaxy.meetup.client.util.ImageLoadingMetrics; /** * * @author sihai * */ public class DownloadImageOperation extends HttpOperation { private byte[] mImageBytes; private final CachedImageRequest mRequest; private final boolean mSaveToCache; public DownloadImageOperation(Context context, EsAccount esaccount, CachedImageRequest cachedimagerequest, Intent intent, HttpOperation.OperationListener operationlistener) { this(context, esaccount, cachedimagerequest, true, null, null); } public DownloadImageOperation(Context context, EsAccount esaccount, CachedImageRequest cachedimagerequest, boolean flag, Intent intent, HttpOperation.OperationListener operationlistener) { super(context, "GET", cachedimagerequest.getDownloadUrl(), esaccount, new ByteArrayOutputStream(15000), intent, operationlistener); mRequest = cachedimagerequest; mSaveToCache = flag; } public final byte[] getImageBytes() { return mImageBytes; } public final void start(EsSyncAdapterService.SyncState syncstate, HttpTransactionMetrics httptransactionmetrics) { if(ImageLoadingMetrics.areImageLoadingMetricsEnabled()) ImageLoadingMetrics.recordImageDownloadStarted(mRequest.getUriForLogging()); super.start(syncstate, httptransactionmetrics); } }