Это моя активность для входа в систему моих пользователей.Когда создается новый пользователь, я хочу написать его команду с пустыми строками UUID + в Firebase.Однако теперь у меня так получилось, что потомок «пользователей» перезаписывается при каждом входе в систему (я не могу этого сделать, я передаю пустую строку «команды» для помещения в Firebase, но строка неоставайтесь пустыми - мне нужно хранить данные при входе в систему).
Спасибо за вашу помощь
public class SigninActivity extends AppCompatActivity {
private static final String TAG = SigninActivity.class.getSimpleName();
private static final String PATH_TOS = "";
private Button loginButton;
private FirebaseAuth auth;
private static final int RC_SIGN_IN = 200;
private FirebaseDatabase db;
private DatabaseReference dbUsers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
auth = FirebaseAuth.getInstance();
if(isUserLogin()){
loginUser();}
setContentView( R.layout.activity_signin );
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
db = FirebaseDatabase.getInstance();
loginButton = findViewById(R.id.login_button);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder()
.setTosUrl (PATH_TOS)
.build(), RC_SIGN_IN);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RC_SIGN_IN){
if(resultCode == RESULT_OK){
loginUser();
}
if(resultCode == RESULT_CANCELED){
displayMessage(getString(R.string.signin_failed));
}
return;
}
displayMessage(getString(R.string.unknown_response));
}
private boolean isUserLogin(){
if(auth.getCurrentUser() != null){
return true;
}
return false;
}
private void loginUser(){
writeNewUser(auth.getCurrentUser().getUid(),"");
Intent loginIntent = new Intent(SigninActivity.this, MainActivity.class);
startActivity(loginIntent);
finish();
}
private void displayMessage(String message){
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
private void writeNewUser(String uuid,String team){
DatabaseReference dbUsers = db.getReference("users");
User user = new User(uuid,team);
dbUsers.child(uuid).setValue(user);
}
}