/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.fragments;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.content.CursorLoader;
import com.galaxy.meetup.client.android.EsMatrixCursor;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.EsProvider;
import com.galaxy.meetup.client.util.MediaStoreUtils;
import com.galaxy.meetup.server.client.domain.DataVideo;
import com.galaxy.meetup.server.client.util.JsonUtil;
/**
*
* @author sihai
*
*/
public class VideoDataLoader extends CursorLoader {
private final EsAccount mAccount;
private final Uri mLocalUri;
private final long mPhotoId;
private final String mPhotoUrl;
public VideoDataLoader(Context context, EsAccount esaccount, String s, long l, Uri uri)
{
super(context);
mAccount = esaccount;
mPhotoUrl = s;
mPhotoId = l;
mLocalUri = uri;
}
public final Cursor loadInBackground()
{
Cursor cursor = null;
ContentResolver contentresolver = getContext().getContentResolver();
if(mPhotoId == 0L) {
Uri uri;
cursor = new EsMatrixCursor(PhotoQuery.PROJECTION);
DataVideo datavideo = null;
if(mPhotoUrl == null) {
uri = mLocalUri;
datavideo = null;
if(uri != null)
datavideo = MediaStoreUtils.toVideoData(getContext(), mLocalUri);
} else {
datavideo = MediaStoreUtils.toVideoData(getContext(), Uri.parse(mPhotoUrl));
}
byte abyte0[];
Object aobj[];
if(datavideo != null)
abyte0 = JsonUtil.toByteArray(datavideo);
else
abyte0 = null;
aobj = new Object[PhotoQuery.PROJECTION.length];
aobj[0] = abyte0;
((EsMatrixCursor)cursor).addRow(aobj);
return cursor;
} else {
return contentresolver.query(EsProvider.appendAccountParameter(ContentUris.withAppendedId(EsProvider.PHOTO_BY_PHOTO_ID_URI, mPhotoId), mAccount), PhotoQuery.PROJECTION, null, null, null);
}
}
public static interface PhotoQuery
{
public static final String PROJECTION[] = {
"video_data"
};
}
}