Renamed package to gramophone
This commit is contained in:
parent
200c50babf
commit
c28a75c61a
95 changed files with 412 additions and 415 deletions
|
|
@ -0,0 +1,105 @@
|
|||
package com.kabouzeid.gramophone.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.support.v7.graphics.Palette;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.model.Album;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
import com.kabouzeid.gramophone.view.SquareImageView;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by karim on 24.11.14.
|
||||
*/
|
||||
public class AlbumViewGridAdapter extends ArrayAdapter<Album> {
|
||||
public static final String TAG = AlbumViewGridAdapter.class.getSimpleName();
|
||||
private Context context;
|
||||
private boolean usePalette;
|
||||
|
||||
public AlbumViewGridAdapter(Context context, List<Album> objects) {
|
||||
super(context, R.layout.album_tile, objects);
|
||||
this.context = context;
|
||||
usePalette = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
final Album album = getItem(position);
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(context).inflate(R.layout.album_tile, parent, false);
|
||||
}
|
||||
final SquareImageView albumArt = (SquareImageView) convertView.findViewById(R.id.album_art);
|
||||
final TextView title = (TextView) convertView.findViewById(R.id.album_title);
|
||||
final TextView artist = (TextView) convertView.findViewById(R.id.album_interpret);
|
||||
final View footer = convertView.findViewById(R.id.footer);
|
||||
|
||||
title.setText(album.title);
|
||||
artist.setText(album.artistName);
|
||||
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getAlbumArtUri(album.id).toString(), albumArt, new ImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingStarted(String imageUri, View view) {
|
||||
albumArt.setImageDrawable(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
if (usePalette) {
|
||||
paletteBugFixBlackAndWhite(title, artist, footer);
|
||||
}
|
||||
albumArt.setImageResource(R.drawable.default_album_art);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
|
||||
if (usePalette) {
|
||||
applyPalette(loadedImage, title, artist, footer);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingCancelled(String imageUri, View view) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
private void applyPalette(Bitmap bitmap, final TextView title, final TextView artist, final View footer) {
|
||||
Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() {
|
||||
@Override
|
||||
public void onGenerated(Palette palette) {
|
||||
final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch();
|
||||
if (vibrantSwatch != null) {
|
||||
title.setTextColor(vibrantSwatch.getTitleTextColor());
|
||||
artist.setTextColor(vibrantSwatch.getTitleTextColor());
|
||||
ViewUtil.animateViewColor(footer, getContext().getResources().getColor(R.color.materialmusic_default_bar_color),
|
||||
vibrantSwatch.getRgb());
|
||||
} else {
|
||||
paletteBugFixBlackAndWhite(title, artist, footer);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void paletteBugFixBlackAndWhite(TextView title, TextView artist, View footer) {
|
||||
title.setTextColor(Util.resolveColor(context, R.attr.title_text_color));
|
||||
artist.setTextColor(Util.resolveColor(context, R.attr.caption_text_color));
|
||||
int defaultBarColor = getContext().getResources().getColor(R.color.materialmusic_default_bar_color);
|
||||
ViewUtil.animateViewColor(footer, defaultBarColor, defaultBarColor);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package com.kabouzeid.gramophone.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistThumbnailLoader;
|
||||
import com.kabouzeid.gramophone.model.Artist;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by karim on 29.12.14.
|
||||
*/
|
||||
public class ArtistViewListAdapter extends ArrayAdapter<Artist> {
|
||||
private Context context;
|
||||
|
||||
|
||||
public ArtistViewListAdapter(Context context, List<Artist> objects) {
|
||||
super(context, R.layout.item_artist_view, objects);
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
Artist artist = getItem(position);
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(context).inflate(R.layout.item_artist_view, parent, false);
|
||||
}
|
||||
final TextView artistName = (TextView) convertView.findViewById(R.id.artist_name);
|
||||
final ImageView artistArt = (ImageView) convertView.findViewById(R.id.artist_image);
|
||||
|
||||
artistName.setText(artist.name);
|
||||
artistArt.setImageResource(R.drawable.default_artist_image);
|
||||
|
||||
final Object tag = artist.name;
|
||||
artistArt.setTag(tag);
|
||||
|
||||
LastFMArtistThumbnailLoader.loadArtistThumbnail(context, artist.name, new LastFMArtistThumbnailLoader.ArtistThumbnailLoaderCallback() {
|
||||
@Override
|
||||
public void onArtistThumbnailLoaded(Bitmap thumbnail) {
|
||||
if (artistArt.getTag().equals(tag)) {
|
||||
if (thumbnail != null) {
|
||||
artistArt.setImageBitmap(thumbnail);
|
||||
} else {
|
||||
artistArt.setImageResource(R.drawable.default_artist_image);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return convertView;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package com.kabouzeid.gramophone.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.model.NavigationDrawerItem;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by karim on 23.11.14.
|
||||
*/
|
||||
public class NavigationDrawerItemAdapter extends ArrayAdapter<NavigationDrawerItem> {
|
||||
private int currentChecked = -1;
|
||||
|
||||
public NavigationDrawerItemAdapter(Context context, int resource, List<NavigationDrawerItem> objects) {
|
||||
super(context, resource, objects);
|
||||
}
|
||||
|
||||
public void setChecked(int position) {
|
||||
currentChecked = position;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
NavigationDrawerItem item = getItem(position);
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_navigation_drawer, parent, false);
|
||||
}
|
||||
TextView title = (TextView) convertView.findViewById(R.id.title);
|
||||
ImageView icon = (ImageView) convertView.findViewById(R.id.album_art);
|
||||
title.setText(item.title);
|
||||
icon.setImageResource(item.imageRes);
|
||||
if (position == currentChecked) {
|
||||
title.setTextColor(Util.resolveColor(getContext(), R.attr.colorAccent));
|
||||
} else {
|
||||
title.setTextColor(Util.resolveColor(getContext(), R.attr.title_text_color));
|
||||
}
|
||||
View container = convertView.findViewById(R.id.container);
|
||||
container.setActivated(position == currentChecked);
|
||||
return convertView;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
package com.kabouzeid.gramophone.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.songadapter.SongAdapter;
|
||||
import com.kabouzeid.gramophone.helper.SongDetailDialogHelper;
|
||||
import com.kabouzeid.gramophone.loader.SongFilePathLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by karim on 24.01.15.
|
||||
*/
|
||||
public class PlayingQueueAdapter extends ArrayAdapter<Song> {
|
||||
private Context context;
|
||||
private App app;
|
||||
private SongAdapter.GoToAble goToAble;
|
||||
|
||||
public PlayingQueueAdapter(Context context, SongAdapter.GoToAble goToAble, List<Song> playList) {
|
||||
super(context, R.layout.item_playlist, playList);
|
||||
this.context = context;
|
||||
app = (App) context.getApplicationContext();
|
||||
this.goToAble = goToAble;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
final Song song = getItem(position);
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(context).inflate(R.layout.item_playlist, parent, false);
|
||||
}
|
||||
final TextView title = (TextView) convertView.findViewById(R.id.song_title);
|
||||
final ImageView playingIndicator = (ImageView) convertView.findViewById(R.id.playing_indicator);
|
||||
final ImageView overflowButton = (ImageView) convertView.findViewById(R.id.menu);
|
||||
|
||||
title.setText(song.title);
|
||||
if (app.getMusicPlayerRemote().getPosition() == position) {
|
||||
playingIndicator.setVisibility(View.VISIBLE);
|
||||
playingIndicator.setImageResource(R.drawable.ic_speaker_white_48dp);
|
||||
} else {
|
||||
playingIndicator.setVisibility(View.GONE);
|
||||
playingIndicator.setImageBitmap(null);
|
||||
}
|
||||
|
||||
overflowButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(final View v) {
|
||||
PopupMenu popupMenu = new PopupMenu(context, v);
|
||||
popupMenu.inflate(R.menu.menu_song);
|
||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_tag_editor:
|
||||
Intent intent = new Intent(context, SongTagEditorActivity.class);
|
||||
intent.putExtra(AppKeys.E_ID, song.id);
|
||||
context.startActivity(intent);
|
||||
return true;
|
||||
case R.id.action_details:
|
||||
String songFilePath = SongFilePathLoader.getSongFilePath(context, song.id);
|
||||
File songFile = new File(songFilePath);
|
||||
SongDetailDialogHelper.getDialog(context, songFile).show();
|
||||
return true;
|
||||
case R.id.action_go_to_album:
|
||||
if (goToAble != null) {
|
||||
goToAble.goToAlbum(song.albumId);
|
||||
}
|
||||
return true;
|
||||
case R.id.action_go_to_artist:
|
||||
if (goToAble != null) {
|
||||
goToAble.goToArtist(song.artistId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
popupMenu.show();
|
||||
}
|
||||
});
|
||||
return convertView;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package com.kabouzeid.gramophone.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.model.SearchEntry;
|
||||
import com.kabouzeid.gramophone.ui.activities.SearchActivity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by karim on 27.02.15.
|
||||
*/
|
||||
public class SearchAdapter extends ArrayAdapter<SearchEntry> {
|
||||
|
||||
public SearchAdapter(Context context, List<SearchEntry> objects) {
|
||||
super(context, R.layout.item_search, objects);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_search, parent, false);
|
||||
}
|
||||
|
||||
SearchEntry item = getItem(position);
|
||||
|
||||
final TextView title = (TextView) convertView.findViewById(R.id.title);
|
||||
final TextView subTitle = (TextView) convertView.findViewById(R.id.sub_title);
|
||||
final ImageView imageView = (ImageView) convertView.findViewById(R.id.image);
|
||||
|
||||
if (item instanceof SearchActivity.LabelEntry) {
|
||||
title.setTypeface(null, Typeface.BOLD);
|
||||
subTitle.setVisibility(View.GONE);
|
||||
imageView.setVisibility(View.GONE);
|
||||
convertView.setBackgroundColor(getContext().getResources().getColor(R.color.materialmusic_default_bar_color));
|
||||
} else {
|
||||
title.setTypeface(null, Typeface.NORMAL);
|
||||
subTitle.setVisibility(View.VISIBLE);
|
||||
imageView.setVisibility(View.VISIBLE);
|
||||
convertView.setBackgroundColor(Color.TRANSPARENT);
|
||||
}
|
||||
|
||||
title.setText(item.getTitle());
|
||||
subTitle.setText(item.getSubTitle());
|
||||
|
||||
imageView.setImageBitmap(null);
|
||||
item.loadImage(getContext(), imageView);
|
||||
|
||||
return convertView;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
package com.kabouzeid.gramophone.adapter.songadapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.helper.SongDetailDialogHelper;
|
||||
import com.kabouzeid.gramophone.loader.SongFilePathLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by karim on 27.11.14.
|
||||
*/
|
||||
public class SongAdapter extends ArrayAdapter<Song> {
|
||||
public static final String TAG = SongAdapter.class.getSimpleName();
|
||||
protected Context context;
|
||||
protected GoToAble goToAble;
|
||||
|
||||
public SongAdapter(Context context, GoToAble goToAble, List<Song> objects) {
|
||||
super(context, R.layout.item_song, objects);
|
||||
this.context = context;
|
||||
this.goToAble = goToAble;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
final Song song = getItem(position);
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_song, parent, false);
|
||||
}
|
||||
TextView songTitle = (TextView) convertView.findViewById(R.id.song_title);
|
||||
TextView trackNumber = (TextView) convertView.findViewById(R.id.track_number);
|
||||
TextView songDuration = (TextView) convertView.findViewById(R.id.song_duration);
|
||||
ImageView overflowButton = (ImageView) convertView.findViewById(R.id.menu);
|
||||
|
||||
overflowButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(final View v) {
|
||||
PopupMenu popupMenu = new PopupMenu(context, v);
|
||||
popupMenu.inflate(R.menu.menu_song);
|
||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_tag_editor:
|
||||
Intent intent = new Intent(context, SongTagEditorActivity.class);
|
||||
intent.putExtra(AppKeys.E_ID, song.id);
|
||||
context.startActivity(intent);
|
||||
return true;
|
||||
case R.id.action_details:
|
||||
String songFilePath = SongFilePathLoader.getSongFilePath(context, song.id);
|
||||
File songFile = new File(songFilePath);
|
||||
SongDetailDialogHelper.getDialog(context, songFile).show();
|
||||
return true;
|
||||
case R.id.action_go_to_album:
|
||||
if (goToAble != null) {
|
||||
goToAble.goToAlbum(song.albumId);
|
||||
}
|
||||
return true;
|
||||
case R.id.action_go_to_artist:
|
||||
if (goToAble != null) {
|
||||
goToAble.goToArtist(song.artistId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
popupMenu.show();
|
||||
}
|
||||
});
|
||||
|
||||
songTitle.setText(song.title);
|
||||
trackNumber.setText(String.valueOf(MusicUtil.getFixedTrackNumber(song.trackNumber)));
|
||||
songDuration.setText(MusicUtil.getReadableDurationString(song.duration));
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
public static interface GoToAble {
|
||||
public void goToAlbum(int albumId);
|
||||
|
||||
public void goToArtist(int artistId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
package com.kabouzeid.gramophone.adapter.songadapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.helper.SongDetailDialogHelper;
|
||||
import com.kabouzeid.gramophone.loader.SongFilePathLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity;
|
||||
import com.kabouzeid.gramophone.util.ImageLoaderUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by karim on 27.11.14.
|
||||
*/
|
||||
public class SongViewListAdapter extends SongAdapter {
|
||||
public static final String TAG = SongViewListAdapter.class.getSimpleName();
|
||||
|
||||
public SongViewListAdapter(Context context, SongAdapter.GoToAble goToAble, List<Song> objects) {
|
||||
super(context, goToAble, objects);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
final Song song = getItem(position);
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_song_view, parent, false);
|
||||
}
|
||||
TextView songTitle = (TextView) convertView.findViewById(R.id.song_title);
|
||||
final ImageView albumArt = (ImageView) convertView.findViewById(R.id.album_art);
|
||||
ImageView overflowButton = (ImageView) convertView.findViewById(R.id.menu);
|
||||
|
||||
overflowButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(final View v) {
|
||||
PopupMenu popupMenu = new PopupMenu(context, v);
|
||||
popupMenu.inflate(R.menu.menu_song);
|
||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_tag_editor:
|
||||
Intent intent = new Intent(context, SongTagEditorActivity.class);
|
||||
intent.putExtra(AppKeys.E_ID, song.id);
|
||||
context.startActivity(intent);
|
||||
return true;
|
||||
case R.id.action_details:
|
||||
String songFilePath = SongFilePathLoader.getSongFilePath(context, song.id);
|
||||
File songFile = new File(songFilePath);
|
||||
SongDetailDialogHelper.getDialog(context, songFile).show();
|
||||
return true;
|
||||
case R.id.action_go_to_album:
|
||||
if (goToAble != null) {
|
||||
goToAble.goToAlbum(song.albumId);
|
||||
}
|
||||
return true;
|
||||
case R.id.action_go_to_artist:
|
||||
if (goToAble != null) {
|
||||
goToAble.goToArtist(song.artistId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
popupMenu.show();
|
||||
}
|
||||
});
|
||||
|
||||
songTitle.setText(song.title);
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getAlbumArtUri(song.albumId).toString(), albumArt, new ImageLoaderUtil.defaultAlbumArtOnFailed());
|
||||
|
||||
return convertView;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue