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