Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- lv = v.findViewById(R.id.Userslv);
- context = v.getContext();
- auth = FirebaseAuth.getInstance();
- searchbar = v.findViewById(R.id.searchuser);
- usersdb = FirebaseDatabase.getInstance().getReference().child("Users");
- usersdb.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- Usernames = new ArrayList<>();
- for (DataSnapshot user:dataSnapshot.getChildren()) {
- Usernames.add(user.child("username").getValue().toString());
- }
- adp = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1,Usernames);
- lv.setAdapter(adp);
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
- View DialogView = getLayoutInflater().inflate(R.layout.edituserprofile, null);
- builder.setView(DialogView);
- final AlertDialog alertDialog = builder.create();
- final String[] username = new String[1];
- final String[] password = new String[1];
- final String[] mail = new String[1];
- final String[] time = new String[1];
- etuser = DialogView.findViewById(R.id.EditUserName);
- etpass = DialogView.findViewById(R.id.EditUserPass);
- etmail = DialogView.findViewById(R.id.EditUserEmail);
- bttime = DialogView.findViewById(R.id.EditUserTimePicker);
- bttime.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Calendar calendar = Calendar.getInstance();
- TimePickerDialog time = new TimePickerDialog(context, new TimePickerDialog.OnTimeSetListener() {
- @Override
- public void onTimeSet(TimePicker timePicker, int i, int i1) {
- String hour = String.valueOf(i);
- String min = String.valueOf(i1);
- if (hour.length() == 1){
- hour = "0" + hour;
- }
- if (min.length() == 1){
- min = "0" + min;
- }
- String fin = hour + ":" + min;
- bttime.setText(fin);
- }
- },calendar.getTime().getHours(),calendar.getTime().getMinutes(), true);
- time.show();
- }
- });
- btconfirm = DialogView.findViewById(R.id.ConfirmEdit);
- btdel = DialogView.findViewById(R.id.DelUser);
- close = DialogView.findViewById(R.id.closewindow);
- close.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- alertDialog.dismiss();
- }
- });
- DatabaseReference user1 = FirebaseDatabase.getInstance().getReference().child("Users");
- final String[] uid = new String[1];
- final String[] uname = new String[1];
- uname[0] = Usernames.get(i);
- user1.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- for (DataSnapshot kid:dataSnapshot.getChildren()) {
- if (kid.child("username").getValue().toString().equals(uname[0])){
- uid[0] = kid.getKey();
- }
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- final CountDownTimer d = new CountDownTimer(200,1000) {
- @Override
- public void onTick(long l) {
- }
- @Override
- public void onFinish() {
- alertDialog.show();
- }
- };
- CountDownTimer z = new CountDownTimer(500,1000) {
- @Override
- public void onTick(long l) {
- }
- @Override
- public void onFinish() {
- final DatabaseReference user = FirebaseDatabase.getInstance().getReference().child("Users").child(uid[0]);
- user.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if (dataSnapshot.exists()){
- username[0] = dataSnapshot.child("username").getValue().toString();
- password[0] = dataSnapshot.child("password").getValue().toString();
- mail[0] = dataSnapshot.child("email").getValue().toString();
- time[0] = dataSnapshot.child("freehour").getValue().toString();
- etuser.setText(username[0]);
- etpass.setText(password[0]);
- etmail.setText(mail[0]);
- bttime.setText(time[0]);
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- d.start();
- btdel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- AlertDialog.Builder b = new AlertDialog.Builder(context);
- View ReallyView = getLayoutInflater().inflate(R.layout.areyousure, null);
- b.setView(ReallyView);
- final AlertDialog chk = b.create();
- Button Yes,no;
- Yes = ReallyView.findViewById(R.id.btnYes);
- no = ReallyView.findViewById(R.id.btnAbort);
- no.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- chk.dismiss();
- }
- });
- Yes.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- final ProgressDialog d = new ProgressDialog(context);
- d.setMessage("Please Wait");
- d.show();
- final String Adminemail;
- final String[] Adminpass = new String[1];
- Adminemail = auth.getCurrentUser().getEmail();
- DatabaseReference admin = FirebaseDatabase.getInstance().getReference().child("Users").child(auth.getCurrentUser().getUid()).child("password");
- admin.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- Adminpass[0] = dataSnapshot.getValue().toString();
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- auth.signOut();
- auth.signInWithEmailAndPassword(mail[0],password[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (task.isSuccessful()) {
- alertDialog.dismiss();
- auth.getCurrentUser().delete().addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- if (task.isSuccessful()){
- user.removeValue();
- chk.dismiss();
- auth.signInWithEmailAndPassword(Adminemail,Adminpass[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (task.isSuccessful()){
- d.dismiss();
- Toast.makeText(context,"User Deleted Successfully!",Toast.LENGTH_SHORT).show();
- }
- else {
- d.dismiss();
- Toast.makeText(context,"User Deleted Successfully! But We Couldn't Get You Back To Your Account Please Sign In Again",Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- else {
- auth.signInWithEmailAndPassword(Adminemail,Adminpass[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- d.dismiss();
- Toast.makeText(context,"Something Went Wrong Please Try Again",Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
- });
- }
- else {
- auth.signInWithEmailAndPassword(Adminemail,Adminpass[0]).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- d.dismiss();
- Toast.makeText(context,"Something Went Wrong Please Try Again",Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
- });
- }
- });
- chk.show();
- }
- });
- btconfirm.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (v != null){
- InputMethodManager imm = (InputMethodManager)context.getSystemService(INPUT_METHOD_SERVICE);
- imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
- }
- final ProgressDialog d = new ProgressDialog(context);
- d.setMessage("Please Wait");
- d.show();
- if (!(username[0].equals(etuser.getText().toString()))){
- user.child("username").setValue(etuser.getText().toString());
- }
- if (!(password[0].equals(etpass.getText().toString()))){
- user.child("password").setValue(etpass.getText().toString());
- auth.getCurrentUser().updatePassword(etpass.getText().toString());
- }
- if (!(mail[0].equals(etmail.getText().toString()))){
- user.child("email").setValue(etmail.getText().toString());
- }
- if (!(time[0].equals(bttime.getText().toString()))){
- user.child("freehour").setValue(bttime.getText().toString());
- }
- d.dismiss();
- Toast.makeText(context,"Edit Done",Toast.LENGTH_SHORT).show();
- }
- });
- }
- }.start();
- }
- });
- searchbar.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- }
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- adp.getFilter().filter(charSequence);
- }
- @Override
- public void afterTextChanged(Editable editable) {
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement