content: package net.nullsum.audinaut.view;
  
  import android.content.Context;
  import android.widget.ImageView;
  
  public abstract class UpdateView2<T1, T2> extends UpdateView<T1> {
      T2 item2;
  
      public UpdateView2(Context context) {
          super(context, true);
      }
  
      UpdateView2(Context context, boolean autoUpdate) {
          super(context, autoUpdate);
      }
  
      public final void setObject(T1 obj1) {
          setObject(obj1, null);
      }
  
      public void setObject(T1 obj1, Object obj2) {
          if (item == obj1 && item2 == obj2) {
              return;
          }
  
          item = obj1;
          item2 = (T2) obj2;
          if (imageTask != null) {
              imageTask.cancel();
              imageTask = null;
          }
          if (coverArtView != null && coverArtView instanceof ImageView) {
              ((ImageView) coverArtView).setImageDrawable(null);
          }
  
          setObjectImpl(item, item2);
          backgroundHandler.post(() -> {
              updateBackground();
              uiHandler.post(this::update);
          });
      }
  
      protected final void setObjectImpl(T1 obj1) {
          setObjectImpl(obj1, null);
      }
  
      protected abstract void setObjectImpl(T1 obj1, T2 obj2);
  }
  