Fix clearing widget cover art

Setting resource to 0 does not work on ICS
This commit is contained in:
Christopher Eby 2011-12-29 00:11:55 -06:00
parent 49ef2bc7e4
commit 598987f5a7
4 changed files with 29 additions and 20 deletions

View File

@ -95,22 +95,24 @@ public class FourLongWidget extends AppWidgetProvider {
views.setViewVisibility(R.id.buttons, View.GONE);
views.setViewVisibility(R.id.title, View.GONE);
views.setInt(R.id.artist, "setText", R.string.no_songs);
views.setImageViewResource(R.id.cover, 0);
views.setViewVisibility(R.id.cover, View.GONE);
} else if (song == null) {
views.setViewVisibility(R.id.buttons, View.VISIBLE);
views.setViewVisibility(R.id.title, View.GONE);
views.setInt(R.id.artist, "setText", R.string.app_name);
views.setImageViewResource(R.id.cover, 0);
views.setViewVisibility(R.id.cover, View.GONE);
} else {
views.setViewVisibility(R.id.title, View.VISIBLE);
views.setViewVisibility(R.id.buttons, View.VISIBLE);
views.setTextViewText(R.id.title, song.title);
views.setTextViewText(R.id.artist, song.artist);
Bitmap cover = song.getCover(context);
if (cover == null)
views.setImageViewResource(R.id.cover, 0);
else
if (cover == null) {
views.setViewVisibility(R.id.cover, View.GONE);
} else {
views.setViewVisibility(R.id.cover, View.VISIBLE);
views.setImageViewBitmap(R.id.cover, cover);
}
}
boolean playing = (state & PlaybackService.FLAG_PLAYING) != 0;

View File

@ -95,22 +95,24 @@ public class FourSquareWidget extends AppWidgetProvider {
views.setViewVisibility(R.id.buttons, View.GONE);
views.setViewVisibility(R.id.title, View.GONE);
views.setInt(R.id.artist, "setText", R.string.no_songs);
views.setImageViewResource(R.id.cover, 0);
views.setViewVisibility(R.id.cover, View.GONE);
} else if (song == null) {
views.setViewVisibility(R.id.buttons, View.VISIBLE);
views.setViewVisibility(R.id.title, View.GONE);
views.setInt(R.id.artist, "setText", R.string.app_name);
views.setImageViewResource(R.id.cover, 0);
views.setViewVisibility(R.id.cover, View.GONE);
} else {
views.setViewVisibility(R.id.title, View.VISIBLE);
views.setViewVisibility(R.id.buttons, View.VISIBLE);
views.setTextViewText(R.id.title, song.title);
views.setTextViewText(R.id.artist, song.artist);
Bitmap cover = song.getCover(context);
if (cover == null)
views.setImageViewResource(R.id.cover, 0);
else
if (cover == null) {
views.setViewVisibility(R.id.cover, View.GONE);
} else {
views.setViewVisibility(R.id.cover, View.VISIBLE);
views.setImageViewBitmap(R.id.cover, cover);
}
}
boolean playing = (state & PlaybackService.FLAG_PLAYING) != 0;

View File

@ -30,6 +30,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.view.View;
import android.widget.RemoteViews;
/**
@ -109,17 +110,19 @@ public class OneCellWidget extends AppWidgetProvider {
if ((state & PlaybackService.FLAG_NO_MEDIA) != 0) {
views.setInt(R.id.title, "setText", R.string.no_songs);
views.setImageViewResource(R.id.cover, 0);
views.setViewVisibility(R.id.cover, View.GONE);
} else if (song == null) {
views.setInt(R.id.title, "setText", R.string.app_name);
views.setImageViewResource(R.id.cover, 0);
views.setViewVisibility(R.id.cover, View.GONE);
} else {
views.setTextViewText(R.id.title, song.title);
Bitmap cover = song.getCover(context);
if (cover == null)
views.setImageViewResource(R.id.cover, 0);
else
if (cover == null) {
views.setViewVisibility(R.id.cover, View.GONE);
} else {
views.setViewVisibility(R.id.cover, View.VISIBLE);
views.setImageViewBitmap(R.id.cover, cover);
}
}
manager.updateAppWidget(new ComponentName(context, OneCellWidget.class), views);

View File

@ -94,23 +94,25 @@ public class WidgetD extends AppWidgetProvider {
if ((state & PlaybackService.FLAG_NO_MEDIA) != 0) {
views.setViewVisibility(R.id.buttons, View.GONE);
views.setViewVisibility(R.id.title, View.GONE);
views.setViewVisibility(R.id.cover, View.GONE);
views.setInt(R.id.artist, "setText", R.string.no_songs);
views.setImageViewResource(R.id.cover, 0);
} else if (song == null) {
views.setViewVisibility(R.id.buttons, View.VISIBLE);
views.setViewVisibility(R.id.title, View.GONE);
views.setViewVisibility(R.id.cover, View.GONE);
views.setInt(R.id.artist, "setText", R.string.app_name);
views.setImageViewResource(R.id.cover, 0);
} else {
views.setViewVisibility(R.id.title, View.VISIBLE);
views.setViewVisibility(R.id.buttons, View.VISIBLE);
views.setTextViewText(R.id.title, song.title);
views.setTextViewText(R.id.artist, song.artist);
Bitmap cover = song.getCover(context);
if (cover == null)
views.setImageViewResource(R.id.cover, 0);
else
if (cover == null) {
views.setViewVisibility(R.id.cover, View.GONE);
} else {
views.setViewVisibility(R.id.cover, View.VISIBLE);
views.setImageViewBitmap(R.id.cover, cover);
}
}
boolean playing = (state & PlaybackService.FLAG_PLAYING) != 0;