org.peercast.core.ChannelInfo.java Source code

Java tutorial

Introduction

Here is the source code for org.peercast.core.ChannelInfo.java

Source

package org.peercast.core;

/**
 * (c) 2013, T Yoshizawa
 *
 * Dual licensed under the MIT or GPL licenses.
 */

import android.os.Bundle;
import android.support.annotation.NonNull;

import org.apache.commons.lang3.builder.ToStringBuilder;

public class ChannelInfo {

    // enum ChanInfo::TYPE
    public static final int T_UNKNOWN = 0;

    public static final int T_RAW = 1;
    public static final int T_MP3 = 2;
    public static final int T_OGG = 3;
    public static final int T_OGM = 4;
    public static final int T_MOV = 5;
    public static final int T_MPG = 6;
    public static final int T_NSV = 7;
    public static final int T_WMA = 8;
    public static final int T_WMV = 9;
    public static final int T_PLS = 10;
    public static final int T_ASX = 11;

    // b->putInt("contentType", info->contentType);
    // b->putString("track.artist", info->track.artist);
    // b->putString("track.title", info->track.title);
    // b->putString("name", info->name);
    // b->putString("desc", info->desc);
    // b->putString("genre", info->genre);
    // b->putString("comment", info->comment);
    // b->putString("url", info->url);
    // b->putInt("bitrate", info->bitrate);

    private final Bundle mBundle;

    private ChannelInfo(@NonNull Bundle b) {
        mBundle = b;
    }

    public String getId() {
        return mBundle.getString("id");
    }

    public int getType() {
        return mBundle.getInt("contentType");
    }

    /**
     * See [Native] ChanInfo::getTypeStr() //IM0050
     */
    public String getTypeStr() {
        return mBundle.getString("typeStr");
    }

    public String getTrackArtist() {
        return mBundle.getString("track.artist");
    }

    public String getTrackTitle() {
        return mBundle.getString("track.title");
    }

    public String getName() {
        return mBundle.getString("name");
    }

    public String getDesc() {
        return mBundle.getString("desc");
    }

    public String getGenre() {
        return mBundle.getString("genre");
    }

    public String getComment() {
        return mBundle.getString("comment");
    }

    public String getUrl() {
        return mBundle.getString("url");
    }

    public int getBitrate() {
        return mBundle.getInt("bitrate");
    }

    /**
     * @see Channel#getInfo()
     * @see PeerCastService#notifyChannel(int, Bundle)
     */
    public static ChannelInfo fromNativeResult(Bundle b) {
        return new ChannelInfo(b);
    }

    @Override
    public String toString() {
        ToStringBuilder sb = new ToStringBuilder(this);
        for (String k : mBundle.keySet()) {
            sb.append(k, mBundle.get(k));
        }
        return sb.toString();
    }

}