// Generated by data binding compiler. Do not edit!
package com.toughra.ustadmobile.databinding;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.databinding.Bindable;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import com.toughra.ustadmobile.R;
import com.ustadmobile.core.controller.SessionListPresenter;
import com.ustadmobile.lib.db.entities.PersonWithSessionsDisplay;
import com.ustadmobile.port.android.view.SessionListFragment;
import java.lang.Deprecated;
import java.lang.Object;

public abstract class ItemPersonSessionsListBinding extends ViewDataBinding {
  @NonNull
  public final TextView itemPersonDuration;

  @NonNull
  public final TextView itemPersonProgress;

  @NonNull
  public final AppCompatImageView itemPersonProgressImage;

  @NonNull
  public final TextView itemPersonScoreResults;

  @NonNull
  public final TextView itemPersonStartDateTime;

  @NonNull
  public final TextView itemPersonSuccessComplete;

  @NonNull
  public final AppCompatImageView itemPersonSuccessCompleteImage;

  @Bindable
  protected PersonWithSessionsDisplay mPerson;

  @Bindable
  protected SessionListPresenter mPresenter;

  @Bindable
  protected SessionListFragment.PersonWithSessionsDisplayListRecyclerAdapter mSelectablePagedListAdapter;

  protected ItemPersonSessionsListBinding(Object _bindingComponent, View _root,
      int _localFieldCount, TextView itemPersonDuration, TextView itemPersonProgress,
      AppCompatImageView itemPersonProgressImage, TextView itemPersonScoreResults,
      TextView itemPersonStartDateTime, TextView itemPersonSuccessComplete,
      AppCompatImageView itemPersonSuccessCompleteImage) {
    super(_bindingComponent, _root, _localFieldCount);
    this.itemPersonDuration = itemPersonDuration;
    this.itemPersonProgress = itemPersonProgress;
    this.itemPersonProgressImage = itemPersonProgressImage;
    this.itemPersonScoreResults = itemPersonScoreResults;
    this.itemPersonStartDateTime = itemPersonStartDateTime;
    this.itemPersonSuccessComplete = itemPersonSuccessComplete;
    this.itemPersonSuccessCompleteImage = itemPersonSuccessCompleteImage;
  }

  public abstract void setPerson(@Nullable PersonWithSessionsDisplay person);

  @Nullable
  public PersonWithSessionsDisplay getPerson() {
    return mPerson;
  }

  public abstract void setPresenter(@Nullable SessionListPresenter presenter);

  @Nullable
  public SessionListPresenter getPresenter() {
    return mPresenter;
  }

  public abstract void setSelectablePagedListAdapter(
      @Nullable SessionListFragment.PersonWithSessionsDisplayListRecyclerAdapter selectablePagedListAdapter);

  @Nullable
  public SessionListFragment.PersonWithSessionsDisplayListRecyclerAdapter getSelectablePagedListAdapter(
      ) {
    return mSelectablePagedListAdapter;
  }

  @NonNull
  public static ItemPersonSessionsListBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot) {
    return inflate(inflater, root, attachToRoot, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.item_person_sessions_list, root, attachToRoot, component)
   */
  @NonNull
  @Deprecated
  public static ItemPersonSessionsListBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
    return ViewDataBinding.<ItemPersonSessionsListBinding>inflateInternal(inflater, R.layout.item_person_sessions_list, root, attachToRoot, component);
  }

  @NonNull
  public static ItemPersonSessionsListBinding inflate(@NonNull LayoutInflater inflater) {
    return inflate(inflater, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.item_person_sessions_list, null, false, component)
   */
  @NonNull
  @Deprecated
  public static ItemPersonSessionsListBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable Object component) {
    return ViewDataBinding.<ItemPersonSessionsListBinding>inflateInternal(inflater, R.layout.item_person_sessions_list, null, false, component);
  }

  public static ItemPersonSessionsListBinding bind(@NonNull View view) {
    return bind(view, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.bind(view, component)
   */
  @Deprecated
  public static ItemPersonSessionsListBinding bind(@NonNull View view, @Nullable Object component) {
    return (ItemPersonSessionsListBinding)bind(component, view, R.layout.item_person_sessions_list);
  }
}
