// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.olio.data.object.media; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import android.os.Parcel; import com.olio.communication.messages.MessagePayload; import com.olio.olios.model.record.DatabaseRecord; import com.olio.olios.model.record.DatabaseRecordMixins; import com.olio.util.ALog; import java.util.LinkedList; import java.util.List; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; // Referenced classes of package com.olio.data.object.media: // MediaControlBuilder public class MediaControl extends MessagePayload implements DatabaseRecord { public static interface MediaControlCallback { public abstract void onConnectionStateChange(int i); public abstract void onLoadMetadataCompleted(); public abstract void onPlaybackStatusChanged(int i, int j, byte byte0); public abstract void takeAction(MediaControl mediacontrol); } public static interface MediaMetadataProvider { public abstract int getCurrentPosition(); public abstract String getMediaArtist(); public abstract int getMediaDuration(); public abstract String getMediaTitle(); public abstract void loadMetadata(); public abstract void registerCallback(MediaControlCallback mediacontrolcallback); public abstract void unregisterCallback(); } public static final class MediaState extends Enum { private static final MediaState $VALUES[]; public static final MediaState Paused; public static final MediaState Playing; public static final MediaState Stopped; public static final MediaState Unknown; public static MediaState valueOf(String s) { return (MediaState)Enum.valueOf(com/olio/data/object/media/MediaControl$MediaState, s); } public static MediaState[] values() { return (MediaState[])$VALUES.clone(); } static { Playing = new MediaState("Playing", 0); Paused = new MediaState("Paused", 1); Stopped = new MediaState("Stopped", 2); Unknown = new MediaState("Unknown", 3); $VALUES = (new MediaState[] { Playing, Paused, Stopped, Unknown }); } private MediaState(String s, int i) { super(s, i); } } public static final String BOTTOM_TEXT = "bottom_text"; public static final android.os.Parcelable.Creator CREATOR = new android.os.Parcelable.Creator() { public MessagePayload createFromParcel(Parcel parcel) { return MessagePayload.unpackParcel(parcel); } public volatile Object createFromParcel(Parcel parcel) { return createFromParcel(parcel); } public MessagePayload[] newArray(int i) { return new MediaControl[i]; } public volatile Object[] newArray(int i) { return newArray(i); } }; public static final String CURRENT_TIME = "play_time"; public static final String DURATION = "duration"; public static final String MEDIA_STATE = "media_state"; public static final String TABLE_NAME = "media_control"; public static final String TOP_TEXT = "top_text"; public static final String TYPE_NAME = "media-control"; private static String columnProjection[]; private static com.olio.olios.model.record.DatabaseRecord.DatabaseRecordFactory databaseRecordFactory = new com.olio.olios.model.record.DatabaseRecord.DatabaseRecordFactory() { public DatabaseRecord getRecordInstance() { return new MediaControl(); } }; private static final List recordFields; private static final long serialVersionUID = 0xaecd503d5fc43486L; private String bottomText; private int currentTime; private int duration; private MediaState mediaState; private String topText; public MediaControl() { topText = ""; bottomText = ""; currentTime = -1; duration = 0; mediaState = MediaState.Unknown; } private static MediaControl firstMediaControlFromCursor(Cursor cursor) { if (cursor != null && cursor.getCount() > 0) { return (MediaControl)DatabaseRecordMixins.recordsFromCursor(cursor, staticFactory()).get(0); } else { return null; } } public static MediaControl mediaControl(ContentResolver contentresolver) { contentresolver = contentresolver.query(DatabaseRecordMixins.baseUriForTable(staticFactory()), staticColumnProjection(), null, null, null); MediaControl mediacontrol = firstMediaControlFromCursor(contentresolver); if (contentresolver != null) { contentresolver.close(); } contentresolver = mediacontrol; if (mediacontrol == null) { contentresolver = MediaControlBuilder.aMediaControl().setMediaState(MediaState.Stopped).setBottomText("").setTopText("").setCurrentTime(0).setDuration(0).build(); } return contentresolver; } public static String[] staticColumnProjection() { return columnProjection; } public static com.olio.olios.model.record.DatabaseRecord.DatabaseRecordFactory staticFactory() { return databaseRecordFactory; } public String[] columnProjection() { return staticColumnProjection(); } public String defaultOrderBy() { return null; } public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } else { obj = (MediaControl)obj; return (new EqualsBuilder()).append(currentTime, ((MediaControl) (obj)).currentTime).append(duration, ((MediaControl) (obj)).duration).append(topText, ((MediaControl) (obj)).topText).append(bottomText, ((MediaControl) (obj)).bottomText).append(mediaState, ((MediaControl) (obj)).mediaState).isEquals(); } } public com.olio.olios.model.record.DatabaseRecord.DatabaseRecordFactory factory() { return staticFactory(); } public String getBottomText() { return bottomText; } public int getCurrentTime() { return currentTime; } public int getDuration() { return duration; } public MediaState getMediaState() { return mediaState; } public String getTopText() { return topText; } public Cursor handleCustomUriQuery(Uri uri, String as[], String s, String as1[], String s1) { return null; } public int hashCode() { return (new HashCodeBuilder(17, 37)).append(topText).append(bottomText).append(mediaState).append(currentTime).append(duration).toHashCode(); } public String indexColumn() { return "_id"; } public List recordFields() { return recordFields; } public void reset() { setTopText(""); setBottomText(""); setCurrentTime(-1); setDuration(0); setMediaState(MediaState.Stopped); } public void save(ContentResolver contentresolver) { ContentValues contentvalues = DatabaseRecordMixins.valuesForRecord(this); Uri uri = DatabaseRecordMixins.baseUriForTable(factory()); int i = contentresolver.update(DatabaseRecordMixins.baseUriForTable(factory()), contentvalues, null, null); if (i == 0) { contentresolver.insert(uri, contentvalues); } else if (i != 1 && i > 1) { ALog.e("Attempting to save MediaControl and there is more than one row in the table.", new Object[0]); throw new RuntimeException("Attempting to save MediaControl and there is more than one row in the table."); } } public void setBottomText(String s) { bottomText = s; } public void setCurrentTime(int i) { currentTime = i; } public void setDuration(int i) { duration = i; } public void setMediaState(MediaState mediastate) { mediaState = mediastate; } public void setTopText(String s) { topText = s; } public String tableName() { return "media_control"; } public Uri tableUri() { return DatabaseRecordMixins.baseUriForTable(staticFactory()); } public String toString() { return (new StringBuilder()).append("MediaControl{topText='").append(topText).append('\'').append(", bottomText='").append(bottomText).append('\'').append(", currentTime=").append(currentTime).append('\'').append(", duration=").append(duration).append('\'').append(", playState=").append(mediaState).append('}').toString(); } static { recordFields = new LinkedList(); recordFields.add(new com.olio.olios.model.record.DatabaseRecord.RecordField() { public void assignFromCursor(MediaControl mediacontrol, Cursor cursor) { mediacontrol.setTopText(cursor.getString(cursor.getColumnIndex(columnName()))); } public volatile void assignFromCursor(Object obj, Cursor cursor) { assignFromCursor((MediaControl)obj, cursor); } public String columnName() { return "top_text"; } public String createType() { return "TEXT"; } public void writeToContentValues(MediaControl mediacontrol, ContentValues contentvalues) { contentvalues.put(columnName(), mediacontrol.getTopText()); } public volatile void writeToContentValues(Object obj, ContentValues contentvalues) { writeToContentValues((MediaControl)obj, contentvalues); } }); recordFields.add(new com.olio.olios.model.record.DatabaseRecord.RecordField() { public void assignFromCursor(MediaControl mediacontrol, Cursor cursor) { mediacontrol.setBottomText(cursor.getString(cursor.getColumnIndex(columnName()))); } public volatile void assignFromCursor(Object obj, Cursor cursor) { assignFromCursor((MediaControl)obj, cursor); } public String columnName() { return "bottom_text"; } public String createType() { return "TEXT"; } public void writeToContentValues(MediaControl mediacontrol, ContentValues contentvalues) { contentvalues.put(columnName(), mediacontrol.getBottomText()); } public volatile void writeToContentValues(Object obj, ContentValues contentvalues) { writeToContentValues((MediaControl)obj, contentvalues); } }); recordFields.add(new com.olio.olios.model.record.DatabaseRecord.RecordField() { public void assignFromCursor(MediaControl mediacontrol, Cursor cursor) { mediacontrol.setCurrentTime(cursor.getInt(cursor.getColumnIndex(columnName()))); } public volatile void assignFromCursor(Object obj, Cursor cursor) { assignFromCursor((MediaControl)obj, cursor); } public String columnName() { return "play_time"; } public String createType() { return "INTEGER"; } public void writeToContentValues(MediaControl mediacontrol, ContentValues contentvalues) { contentvalues.put(columnName(), Integer.valueOf(mediacontrol.getCurrentTime())); } public volatile void writeToContentValues(Object obj, ContentValues contentvalues) { writeToContentValues((MediaControl)obj, contentvalues); } }); recordFields.add(new com.olio.olios.model.record.DatabaseRecord.RecordField() { public void assignFromCursor(MediaControl mediacontrol, Cursor cursor) { mediacontrol.setDuration(cursor.getInt(cursor.getColumnIndex(columnName()))); } public volatile void assignFromCursor(Object obj, Cursor cursor) { assignFromCursor((MediaControl)obj, cursor); } public String columnName() { return "duration"; } public String createType() { return "INTEGER"; } public void writeToContentValues(MediaControl mediacontrol, ContentValues contentvalues) { contentvalues.put(columnName(), Integer.valueOf(mediacontrol.getDuration())); } public volatile void writeToContentValues(Object obj, ContentValues contentvalues) { writeToContentValues((MediaControl)obj, contentvalues); } }); recordFields.add(new com.olio.olios.model.record.DatabaseRecord.RecordField() { public void assignFromCursor(MediaControl mediacontrol, Cursor cursor) { mediacontrol.setMediaState(MediaState.valueOf(cursor.getString(cursor.getColumnIndex(columnName())))); } public volatile void assignFromCursor(Object obj, Cursor cursor) { assignFromCursor((MediaControl)obj, cursor); } public String columnName() { return "media_state"; } public String createType() { return "TEXT"; } public void writeToContentValues(MediaControl mediacontrol, ContentValues contentvalues) { contentvalues.put(columnName(), mediacontrol.getMediaState().name()); } public volatile void writeToContentValues(Object obj, ContentValues contentvalues) { writeToContentValues((MediaControl)obj, contentvalues); } }); columnProjection = DatabaseRecordMixins.columnProjectionFromRecordFields(recordFields); } }