OSDN Git Service

c24ba7ec3cba3236c8bde2846833023945c72392
[android-x86/packages-apps-Eleven.git] / src / com / cyngn / eleven / adapters / ArtistDetailSongAdapter.java
1 package com.cyngn.eleven.adapters;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.support.v4.content.Loader;
6 import android.view.View;
7 import android.widget.ImageView;
8 import android.widget.TextView;
9
10 import com.cyngn.eleven.Config;
11 import com.cyngn.eleven.R;
12 import com.cyngn.eleven.cache.ImageFetcher;
13 import com.cyngn.eleven.loaders.ArtistSongLoader;
14 import com.cyngn.eleven.model.Song;
15
16 import java.util.List;
17
18 public class ArtistDetailSongAdapter extends DetailSongAdapter {
19
20     public ArtistDetailSongAdapter(Activity activity) {
21         super(activity);
22     }
23
24     protected int rowLayoutId() { return R.layout.artist_detail_song; }
25
26     @Override // LoaderCallbacks
27     public Loader<List<Song>> onCreateLoader(int id, Bundle args) {
28         return new ArtistSongLoader(mActivity, args.getLong(Config.ID));
29     }
30
31     protected Holder newHolder(View root, ImageFetcher fetcher) {
32         return new ArtistHolder(root, fetcher);
33     }
34
35     private static class ArtistHolder extends Holder {
36         ImageView art;
37         TextView album;
38
39         protected ArtistHolder(View root, ImageFetcher fetcher) {
40             super(root, fetcher);
41             art = (ImageView)root.findViewById(R.id.album_art);
42             album = (TextView)root.findViewById(R.id.album);
43         }
44
45         protected void update(Song song) {
46             title.setText(song.mSongName);
47             album.setText(song.mAlbumName);
48
49             if (song.mAlbumId >= 0) {
50                 fetcher.loadAlbumImage(song.mArtistName, song.mAlbumName, song.mAlbumId, art);
51             }
52         }
53     }
54 }