So,I am trying to create a login page for server side my application.It's supposed to login only those users who have "IsStaff"="true"....I have used to many if-else statements in this code(for all the possible inputs-like IsStaff=false,or just wrong password in general),and all of them work well(I can say so as they do display their related toast message)...But when I do try to login from account with IsStaff=True....My application crashes with this in my logcat-
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
    at com.example.admincharade.SignIn$2.onDataChange(SignIn.java:66)
    at com.google.android.gms.internal.firebase_database.zzfc.zza(Unknown Source:13)
    at com.google.android.gms.internal.firebase_database.zzgx.zzdr(Unknown Source:2)
    at com.google.android.gms.internal.firebase_database.zzhd.run(Unknown Source:71)
    at android.os.Handler.handleCallback(Handler.java:790)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
So here's the code of login,and also the User class that I am referring to in this login method.Please help me out.Thanks in advance. Also I am sorry if I didn't follow any formatting rule by chance,I am pretty new and it's honestly pretty overwhelming with so many formatting options.
private void signInUser(final String phone, String password) {
    final ProgressDialog mDialog=new ProgressDialog(SignIn.this);
    mDialog.setMessage("Please Wait");
    mDialog.show();
    final String localPhone=phone;
    final String localPassword=password;
    users.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            if(dataSnapshot.child(localPhone).exists())
            {
                mDialog.dismiss();
                User user=dataSnapshot.child(localPhone).getValue(User.class);
                user.setPhone(localPhone);
                if (Boolean.parseBoolean(user.getIsStaff()))
                {
                    if(user.getPassword().equals(localPassword))
                    {
                        Intent login=new Intent(SignIn.this,Home.class);
                        Common.currentUser=user;
                        startActivity(login);
                        finish();
                    }
                    else
                        Toast.makeText(SignIn.this, "Invalid Login", Toast.LENGTH_SHORT).show();
                }
                else
                    Toast.makeText(SignIn.this, "Only for Admin", Toast.LENGTH_SHORT).show();
            }
            else
            {
                mDialog.dismiss();
                Toast.makeText(SignIn.this, "No such user found", Toast.LENGTH_SHORT).show();
            }
        }
public class User {
private String Name,Password,Phone,IsStaff;
public User(String name, String password) {
    Name = name;
    Password = password;
}
And this is user
public User() {
}
public String getName() {
    return Name;
}
public void setName(String name) {
    Name = name;
}
public String getPassword() {
    return Password;
}
public void setPassword(String password) {
    Password = password;
}
public String getPhone() {
    return Phone;
}
public void setPhone(String phone) {
    Phone = phone;
}
public String getIsStaff() {
    return IsStaff;
}
public void setIsStaff(String isStaff) {
    IsStaff = isStaff;
}
}
 
     
    