Untitled
unknown
plain_text
3 years ago
9.3 kB
3
Indexable
package com.example.socialapp; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.Manifest; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.Toast; import com.firebase.ui.database.FirebaseRecyclerAdapter; import com.firebase.ui.database.FirebaseRecyclerOptions; 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.ValueEventListener; import com.gun0912.tedpermission.PermissionListener; import com.gun0912.tedpermission.TedPermission; import java.util.List; public class ChatActivity extends AppCompatActivity { DatabaseReference profileRef; FirebaseDatabase database = FirebaseDatabase.getInstance(); RecyclerView recyclerView; EditText searchEt; CheckVideoCall checkVideoCall; DatabaseReference checkVideocallRef; String senderuid; FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); String currentuid = user.getUid(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_chat); searchEt = findViewById(R.id.search_userch); recyclerView = findViewById(R.id.rv_ch); recyclerView.setHasFixedSize(true); recyclerView.setLayoutManager(new LinearLayoutManager(ChatActivity.this)); profileRef = database.getReference("All Users"); checkIncoming(); searchEt.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) { } @Override public void afterTextChanged(Editable editable) { String query = searchEt.getText().toString().toUpperCase(); Query search = profileRef.orderByChild("name").startAt(query).endAt(query+"\uf0ff"); FirebaseRecyclerOptions<All_UserMmber> options1 = new FirebaseRecyclerOptions.Builder<All_UserMmber>() .setQuery(search,All_UserMmber.class) .build(); FirebaseRecyclerAdapter<All_UserMmber,ProfileViewholder> firebaseRecyclerAdapter1 = new FirebaseRecyclerAdapter<All_UserMmber, ProfileViewholder>(options1) { @Override protected void onBindViewHolder(@NonNull ProfileViewholder holder, int position, @NonNull All_UserMmber model) { final String postkey = getRef(position).getKey(); holder.setProfileInchat(getApplication(),model.getName(),model.getUid(),model.getProf(),model.getUrl()); String name = getItem(position).getName(); String url = getItem(position).getUrl(); String uid = getItem(position).getUid(); holder.sendmessagebtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(ChatActivity.this,MessageActivity.class); intent.putExtra("n",name); intent.putExtra("u",url); intent.putExtra("uid",uid); startActivity(intent); } }); } @NonNull @Override public ProfileViewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.chat_profile_item,parent,false); return new ProfileViewholder(view); } }; firebaseRecyclerAdapter1.startListening(); recyclerView.setAdapter(firebaseRecyclerAdapter1); } }); } @Override protected void onStart() { super.onStart(); PermissionListener permissionListener = new PermissionListener() { @Override public void onPermissionGranted() { } @Override public void onPermissionDenied(List<String> deniedPermissions) { Intent intent = new Intent(ChatActivity.this,MainActivity.class); startActivity(intent); } }; TedPermission.with(ChatActivity.this) .setPermissionListener(permissionListener) .setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.RECORD_AUDIO) .check(); FirebaseRecyclerOptions<All_UserMmber> options1 = new FirebaseRecyclerOptions.Builder<All_UserMmber>() .setQuery(profileRef,All_UserMmber.class) .build(); FirebaseRecyclerAdapter<All_UserMmber,ProfileViewholder> firebaseRecyclerAdapter1 = new FirebaseRecyclerAdapter<All_UserMmber, ProfileViewholder>(options1) { @Override protected void onBindViewHolder(@NonNull ProfileViewholder holder, int position, @NonNull All_UserMmber model) { final String postkey = getRef(position).getKey(); holder.setProfileInchat(getApplication(),model.getName(),model.getUid(),model.getProf(),model.getUrl()); String name = getItem(position).getName(); String url = getItem(position).getUrl(); String uid = getItem(position).getUid(); holder.sendmessagebtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(ChatActivity.this,MessageActivity.class); intent.putExtra("n",name); intent.putExtra("u",url); intent.putExtra("uid",uid); startActivity(intent); } }); } @NonNull @Override public ProfileViewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.chat_profile_item,parent,false); return new ProfileViewholder(view); } }; firebaseRecyclerAdapter1.startListening(); recyclerView.setAdapter(firebaseRecyclerAdapter1); } public void checkIncoming(){ checkVideocallRef = database.getReference("vc"); try { checkVideocallRef.child(currentuid).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { if (snapshot.exists()){ senderuid = snapshot.child("calleruid").getValue().toString(); Intent intent = new Intent(ChatActivity.this,VideoCallinComing.class); intent.putExtra("uid",senderuid ); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }else { } } @Override public void onCancelled(@NonNull DatabaseError error) { } }); }catch (Exception e){ // Toast.makeText(context, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); } } }
Editor is loading...