From f633fb39aa2fd17c2b36a321922742a500596efd Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Tue, 23 Nov 2021 23:24:36 +0100 Subject: [PATCH] Use card icon image if available --- .../card_locker/CardsOnPowerScreenService.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/protect/card_locker/CardsOnPowerScreenService.java b/app/src/main/java/protect/card_locker/CardsOnPowerScreenService.java index e0adf5ef6..600e39df0 100644 --- a/app/src/main/java/protect/card_locker/CardsOnPowerScreenService.java +++ b/app/src/main/java/protect/card_locker/CardsOnPowerScreenService.java @@ -1,8 +1,10 @@ package protect.card_locker; import android.app.PendingIntent; +import android.content.Context; import android.content.Intent; import android.database.Cursor; +import android.graphics.Bitmap; import android.graphics.drawable.Icon; import android.os.Build; import android.service.controls.Control; @@ -43,7 +45,7 @@ public class CardsOnPowerScreenService extends ControlsProviderService { .setTitle(card.store) .setDeviceType(DeviceTypes.TYPE_GENERIC_OPEN_CLOSE) .setSubtitle(card.note) - .setCustomIcon(Icon.createWithBitmap(Utils.generateIcon(this, card.store, card.headerColor).getLetterTile())) + .setCustomIcon(Icon.createWithBitmap(getIcon(this, card))) .build() ); } @@ -71,7 +73,7 @@ public class CardsOnPowerScreenService extends ControlsProviderService { .setSubtitle(card.note) .setStatus(Control.STATUS_OK) .setControlTemplate(new StatelessTemplate(controlId)) - .setCustomIcon(Icon.createWithBitmap(Utils.generateIcon(this, card.store, card.headerColor).getLetterTile())) + .setCustomIcon(Icon.createWithBitmap(getIcon(this, card))) .build(); Log.d(TAG, "Dispatching widget " + controlId); subscriber.onNext(ret); @@ -80,6 +82,16 @@ public class CardsOnPowerScreenService extends ControlsProviderService { }; } + private Bitmap getIcon(Context context, LoyaltyCard loyaltyCard) { + Bitmap cardIcon = Utils.retrieveCardImage(context, loyaltyCard.id, ImageLocationType.icon); + + if (cardIcon != null) { + return cardIcon; + } + + return Utils.generateIcon(this, loyaltyCard.store, loyaltyCard.headerColor).getLetterTile(); + } + private Integer controlIdToCardId(String controlId) { if (controlId == null) return null;