Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.75 KB | None | 0 0
  1. lv = v.findViewById(R.id.Userslv);
  2. context = v.getContext();
  3. auth = FirebaseAuth.getInstance();
  4. searchbar = v.findViewById(R.id.searchuser);
  5. usersdb = FirebaseDatabase.getInstance().getReference().child("Users");
  6. usersdb.addValueEventListener(new ValueEventListener() {
  7. @Override
  8. public void onDataChange(DataSnapshot dataSnapshot) {
  9. Usernames = new ArrayList<>();
  10. for (DataSnapshot user:dataSnapshot.getChildren()) {
  11. Usernames.add(user.child("username").getValue().toString());
  12. }
  13. adp = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1,Usernames);
  14. lv.setAdapter(adp);
  15. }
  16.  
  17. @Override
  18. public void onCancelled(DatabaseError databaseError) {
  19.  
  20. }
  21. });
  22. lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  23. @Override
  24. public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {
  25. AlertDialog.Builder builder = new AlertDialog.Builder(context);
  26. View DialogView = getLayoutInflater().inflate(R.layout.edituserprofile, null);
  27. builder.setView(DialogView);
  28. final AlertDialog alertDialog = builder.create();
  29. final String[] username = new String[1];
  30. final String[] password = new String[1];
  31. final String[] mail = new String[1];
  32. final String[] time = new String[1];
  33. etuser = DialogView.findViewById(R.id.EditUserName);
  34. etpass = DialogView.findViewById(R.id.EditUserPass);
  35. etmail = DialogView.findViewById(R.id.EditUserEmail);
  36. bttime = DialogView.findViewById(R.id.EditUserTimePicker);
  37. bttime.setOnClickListener(new View.OnClickListener() {
  38. @Override
  39. public void onClick(View view) {
  40. Calendar calendar = Calendar.getInstance();
  41. TimePickerDialog time = new TimePickerDialog(context, new TimePickerDialog.OnTimeSetListener() {
  42. @Override
  43. public void onTimeSet(TimePicker timePicker, int i, int i1) {
  44. String hour = String.valueOf(i);
  45. String min = String.valueOf(i1);
  46. if (hour.length() == 1){
  47. hour = "0" + hour;
  48. }
  49. if (min.length() == 1){
  50. min = "0" + min;
  51. }
  52. String fin = hour + ":" + min;
  53. bttime.setText(fin);
  54. }
  55. },calendar.getTime().getHours(),calendar.getTime().getMinutes(), true);
  56. time.show();
  57. }
  58. });
  59. btconfirm = DialogView.findViewById(R.id.ConfirmEdit);
  60. btdel = DialogView.findViewById(R.id.DelUser);
  61. close = DialogView.findViewById(R.id.closewindow);
  62. close.setOnClickListener(new View.OnClickListener() {
  63. @Override
  64. public void onClick(View view) {
  65. alertDialog.dismiss();
  66. }
  67. });
  68. DatabaseReference user1 = FirebaseDatabase.getInstance().getReference().child("Users");
  69. final String[] uid = new String[1];
  70. final String[] uname = new String[1];
  71. uname[0] = Usernames.get(i);
  72. user1.addValueEventListener(new ValueEventListener() {
  73. @Override
  74. public void onDataChange(DataSnapshot dataSnapshot) {
  75. for (DataSnapshot kid:dataSnapshot.getChildren()) {
  76. if (kid.child("username").getValue().toString().equals(uname[0])){
  77. uid[0] = kid.getKey();
  78. }
  79. }
  80. }
  81.  
  82. @Override
  83. public void onCancelled(DatabaseError databaseError) {
  84.  
  85. }
  86. });
  87. final CountDownTimer d = new CountDownTimer(200,1000) {
  88. @Override
  89. public void onTick(long l) {
  90.  
  91. }
  92.  
  93. @Override
  94. public void onFinish() {
  95. alertDialog.show();
  96. }
  97. };
  98. CountDownTimer z = new CountDownTimer(500,1000) {
  99. @Override
  100. public void onTick(long l) {
  101.  
  102. }
  103.  
  104. @Override
  105. public void onFinish() {
  106. final DatabaseReference user = FirebaseDatabase.getInstance().getReference().child("Users").child(uid[0]);
  107. user.addValueEventListener(new ValueEventListener() {
  108. @Override
  109. public void onDataChange(DataSnapshot dataSnapshot) {
  110. if (dataSnapshot.exists()){
  111. username[0] = dataSnapshot.child("username").getValue().toString();
  112. password[0] = dataSnapshot.child("password").getValue().toString();
  113. mail[0] = dataSnapshot.child("email").getValue().toString();
  114. time[0] = dataSnapshot.child("freehour").getValue().toString();
  115. etuser.setText(username[0]);
  116. etpass.setText(password[0]);
  117. etmail.setText(mail[0]);
  118. bttime.setText(time[0]);
  119. }
  120. }
  121.  
  122. @Override
  123. public void onCancelled(DatabaseError databaseError) {
  124.  
  125. }
  126. });
  127. d.start();
  128. btdel.setOnClickListener(new View.OnClickListener() {
  129. @Override
  130. public void onClick(View view) {
  131. AlertDialog.Builder b = new AlertDialog.Builder(context);
  132. View ReallyView = getLayoutInflater().inflate(R.layout.areyousure, null);
  133. b.setView(ReallyView);
  134. final AlertDialog chk = b.create();
  135. Button Yes,no;
  136. Yes = ReallyView.findViewById(R.id.btnYes);
  137. no = ReallyView.findViewById(R.id.btnAbort);
  138. no.setOnClickListener(new View.OnClickListener() {
  139. @Override
  140. public void onClick(View view) {
  141. chk.dismiss();
  142. }
  143. });
  144. Yes.setOnClickListener(new View.OnClickListener() {
  145. @Override
  146. public void onClick(View view) {
  147. final ProgressDialog d = new ProgressDialog(context);
  148. d.setMessage("Please Wait");
  149. d.show();
  150. final String Adminemail;
  151. final String[] Adminpass = new String[1];
  152. Adminemail = auth.getCurrentUser().getEmail();
  153. DatabaseReference admin = FirebaseDatabase.getInstance().getReference().child("Users").child(auth.getCurrentUser().getUid()).child("password");
  154. admin.addValueEventListener(new ValueEventListener() {
  155. @Override
  156. public void onDataChange(DataSnapshot dataSnapshot) {
  157. Adminpass[0] = dataSnapshot.getValue().toString();
  158. }
  159.  
  160. @Override
  161. public void onCancelled(DatabaseError databaseError) {
  162.  
  163. }
  164. });
  165. auth.signOut();
  166. auth.signInWithEmailAndPassword(mail[0],password[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  167. @Override
  168. public void onComplete(@NonNull Task<AuthResult> task) {
  169. if (task.isSuccessful()) {
  170. alertDialog.dismiss();
  171. auth.getCurrentUser().delete().addOnCompleteListener(new OnCompleteListener<Void>() {
  172. @Override
  173. public void onComplete(@NonNull Task<Void> task) {
  174. if (task.isSuccessful()){
  175. user.removeValue();
  176. chk.dismiss();
  177. auth.signInWithEmailAndPassword(Adminemail,Adminpass[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  178. @Override
  179. public void onComplete(@NonNull Task<AuthResult> task) {
  180. if (task.isSuccessful()){
  181. d.dismiss();
  182. Toast.makeText(context,"User Deleted Successfully!",Toast.LENGTH_SHORT).show();
  183. }
  184. else {
  185. d.dismiss();
  186. Toast.makeText(context,"User Deleted Successfully! But We Couldn't Get You Back To Your Account Please Sign In Again",Toast.LENGTH_SHORT).show();
  187. }
  188. }
  189. });
  190. }
  191. else {
  192. auth.signInWithEmailAndPassword(Adminemail,Adminpass[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  193. @Override
  194. public void onComplete(@NonNull Task<AuthResult> task) {
  195. d.dismiss();
  196. Toast.makeText(context,"Something Went Wrong Please Try Again",Toast.LENGTH_SHORT).show();
  197. }
  198. });
  199. }
  200. }
  201. });
  202. }
  203. else {
  204. auth.signInWithEmailAndPassword(Adminemail,Adminpass[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  205. @Override
  206. public void onComplete(@NonNull Task<AuthResult> task) {
  207. d.dismiss();
  208. Toast.makeText(context,"Something Went Wrong Please Try Again",Toast.LENGTH_SHORT).show();
  209. }
  210. });
  211. }
  212. }
  213. });
  214. }
  215. });
  216. chk.show();
  217. }
  218. });
  219. btconfirm.setOnClickListener(new View.OnClickListener() {
  220. @Override
  221. public void onClick(View view) {
  222. if (v != null){
  223. InputMethodManager imm = (InputMethodManager)context.getSystemService(INPUT_METHOD_SERVICE);
  224. imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
  225. }
  226. final ProgressDialog d = new ProgressDialog(context);
  227. d.setMessage("Please Wait");
  228. d.show();
  229. if (!(username[0].equals(etuser.getText().toString()))){
  230. user.child("username").setValue(etuser.getText().toString());
  231. }
  232. if (!(password[0].equals(etpass.getText().toString()))){
  233. user.child("password").setValue(etpass.getText().toString());
  234. auth.getCurrentUser().updatePassword(etpass.getText().toString());
  235. }
  236. if (!(mail[0].equals(etmail.getText().toString()))){
  237. user.child("email").setValue(etmail.getText().toString());
  238. }
  239. if (!(time[0].equals(bttime.getText().toString()))){
  240. user.child("freehour").setValue(bttime.getText().toString());
  241. }
  242. d.dismiss();
  243. Toast.makeText(context,"Edit Done",Toast.LENGTH_SHORT).show();
  244. }
  245. });
  246. }
  247. }.start();
  248. }
  249. });
  250. searchbar.addTextChangedListener(new TextWatcher() {
  251. @Override
  252. public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  253.  
  254. }
  255.  
  256. @Override
  257. public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  258. adp.getFilter().filter(charSequence);
  259. }
  260.  
  261. @Override
  262. public void afterTextChanged(Editable editable) {
  263.  
  264. }
  265. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement