package com.naman14.timber.widgets.desktop;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.widget.RemoteViews;
import com.naman14.timber.MusicPlayer;
import com.naman14.timber.MusicService;
import com.naman14.timber.R;
import com.naman14.timber.utils.NavigationUtils;
import com.naman14.timber.utils.TimberUtils;
import com.nostra13.universalimageloader.core.ImageLoader;
/**
* Created by nv95 on 02.11.16.
*/
public class SmallWidget extends BaseWidget {
@Override
int getLayoutRes() {
return R.layout.widget_small;
}
@Override
void onViewsUpdate(Context context, RemoteViews remoteViews, ComponentName serviceName) {
remoteViews.setOnClickPendingIntent(R.id.image_next, PendingIntent.getService(
context,
REQUEST_NEXT,
new Intent(context, MusicService.class)
.setAction(MusicService.NEXT_ACTION)
.setComponent(serviceName),
0
));
remoteViews.setOnClickPendingIntent(R.id.image_playpause, PendingIntent.getService(
context,
REQUEST_PLAYPAUSE,
new Intent(context, MusicService.class)
.setAction(MusicService.TOGGLEPAUSE_ACTION)
.setComponent(serviceName),
0
));
String t = MusicPlayer.getTrackName();
if (t != null) {
remoteViews.setTextViewText(R.id.textView_title, t);
}
t = MusicPlayer.getArtistName();
if (t != null) {
remoteViews.setTextViewText(R.id.textView_subtitle, t);
}
remoteViews.setImageViewResource(R.id.image_playpause,
MusicPlayer.isPlaying() ? R.drawable.ic_pause_white_36dp : R.drawable.ic_play_white_36dp);
long albumId = MusicPlayer.getCurrentAlbumId();
if (albumId != -1) {
Bitmap artwork;
artwork = ImageLoader.getInstance().loadImageSync(TimberUtils.getAlbumArtUri(albumId).toString());
if (artwork == null) {
artwork = ImageLoader.getInstance().loadImageSync("drawable://" + R.drawable.ic_empty_music2);
}
remoteViews.setImageViewBitmap(R.id.imageView_cover, artwork);
}
remoteViews.setOnClickPendingIntent(R.id.textView_title, PendingIntent.getActivity(
context,
0,
NavigationUtils.getNowPlayingIntent(context),
PendingIntent.FLAG_UPDATE_CURRENT
));
}
}