class NotificationIconDecorator extends HaloNotificationDecorator {

    @Override
    public NotificationCompat.Builder decorate(@NonNull NotificationCompat.Builder builder, @NonNull Bundle bundle) {
        String iconName = bundle.getString("icon");
        if (TextUtils.isEmpty(iconName)) {
            iconName = "";
        }
        Resources resources = mContext.getResources();
        int drawableId = resources.getIdentifier(iconName, "drawable", mContext.getPackageName());
        if (drawableId == 0) {
            drawableId = resources.getIdentifier(iconName, "mipmap", mContext.getPackageName());
        }
        if (drawableId == 0) { // Get the default application icon
            try {
                drawableId = mContext.getPackageManager().getApplicationInfo(mContext.getPackageName(), PackageManager.GET_META_DATA).icon;
            } catch (PackageManager.NameNotFoundException e) {
                Halog.e(getClass(), "Could not get the application icon.");
            }
        }
        builder.setSmallIcon(drawableId);
        return chain(builder, bundle);
    }

    public  NotificationIconDecorator(Context context, HaloNotificationDecorator decorator);

}