title: Cannot resolve symbol 'AuthUI'
body: <p>I am adding firebase google and Gmail sign in but when I pasted my code in 
  onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) method i got this error </p>
  
  <blockquote>
    <p>Cannot resolve symbol 'AuthUI'</p>
  </blockquote>
  
  <p>on AuthUI word and all AuthUI words got red in 
  onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) method.</p>
  
  <p><strong>Code of MainActivity</strong></p>
  
  <pre><code>package com.google.firebase.udacity.friendlychat;
  
  import android.os.Bundle;
  import android.support.annotation.NonNull;
  import android.support.v7.app.AppCompatActivity;
  import android.text.Editable;
  import android.text.InputFilter;
  import android.text.TextWatcher;
  import android.view.Menu;
  import android.view.MenuInflater;
  import android.view.MenuItem;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.ImageButton;
  import android.widget.ListView;
  import android.widget.ProgressBar;
  
  import com.google.firebase.auth.FirebaseAuth;
  import com.google.firebase.auth.FirebaseUser;
  import com.google.firebase.database.ChildEventListener;
  import com.google.firebase.database.DataSnapshot;
  import com.google.firebase.database.DatabaseError;
  import com.google.firebase.database.DatabaseReference;
  import com.google.firebase.database.FirebaseDatabase;
  
  import java.util.ArrayList;
  import java.util.Arrays;
  import java.util.List;
  
  public class MainActivity extends AppCompatActivity {
  
      private static final String TAG = "MainActivity";
  
      public static final String ANONYMOUS = "anonymous";
      public static final int DEFAULT_MSG_LENGTH_LIMIT = 1000;
      public static final int RC_SIGN_IN=1;
  
      private ListView mMessageListView;
      private MessageAdapter mMessageAdapter;
      private ProgressBar mProgressBar;
      private ImageButton mPhotoPickerButton;
      private EditText mMessageEditText;
      private Button mSendButton;
  
      private String mUsername;
  
      private FirebaseDatabase database;
      private DatabaseReference databaserefrence;
      private ChildEventListener databaselistener;
  
     private FirebaseAuth auth;
      private FirebaseAuth.AuthStateListener auhtlistener;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          mUsername = ANONYMOUS;
  
          database = FirebaseDatabase.getInstance();
          databaserefrence= database.getReference().child("messages");
  
          auth= FirebaseAuth.getInstance();
  
          // Initialize references to views
          mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
          mMessageListView = (ListView) findViewById(R.id.messageListView);
          mPhotoPickerButton = (ImageButton) findViewById(R.id.photoPickerButton);
          mMessageEditText = (EditText) findViewById(R.id.messageEditText);
          mSendButton = (Button) findViewById(R.id.sendButton);
  
          // Initialize message ListView and its adapter
          List&lt;FriendlyMessage&gt; friendlyMessages = new ArrayList&lt;&gt;();
          mMessageAdapter = new MessageAdapter(this, R.layout.item_message, friendlyMessages);
          mMessageListView.setAdapter(mMessageAdapter);
  
          // Initialize progress bar
          mProgressBar.setVisibility(ProgressBar.INVISIBLE);
  
          // ImagePickerButton shows an image picker to upload a image for a message
          mPhotoPickerButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                  // TODO: Fire an intent to show an image picker
              }
          });
  
          // Enable Send button when there's text to send
          mMessageEditText.addTextChangedListener(new TextWatcher() {
              @Override
              public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
              }
  
              @Override
              public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                  if (charSequence.toString().trim().length() &gt; 0) {
                      mSendButton.setEnabled(true);
                  } else {
                      mSendButton.setEnabled(false);
                  }
              }
  
              @Override
              public void afterTextChanged(Editable editable) {
              }
          });
          mMessageEditText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(DEFAULT_MSG_LENGTH_LIMIT)});
  
          // Send button sends a message and clears the EditText
          mSendButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                  // TODO: Send messages on click
                  FriendlyMessage friendlyMessage = new FriendlyMessage(mMessageEditText.getText().toString(), mUsername, null);
                  databaserefrence.push().setValue(friendlyMessage);
                  // Clear input box
                  mMessageEditText.setText("");
              }
          });
  
          databaselistener= new ChildEventListener() {
              @Override
              public void onChildAdded(DataSnapshot dataSnapshot, String s)
              {
                  mMessageAdapter.add(dataSnapshot.getValue(FriendlyMessage.class));
              }
  
              @Override
              public void onChildChanged(DataSnapshot dataSnapshot, String s) {
  
              }
  
              @Override
              public void onChildRemoved(DataSnapshot dataSnapshot) {
  
              }
  
              @Override
              public void onChildMoved(DataSnapshot dataSnapshot, String s) {
  
              }
  
              @Override
              public void onCancelled(DatabaseError databaseError) {
  
              }
          };
          databaserefrence.addChildEventListener(databaselistener);
  
          auhtlistener = new FirebaseAuth.AuthStateListener() {
              @Override
              public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth)
              {
                  FirebaseUser user = firebaseAuth.getCurrentUser();
  
                  if(user!=null)
                  {
  
                  }
                  else
                  {
                      startActivityForResult(
                              AuthUI.getInstance()
                                      .createSignInIntentBuilder()
                                      .setAvailableProviders(
                                              Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
                                                      new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build(),
                                                      new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
                                                      new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build(),
                                                      new AuthUI.IdpConfig.Builder(AuthUI.TWITTER_PROVIDER).build()))
                                      .build(),
                              RC_SIGN_IN);
                  }
              }
          };
          auth.addAuthStateListener(auhtlistener);
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          MenuInflater inflater = getMenuInflater();
          inflater.inflate(R.menu.main_menu, menu);
          return true;
      }
  
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          return super.onOptionsItemSelected(item);
      }
  }
  </code></pre>
  
  <p><strong>Code of FriendlyMessage.java</strong></p>
  
  <pre><code>package com.google.firebase.udacity.friendlychat;
  
  public class FriendlyMessage {
  
      private String text;
      private String name;
      private String photoUrl;
  
      public FriendlyMessage()
      {
  
      }
  
      public FriendlyMessage(String text, String name, String photoUrl) {
          this.text = text;
          this.name = name;
          this.photoUrl = photoUrl;
      }
  
      public String getText() {
          return text;
      }
  
      public void setText(String text) {
          this.text = text;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public String getPhotoUrl() {
          return photoUrl;
      }
  
      public void setPhotoUrl(String photoUrl) {
          this.photoUrl = photoUrl;
      }
  }
  </code></pre>
  
  <p><strong>Code for message adapter class</strong></p>
  
  <pre><code>package com.google.firebase.udacity.friendlychat;
  
  import android.app.Activity;
  import android.content.Context;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.ArrayAdapter;
  import android.widget.ImageView;
  import android.widget.TextView;
  
  import com.bumptech.glide.Glide;
  
  import java.util.List;
  
  public class MessageAdapter extends ArrayAdapter&lt;FriendlyMessage&gt; {
      public MessageAdapter(Context context, int resource, List&lt;FriendlyMessage&gt; objects) {
          super(context, resource, objects);
      }
  
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
          if (convertView == null) {
              convertView = ((Activity) getContext()).getLayoutInflater().inflate(R.layout.item_message, parent, false);
          }
  
          ImageView photoImageView = (ImageView) convertView.findViewById(R.id.photoImageView);
          TextView messageTextView = (TextView) convertView.findViewById(R.id.messageTextView);
          TextView authorTextView = (TextView) convertView.findViewById(R.id.nameTextView);
  
          FriendlyMessage message = getItem(position);
  
          boolean isPhoto = message.getPhotoUrl() != null;
          if (isPhoto) {
              messageTextView.setVisibility(View.GONE);
              photoImageView.setVisibility(View.VISIBLE);
              Glide.with(photoImageView.getContext())
                      .load(message.getPhotoUrl())
                      .into(photoImageView);
          } else {
              messageTextView.setVisibility(View.VISIBLE);
              photoImageView.setVisibility(View.GONE);
              messageTextView.setText(message.getText());
          }
          authorTextView.setText(message.getName());
  
          return convertView;
      }
  }
  </code></pre>
  
  <p><strong>Code of build.gradle(project:friendlyChat)</strong></p>
  
  <pre><code>buildscript {
      repositories {
          jcenter()
          mavenLocal()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:2.2.2' //alrae
  
          // NOTE: Do not place your application dependencies here; they belong
          // in the individual module build.gradle files
          classpath 'com.google.gms:google-services:3.0.0' //already
      }
  }
  
  allprojects {
      repositories {
          jcenter()
          mavenLocal()
      }
  }
  
  task clean(type: Delete) {
      delete rootProject.buildDir
  }
  </code></pre>
  
  <p><strong>Code for build.gradle(Module:app)</strong></p>
  
  <pre><code>apply plugin: 'com.android.application'
  
  repositories {
      mavenLocal()
      flatDir {
          dirs 'libs'
      }
  }
  
  android {
      compileSdkVersion 24
      buildToolsVersion "24.0.1"
  
      defaultConfig {
          applicationId "com.google.firebase.udacity.friendlychat"
          minSdkVersion 16
          targetSdkVersion 24
          versionCode 1
          versionName "1.0"
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      packagingOptions {
          exclude 'META-INF/LICENSE'
          exclude 'META-INF/LICENSE-FIREBASE.txt'
          exclude 'META-INF/NOTICE'
      }
  }
  
  dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
  
      // Displaying images
      // already
      compile 'com.android.support:design:24.2.1'
      compile 'com.android.support:appcompat-v7:24.2.1'
      compile 'com.github.bumptech.glide:glide:3.6.1'
      compile 'com.google.firebase:firebase-database:11.0.4'
      compile 'com.google.firebase:firebase-auth:11.0.4'
      testCompile 'junit:junit:4.12'
  }
  apply plugin: 'com.google.gms.google-services'
  </code></pre>