117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen/*
217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * Copyright (C) 2014 Google Inc. All Rights Reserved.
317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen *
417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * Licensed under the Apache License, Version 2.0 (the "License");
517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * you may not use this file except in compliance with the License.
617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * You may obtain a copy of the License at
717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen *
817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen *      http://www.apache.org/licenses/LICENSE-2.0
917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen *
1017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * Unless required by applicable law or agreed to in writing, software
1117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * distributed under the License is distributed on an "AS IS" BASIS,
1217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * See the License for the specific language governing permissions and
1417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * limitations under the License.
1517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen */
1617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
1717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chenpackage com.example.android.musicservicedemo.browser;
1817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
1917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen/**
2017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen * A class to model music track metadata.
2117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen */
2217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chenpublic class MusicTrack {
2317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
2417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private static final String TAG = "MusicTrack";
2517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
2617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private String mTitle;
2717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private String mAlbum;
2817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private String mArtist;
2917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private String mGenre;
3017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private String mSource;
3117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private String mImage;
3217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private int mTrackNumber;
3317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private int mTotalTrackCount;
3417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    private int mDuration;
3517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
3617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    /**
3717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * Constructor creating a MusicTrack instance.
3817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     *
3917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param title
4017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param album
4117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param artist
4217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param genre
4317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param source
4417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param image
4517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param trackNumber
4617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param totalTrackCount
4717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     * @param duration
4817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen     */
4917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public MusicTrack(String title, String album, String artist, String genre, String source,
5017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen            String image, int trackNumber, int totalTrackCount, int duration) {
5117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mTitle = title;
5217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mAlbum = album;
5317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mArtist = artist;
5417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mGenre = genre;
5517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mSource = source;
5617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mImage = image;
5717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mTrackNumber = trackNumber;
5817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mTotalTrackCount = totalTrackCount;
5917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mDuration = duration;
6017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
6117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
6217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public String getTitle() {
6317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mTitle;
6417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
6517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
6617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setTitle(String mTitle) {
6717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mTitle = mTitle;
6817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
6917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
7017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public String getAlbum() {
7117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mAlbum;
7217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
7317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
7417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setAlbum(String mAlbum) {
7517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mAlbum = mAlbum;
7617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
7717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
7817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public String getArtist() {
7917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mArtist;
8017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
8117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
8217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setArtist(String mArtist) {
8317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mArtist = mArtist;
8417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
8517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
8617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public String getGenre() {
8717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mGenre;
8817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
8917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
9017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setGenre(String mGenre) {
9117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mGenre = mGenre;
9217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
9317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
9417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public String getSource() {
9517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mSource;
9617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
9717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
9817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setSource(String mSource) {
9917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mSource = mSource;
10017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
10117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
10217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public String getImage() {
10317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mImage;
10417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
10517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
10617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setImage(String mImage) {
10717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mImage = mImage;
10817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
10917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
11017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public int getTrackNumber() {
11117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mTrackNumber;
11217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
11317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
11417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setTrackNumber(int mTrackNumber) {
11517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mTrackNumber = mTrackNumber;
11617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
11717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
11817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public int getTotalTrackCount() {
11917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mTotalTrackCount;
12017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
12117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
12217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setTotalTrackCount(int mTotalTrackCount) {
12317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mTotalTrackCount = mTotalTrackCount;
12417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
12517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
12617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public int getDuration() {
12717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mDuration;
12817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
12917d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
13017d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public void setDuration(int mDuration) {
13117d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        this.mDuration = mDuration;
13217d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
13317d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
13417d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    public String toString() {
13517d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen        return mTitle;
13617d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen    }
13717d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen
13817d47989ee53c9e54f250d29a343ba949edf0ff9Yao Chen}
139