Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.snapify.nsuk.post;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.design.widget.TextInputLayout;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.text.TextUtils;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- 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 com.google.firebase.database.Query;
- import com.google.firebase.database.ServerValue;
- import com.google.firebase.database.ValueEventListener;
- import java.util.HashMap;
- /**
- * Created by User on 6/19/2017.
- */
- public class CheckUsername extends AppCompatActivity {
- private static final String TAG = "LoginActivity";
- //firebase
- private FirebaseAuth mAuth;
- private FirebaseAuth.AuthStateListener mAuthListener;
- private DatabaseReference mDatabase;
- private TextInputLayout cUser;
- private TextView cCont;
- private FirebaseUser mUser;
- String status;
- private Button cBut;
- private Context mContext;
- private ProgressDialog pd;
- private FirebaseDatabase mFirebaseDatabase;
- private UserSettings mUserSettings;
- private String userID;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_check);
- mAuth = FirebaseAuth.getInstance();
- pd = new ProgressDialog(this);
- FirebaseUser curr_user = FirebaseAuth.getInstance().getCurrentUser();
- String uid = null;
- if (curr_user != null) {
- uid = curr_user.getUid();
- mDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(uid);
- cUser = (TextInputLayout) findViewById(R.id.cUserr);
- cBut = (Button) findViewById(R.id.cCon);
- TextView backArrow = (TextView) findViewById(R.id.home);
- backArrow.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent mainintent = new Intent(CheckUsername.this, MainActivity.class);
- mainintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(mainintent);
- finish();
- }
- });
- cBut.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Log.d(TAG, "onClick: attempting to save changes.");
- checkIfUsernameExists("");
- }
- });
- }
- }
- private void saveProfileSettings() {
- final String username = cUser.getEditText().toString();
- //case1: if the user made a change to their username
- if (TextUtils.isEmpty(username)) {
- cUser.setError("Empty Field");
- } else {
- // checkIfUsernameExists(username);
- }
- }
- private void checkIfUsernameExists(final String username) {
- Log.d(TAG, "checkIfUsernameExists: Checking if " + username + " already exists.");
- DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
- Query query = reference
- .child(getString(R.string.dbname_users))
- .orderByChild(getString(R.string.field_username))
- .equalTo(username);
- query.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if (dataSnapshot.exists()) {
- //add the username
- updateUsername(username);
- Toast.makeText(CheckUsername.this, "saved username.", Toast.LENGTH_SHORT).show();
- }
- for (DataSnapshot singleSnapshot : dataSnapshot.getChildren()) {
- if (!singleSnapshot.exists()) {
- Log.d(TAG, "checkIfUsernameExists: FOUND A MATCH: " + singleSnapshot.getValue(Users.class).getName());
- request_code();
- Toast.makeText(CheckUsername.this, "That username already exists.", Toast.LENGTH_SHORT).show();
- }
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- }
- public void updateUsername(String username) {
- pd.setMessage("Registering...");
- pd.setCanceledOnTouchOutside(false);
- pd.show();
- Log.d(TAG, "updateUsername: upadting username to: " + username);
- String status = cUser.getEditText().getText().toString();
- mDatabase.child("name").setValue(status).addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- if (task.isSuccessful()) {
- pd.dismiss();
- }
- }
- });
- }
- public void request_code(){
- AlertDialog.Builder alert = new AlertDialog.Builder(this);
- alert.setTitle("Pls Enter a Different Username");
- alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- }
- });
- alert.show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement