Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.dicerev2.activity;
- import android.content.Intent;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Chronometer;
- import android.widget.Toast;
- import com.example.dicerev2.R;
- import com.example.dicerev2.config.ConfiguracaoFirebase;
- import com.example.dicerev2.helper.UsuarioFirebase;
- import com.example.dicerev2.model.ListaUsuariosParear;
- import com.example.dicerev2.model.Parear;
- import com.google.firebase.database.DataSnapshot;
- import com.google.firebase.database.DatabaseError;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.Query;
- import com.google.firebase.database.ValueEventListener;
- public class FilaPareamentoActivity extends AppCompatActivity {
- Chronometer cronometro;
- Button btCancelar;
- private String idUsuario, nickUsuario, idOutroUsuario, nickOutroUsuario;
- private String idLista;
- private String pareamentoEscolhidoFinal;
- private int opcao;
- String idPareamentoMeu, idPareamentoOutro, idPareamentoEscolhido;
- String recuperaIdPareamentoOutraClasse;
- DatabaseReference firebase, filaFirebaseMeAjuda, filaFirebaseTeAjudo, filaFirebaseAmbos, filaFirebaseGeral;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_fila_pareamento);
- cronometro = findViewById(R.id.cronometro);
- btCancelar = findViewById(R.id.buttonCancelarPareamento);
- cronometro.start();
- idUsuario = UsuarioFirebase.getIdentificadorUsuario();
- nickUsuario = UsuarioFirebase.getDadosUsuarioLogado().getApelido();
- //recuperar dados
- Bundle bundle = getIntent().getExtras();
- if(bundle != null) {
- opcao = (int) bundle.getSerializable("opcao");
- idLista = (String) bundle.getSerializable("idItemPostagem");
- recuperaIdPareamentoOutraClasse = (String) bundle.getSerializable("id-pareamento");
- String opcaoTexto = String.valueOf(opcao);
- }
- idPareamentoMeu = recuperaIdPareamentoOutraClasse;
- firebase = ConfiguracaoFirebase.getFirebaseDatabase();
- filaFirebaseMeAjuda = firebase.child("fila-me-ajuda");
- filaFirebaseTeAjudo = firebase.child("fila-te-ajudo");
- filaFirebaseAmbos = firebase.child("fila-ambos");
- filaFirebaseGeral = firebase.child("fila-geral-ordem");
- //Executa enquanto contador for = 0
- if (opcao == 1){ //Quero ser ajudado
- meAjudaPesquisaTeAjudo();
- } else if (opcao == 2){ //Quero ajudar alguem da fila me ajuda
- teAjudoPesquisaMeAjuda();
- } else {
- pesquisaListaAmbos();
- }
- btCancelar.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- cronometro.stop();
- deletarIdDaLista();
- Toast.makeText(getApplicationContext(),
- "Você saiu da fila", Toast.LENGTH_SHORT).show();
- finish();
- }
- });
- bundle.clear();
- }
- public String comparaStrings(String escolha, String p1, String p2){
- int retorno = p1.compareTo(p2);
- if (retorno == 0){
- escolha = p1;
- } else if (retorno >= 1){ //primeira maior que a segunda
- escolha = p1;
- } else if (retorno <= 1){ //-1 primeira menor que a segunda
- escolha = p2;
- }
- return escolha;
- }
- public void meAjudaPesquisaTeAjudo(){
- /*A pessoa que pede ajuda define o ID do PAREAMENTO*/
- final Query buscarUsuario = filaFirebaseTeAjudo
- .orderByKey()
- .limitToFirst(1);
- buscarUsuario.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- try {
- Log.i("retorno", dataSnapshot.getValue().toString());
- //Estrutura: IdFila, IdUsuario, então são 2 for.
- for (DataSnapshot ds : dataSnapshot.getChildren()) {
- for(DataSnapshot dados : ds.getChildren()){
- ListaUsuariosParear lista = dados.getValue(ListaUsuariosParear.class);
- idOutroUsuario = lista.getIdUsuario();
- nickOutroUsuario = lista.getNickUsuario();
- idPareamentoOutro = lista.getIdPareamento();
- //Log.i("Escolhido", "Id: " + idOutroUsuario);
- //Log.i("Escolhido", "Nick: " + nickOutroUsuario );
- }
- }
- pareamentoEscolhidoFinal = comparaStrings(idPareamentoEscolhido, idPareamentoMeu, idPareamentoOutro);
- if (!idOutroUsuario.equals(idUsuario)){
- Intent i = new Intent(FilaPareamentoActivity.this, ChatPrivadoActivity.class);
- i.putExtra("id-usuario-escolhido", idOutroUsuario);
- i.putExtra("nick-usuario-escolhido", nickOutroUsuario);
- i.putExtra("id-pareamento", pareamentoEscolhidoFinal);
- Log.i("pareamentoId", "ID: " + pareamentoEscolhidoFinal );
- cronometro.stop();
- deletarIdDaLista();
- startActivity(i);
- finish();
- }
- } catch (Exception e){
- Log.i("erro - fila vazia", e.getMessage());
- idOutroUsuario = null;
- Log.i("Escolhido Erro", "Id: " + idOutroUsuario);
- nickOutroUsuario = null;
- Log.i("Escolhido Erro", "Nick: " + nickOutroUsuario );
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- }
- });
- }
- public void teAjudoPesquisaMeAjuda(){
- final Query buscarUsuario = filaFirebaseMeAjuda
- .orderByKey()
- .limitToFirst(1);
- buscarUsuario.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- try {
- idPareamentoMeu = recuperaIdPareamentoOutraClasse;
- Log.i("retorno", dataSnapshot.getValue().toString());
- //Estrutura: IdFila, IdUsuario, então são 2 for.
- for (DataSnapshot ds : dataSnapshot.getChildren()) {
- for(DataSnapshot dados : ds.getChildren()){
- ListaUsuariosParear lista = dados.getValue(ListaUsuariosParear.class);
- idOutroUsuario = lista.getIdUsuario();
- nickOutroUsuario = lista.getNickUsuario();
- idPareamentoOutro = lista.getIdPareamento();
- Log.i("Escolhido", "Id: " + idOutroUsuario);
- Log.i("Escolhido", "Nick: " + nickOutroUsuario );
- }
- }
- String pareamentoEscolhidoFinal;
- pareamentoEscolhidoFinal = comparaStrings(idPareamentoEscolhido, idPareamentoMeu, idPareamentoOutro);
- if (!idOutroUsuario.equals(idUsuario)){
- Intent i = new Intent(FilaPareamentoActivity.this, ChatPrivadoActivity.class);
- i.putExtra("id-usuario-escolhido", idOutroUsuario);
- i.putExtra("nick-usuario-escolhido", nickOutroUsuario);
- //id pareamento de me ajuda
- i.putExtra("id-pareamento", pareamentoEscolhidoFinal);
- Log.i("pareamentoId", "ID: " + pareamentoEscolhidoFinal );
- cronometro.stop();
- deletarIdDaLista();
- startActivity(i);
- finish();
- }
- } catch (Exception e){
- Log.i("erro - fila vazia", e.getMessage());
- idOutroUsuario = null;
- Log.i("Escolhido Erro", "Id: " + idOutroUsuario);
- nickOutroUsuario = null;
- Log.i("Escolhido Erro", "Nick: " + nickOutroUsuario );
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- }
- });
- }
- public void pesquisaListaAmbos(){
- final Query buscarUsuario = filaFirebaseAmbos
- .orderByKey()
- .limitToFirst(1);
- buscarUsuario.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- try {
- Log.i("retorno", dataSnapshot.getValue().toString());
- //Estrutura: IdFila, IdUsuario, então são 2 for.
- for (DataSnapshot ds : dataSnapshot.getChildren()) {
- for(DataSnapshot dados : ds.getChildren()){
- ListaUsuariosParear lista = dados.getValue(ListaUsuariosParear.class);
- idOutroUsuario = lista.getIdUsuario();
- nickOutroUsuario = lista.getNickUsuario();
- idPareamentoMeu = lista.getIdPareamento();
- Log.i("Escolhido", "Id: " + idOutroUsuario);
- Log.i("Escolhido", "Nick: " + nickOutroUsuario );
- }
- }
- String pareamentoEscolhidoFinal;
- pareamentoEscolhidoFinal = comparaStrings(idPareamentoEscolhido, idPareamentoMeu, idPareamentoOutro);
- if (!idOutroUsuario.equals(idUsuario)){
- Intent i = new Intent(FilaPareamentoActivity.this, ChatPrivadoActivity.class);
- i.putExtra("id-usuario-escolhido", idOutroUsuario);
- i.putExtra("nick-usuario-escolhido", nickOutroUsuario);
- //id pareamento de me ajuda
- i.putExtra("id-pareamento", pareamentoEscolhidoFinal);
- cronometro.stop();
- deletarIdDaLista();
- startActivity(i);
- finish();
- }
- } catch (Exception e){
- Log.i("erro - fila vazia", e.getMessage());
- idOutroUsuario = null;
- Log.i("Escolhido Erro", "Id: " + idOutroUsuario);
- nickOutroUsuario = null;
- Log.i("Escolhido Erro", "Nick: " + nickOutroUsuario );
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- }
- });
- }
- public void deletarIdDaLista(){
- try {
- if (opcao == 1) {
- filaFirebaseMeAjuda
- .child(idLista)
- .setValue(null);
- } else if (opcao == 2) {
- filaFirebaseTeAjudo
- .child(idLista)
- .setValue(null);
- } else {
- filaFirebaseAmbos
- .child(idLista)
- .setValue(null);
- }
- /*filaFirebaseGeral
- .child(idLista)
- .setValue(null);*/
- } catch (Exception e) {
- Log.i("erro ao deletar", e.getMessage());
- }
- }
- @Override
- public void onBackPressed() {
- super.onBackPressed();
- Toast.makeText(getApplicationContext(),
- "Você saiu da fila", Toast.LENGTH_SHORT).show();
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- deletarIdDaLista();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement