// 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.EditText;
import android.widget.ImageButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.databinding.Bindable;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import androidx.recyclerview.widget.RecyclerView;
import com.toughra.ustadmobile.R;
import com.ustadmobile.core.controller.NewCommentItemListener;
import com.ustadmobile.lib.db.entities.Chat;
import com.ustadmobile.lib.db.entities.Person;
import com.ustadmobile.port.android.view.util.ForeignKeyAttachmentUriAdapter;
import java.lang.Deprecated;
import java.lang.Object;

public abstract class FragmentChatDetailBinding extends ViewDataBinding {
  @NonNull
  public final EditText fragmentChatDetailMessageEt;

  @NonNull
  public final ImageButton fragmentChatDetailMessageSendIb;

  @NonNull
  public final RecyclerView fragmentChatDetailMessages;

  @Bindable
  protected Chat mChat;

  @Bindable
  protected Person mLoggedInPerson;

  @Bindable
  protected ForeignKeyAttachmentUriAdapter mPersonImageAdapter;

  @Bindable
  protected String mComment;

  @Bindable
  protected NewCommentItemListener mListener;

  protected FragmentChatDetailBinding(Object _bindingComponent, View _root, int _localFieldCount,
      EditText fragmentChatDetailMessageEt, ImageButton fragmentChatDetailMessageSendIb,
      RecyclerView fragmentChatDetailMessages) {
    super(_bindingComponent, _root, _localFieldCount);
    this.fragmentChatDetailMessageEt = fragmentChatDetailMessageEt;
    this.fragmentChatDetailMessageSendIb = fragmentChatDetailMessageSendIb;
    this.fragmentChatDetailMessages = fragmentChatDetailMessages;
  }

  public abstract void setChat(@Nullable Chat chat);

  @Nullable
  public Chat getChat() {
    return mChat;
  }

  public abstract void setLoggedInPerson(@Nullable Person loggedInPerson);

  @Nullable
  public Person getLoggedInPerson() {
    return mLoggedInPerson;
  }

  public abstract void setPersonImageAdapter(
      @Nullable ForeignKeyAttachmentUriAdapter personImageAdapter);

  @Nullable
  public ForeignKeyAttachmentUriAdapter getPersonImageAdapter() {
    return mPersonImageAdapter;
  }

  public abstract void setComment(@Nullable String comment);

  @Nullable
  public String getComment() {
    return mComment;
  }

  public abstract void setListener(@Nullable NewCommentItemListener listener);

  @Nullable
  public NewCommentItemListener getListener() {
    return mListener;
  }

  @NonNull
  public static FragmentChatDetailBinding 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.fragment_chat_detail, root, attachToRoot, component)
   */
  @NonNull
  @Deprecated
  public static FragmentChatDetailBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
    return ViewDataBinding.<FragmentChatDetailBinding>inflateInternal(inflater, R.layout.fragment_chat_detail, root, attachToRoot, component);
  }

  @NonNull
  public static FragmentChatDetailBinding 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.fragment_chat_detail, null, false, component)
   */
  @NonNull
  @Deprecated
  public static FragmentChatDetailBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable Object component) {
    return ViewDataBinding.<FragmentChatDetailBinding>inflateInternal(inflater, R.layout.fragment_chat_detail, null, false, component);
  }

  public static FragmentChatDetailBinding 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 FragmentChatDetailBinding bind(@NonNull View view, @Nullable Object component) {
    return (FragmentChatDetailBinding)bind(component, view, R.layout.fragment_chat_detail);
  }
}
