docs: public Drawable decideIcon(Context ctx, int iconColor, boolean tint, int paddingDp) {
          Drawable icon = getIcon();
  
          if (mIIcon != null) {
              icon = new IconicsDrawable(ctx, mIIcon).color(iconColor).sizeDp(24).paddingDp(paddingDp);
          } else if (getIconRes() != -1) {
              icon = AppCompatResources.getDrawable(ctx, getIconRes());
          } else if (getUri() != null) {
              try {
                  InputStream inputStream = ctx.getContentResolver().openInputStream(getUri());
                  icon = Drawable.createFromStream(inputStream, getUri().toString());
              } catch (FileNotFoundException e) {
                  //no need to handle this
              }
          }
  
          //if we got an icon AND we have auto tinting enabled AND it is no IIcon, tint it ;)
          if (icon != null && tint && mIIcon == null) {
              icon = icon.mutate();
              icon.setColorFilter(iconColor, PorterDuff.Mode.SRC_IN);
          }
  
          return icon;
      }