/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.iu; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.android.gallery3d.common.Entry; import com.android.gallery3d.common.EntrySchema; import com.android.gallery3d.common.Fingerprint; /** * * @author sihai * */ @Entry.Table("media_record") public class MediaRecordEntry extends Entry { public static final EntrySchema SCHEMA = new EntrySchema( MediaRecordEntry.class); @Entry.Column("album_id") private String mAlbumId; @Entry.Column("bytes_total") private long mBytesTotal; @Entry.Column("bytes_uploaded") private long mBytesUploaded; private Throwable mError; @Entry.Column("event_id") private String mEventId; @Entry.Column("fingerprint") private byte[] mFingerprint; @Entry.Column(allowNull = false, defaultValue = "0", value = "from_camera") private boolean mFromCamera; @Entry.Column(allowNull = false, defaultValue = "1", value = "is_image") private boolean mIsImage; @Entry.Column(allowNull = false, value = "media_hash") private long mMediaHash; @Entry.Column(allowNull = false, indexed = true, value = "media_id") private long mMediaId; @Entry.Column(allowNull = false, value = "media_time") private long mMediaTime; @Entry.Column(allowNull = false, value = "media_url") private String mMediaUrl; @Entry.Column("upload_account") private String mUploadAccount; @Entry.Column("upload_error") private String mUploadError; @Entry.Column("upload_id") private long mUploadId; @Entry.Column(allowNull = false, defaultValue = "0", value = "upload_reason") private int mUploadReason; @Entry.Column(allowNull = false, defaultValue = "200", value = "upload_state") private int mUploadState; @Entry.Column("upload_time") private long mUploadTime; @Entry.Column("upload_url") private String mUploadUrl; private MediaRecordEntry() { } static MediaRecordEntry createNew(ContentValues contentvalues) { return (MediaRecordEntry) SCHEMA.valuesToObject(contentvalues, new MediaRecordEntry()); } public static MediaRecordEntry fromCursor(Cursor cursor) { return (MediaRecordEntry) SCHEMA.cursorToObject(cursor, new MediaRecordEntry()); } public static MediaRecordEntry fromId(SQLiteDatabase sqlitedatabase, long l) { MediaRecordEntry mediarecordentry = new MediaRecordEntry(); if (!SCHEMA.queryWithId(sqlitedatabase, l, mediarecordentry)) mediarecordentry = null; return mediarecordentry; } public static MediaRecordEntry fromMediaId(SQLiteDatabase sqlitedatabase, long l) { Cursor cursor = null; String s = SCHEMA.getTableName(); String as[] = SCHEMA.getProjection(); String as1[] = new String[1]; as1[0] = Long.toString(l); try { cursor = sqlitedatabase.query(s, as, "media_id = ? AND upload_account IS NULL", as1, null, null, null); if (cursor.moveToFirst()) { return (MediaRecordEntry) SCHEMA.cursorToObject(cursor, new MediaRecordEntry()); } return null; } finally { if (null != cursor) { cursor.close(); } } } public final String getAlbumId() { return mAlbumId; } public final long getBytesTotal() { return mBytesTotal; } public final String getEventId() { return mEventId; } public final Fingerprint getFingerprint() { Fingerprint fingerprint; if (mFingerprint != null) fingerprint = new Fingerprint(mFingerprint); else fingerprint = null; return fingerprint; } public final byte[] getFingerprintBytes() { return mFingerprint; } public final long getMediaTime() { return mMediaTime; } public final String getMediaUrl() { return mMediaUrl; } public final String getUploadAccount() { return mUploadAccount; } public final long getUploadId() { return mUploadId; } public final int getUploadReason() { return mUploadReason; } public final boolean isImage() { return mIsImage; } public final MediaRecordEntry setBytesUploaded(long l) { mBytesUploaded = l; return this; } public final MediaRecordEntry setState(int i) { mUploadState = i; return this; } public final MediaRecordEntry setState(int i, int j) { mUploadState = i + j; return this; } public final MediaRecordEntry setState(int i, int j, Throwable throwable) { mUploadState = i + j; mError = throwable; return this; } public final MediaRecordEntry setUploadAccount(String s) { mUploadAccount = s; return this; } public final MediaRecordEntry setUploadId(long l) { mUploadId = l; return this; } public final MediaRecordEntry setUploadReason(int i) { mUploadReason = i; return this; } public final MediaRecordEntry setUploadTime(long l) { mUploadTime = l; return this; } public final MediaRecordEntry setUploadUrl(String s) { mUploadUrl = s; return this; } public String toString() { StringBuilder stringbuilder = (new StringBuilder()).append( SCHEMA.toDebugString(this, new String[] { "media_url", "media_id", "album_id", "event_id", "upload_reason", "upload_state", "upload_account", "upload_url", "bytes_total" })).append(" ["); boolean i = mBytesTotal != 0L; int j = 0; if (i != false) { boolean k = mBytesUploaded != 0L; j = 0; if (k != false) j = Math.min( (int) Math .round(100D * (double) ((float) mBytesUploaded / (float) mBytesTotal)), 100); } return stringbuilder.append(j).append("%]").toString(); } }