Advertisement
Guest User

Untitled

a guest
Oct 16th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.28 KB | None | 0 0
  1. package com.snapify.nsuk.post;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Context;
  5. import android.content.DialogInterface;
  6. import android.content.Intent;
  7. import android.os.Bundle;
  8. import android.support.annotation.NonNull;
  9. import android.support.annotation.Nullable;
  10. import android.support.design.widget.TextInputLayout;
  11. import android.support.v7.app.AlertDialog;
  12. import android.support.v7.app.AppCompatActivity;
  13. import android.support.v7.widget.Toolbar;
  14. import android.text.TextUtils;
  15. import android.util.Log;
  16. import android.view.View;
  17. import android.widget.Button;
  18. import android.widget.EditText;
  19. import android.widget.ProgressBar;
  20. import android.widget.TextView;
  21. import android.widget.Toast;
  22.  
  23.  
  24. import com.google.android.gms.tasks.OnCompleteListener;
  25. import com.google.android.gms.tasks.Task;
  26. import com.google.firebase.auth.AuthResult;
  27. import com.google.firebase.auth.FirebaseAuth;
  28. import com.google.firebase.auth.FirebaseUser;
  29. import com.google.firebase.database.DataSnapshot;
  30. import com.google.firebase.database.DatabaseError;
  31. import com.google.firebase.database.DatabaseReference;
  32. import com.google.firebase.database.FirebaseDatabase;
  33. import com.google.firebase.database.Query;
  34. import com.google.firebase.database.ServerValue;
  35. import com.google.firebase.database.ValueEventListener;
  36.  
  37. import java.util.HashMap;
  38.  
  39.  
  40. /**
  41. * Created by User on 6/19/2017.
  42. */
  43.  
  44. public class CheckUsername extends AppCompatActivity {
  45.  
  46. private static final String TAG = "LoginActivity";
  47.  
  48. //firebase
  49. private FirebaseAuth mAuth;
  50. private FirebaseAuth.AuthStateListener mAuthListener;
  51. private DatabaseReference mDatabase;
  52.  
  53. private TextInputLayout cUser;
  54. private TextView cCont;
  55. private FirebaseUser mUser;
  56. String status;
  57. private Button cBut;
  58. private Context mContext;
  59. private ProgressDialog pd;
  60. private FirebaseDatabase mFirebaseDatabase;
  61. private UserSettings mUserSettings;
  62.  
  63. private String userID;
  64.  
  65.  
  66. @Override
  67. protected void onCreate(Bundle savedInstanceState) {
  68. super.onCreate(savedInstanceState);
  69. setContentView(R.layout.activity_check);
  70. mAuth = FirebaseAuth.getInstance();
  71.  
  72.  
  73. pd = new ProgressDialog(this);
  74. FirebaseUser curr_user = FirebaseAuth.getInstance().getCurrentUser();
  75. String uid = null;
  76. if (curr_user != null) {
  77. uid = curr_user.getUid();
  78.  
  79. mDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(uid);
  80.  
  81.  
  82. cUser = (TextInputLayout) findViewById(R.id.cUserr);
  83. cBut = (Button) findViewById(R.id.cCon);
  84.  
  85. TextView backArrow = (TextView) findViewById(R.id.home);
  86. backArrow.setOnClickListener(new View.OnClickListener() {
  87. @Override
  88. public void onClick(View v) {
  89. Intent mainintent = new Intent(CheckUsername.this, MainActivity.class);
  90. mainintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
  91. startActivity(mainintent);
  92. finish();
  93. }
  94. });
  95.  
  96.  
  97. cBut.setOnClickListener(new View.OnClickListener() {
  98. @Override
  99. public void onClick(View v) {
  100. Log.d(TAG, "onClick: attempting to save changes.");
  101. checkIfUsernameExists("");
  102.  
  103.  
  104. }
  105. });
  106. }
  107. }
  108.  
  109.  
  110. private void saveProfileSettings() {
  111.  
  112.  
  113. final String username = cUser.getEditText().toString();
  114.  
  115.  
  116. //case1: if the user made a change to their username
  117. if (TextUtils.isEmpty(username)) {
  118. cUser.setError("Empty Field");
  119. } else {
  120. // checkIfUsernameExists(username);
  121. }
  122. }
  123.  
  124.  
  125. private void checkIfUsernameExists(final String username) {
  126. Log.d(TAG, "checkIfUsernameExists: Checking if " + username + " already exists.");
  127.  
  128. DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
  129. Query query = reference
  130. .child(getString(R.string.dbname_users))
  131. .orderByChild(getString(R.string.field_username))
  132. .equalTo(username);
  133. query.addListenerForSingleValueEvent(new ValueEventListener() {
  134. @Override
  135. public void onDataChange(DataSnapshot dataSnapshot) {
  136. if (dataSnapshot.exists()) {
  137. //add the username
  138. updateUsername(username);
  139. Toast.makeText(CheckUsername.this, "saved username.", Toast.LENGTH_SHORT).show();
  140.  
  141. }
  142. for (DataSnapshot singleSnapshot : dataSnapshot.getChildren()) {
  143. if (!singleSnapshot.exists()) {
  144. Log.d(TAG, "checkIfUsernameExists: FOUND A MATCH: " + singleSnapshot.getValue(Users.class).getName());
  145. request_code();
  146. Toast.makeText(CheckUsername.this, "That username already exists.", Toast.LENGTH_SHORT).show();
  147. }
  148. }
  149. }
  150.  
  151.  
  152.  
  153. @Override
  154. public void onCancelled(DatabaseError databaseError) {
  155.  
  156. }
  157. });
  158. }
  159.  
  160. public void updateUsername(String username) {
  161. pd.setMessage("Registering...");
  162. pd.setCanceledOnTouchOutside(false);
  163. pd.show();
  164.  
  165.  
  166.  
  167. Log.d(TAG, "updateUsername: upadting username to: " + username);
  168. String status = cUser.getEditText().getText().toString();
  169.  
  170. mDatabase.child("name").setValue(status).addOnCompleteListener(new OnCompleteListener<Void>() {
  171. @Override
  172. public void onComplete(@NonNull Task<Void> task) {
  173. if (task.isSuccessful()) {
  174. pd.dismiss();
  175.  
  176.  
  177. }
  178. }
  179. });
  180. }
  181.  
  182.  
  183. public void request_code(){
  184.  
  185. AlertDialog.Builder alert = new AlertDialog.Builder(this);
  186. alert.setTitle("Pls Enter a Different Username");
  187.  
  188. alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
  189. @Override
  190. public void onClick(DialogInterface dialogInterface, int i) {
  191.  
  192. }
  193. });
  194.  
  195. alert.show();
  196. }
  197.  
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement