extract getDrawableAsNotificationBitmap into ResourceUtils

This commit is contained in:
Vincent Breitmoser
2018-06-13 13:35:57 +02:00
parent 1593cc0826
commit 08ab5669a5
2 changed files with 31 additions and 28 deletions

View File

@@ -0,0 +1,29 @@
package org.sufficientlysecure.keychain.util;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
public class ResourceUtils {
public static Bitmap getDrawableAsNotificationBitmap(@NonNull Context context, @DrawableRes int iconRes) {
Drawable iconDrawable = ContextCompat.getDrawable(context, iconRes);
if (iconDrawable == null) {
return null;
}
Resources resources = context.getResources();
int largeIconWidth = resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width);
int largeIconHeight = resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height);
Bitmap b = Bitmap.createBitmap(largeIconWidth, largeIconHeight, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
iconDrawable.setBounds(0, 0, largeIconWidth, largeIconHeight);
iconDrawable.draw(c);
return b;
}
}