package com.example.lifegrid; import android.content.Context; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.example.lifegrid.utils.CustomToast; import androidx.activity.EdgeToEdge; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.example.lifegrid.adapters.DocumentoAdapter; import com.example.lifegrid.models.Documento; 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.ValueEventListener; import java.util.ArrayList; import java.util.List; public class DocumentosActivity extends AppCompatActivity { private ImageView btnBack; private RecyclerView rvDocumentos; private DocumentoAdapter adapter; private List documentoList; private TextView tvEmptyState1, tvEmptyState2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_documentos); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); btnBack = findViewById(R.id.btnBack); btnBack.setOnClickListener(v -> finish()); rvDocumentos = findViewById(R.id.rvDocumentos); tvEmptyState1 = findViewById(R.id.tvEmptyState1); tvEmptyState2 = findViewById(R.id.tvEmptyState2); rvDocumentos.setLayoutManager(new LinearLayoutManager(this)); documentoList = new ArrayList<>(); adapter = new DocumentoAdapter(documentoList, this); rvDocumentos.setAdapter(adapter); carregarDocumentos(); } private void carregarDocumentos() { FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); if (user == null) return; DatabaseReference ref = FirebaseDatabase.getInstance().getReference("users") .child(user.getUid()).child("documentos"); ref.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { documentoList.clear(); for (DataSnapshot ds : snapshot.getChildren()) { Documento doc = ds.getValue(Documento.class); if (doc != null) { doc.setId(ds.getKey()); documentoList.add(doc); } } adapter.notifyDataSetChanged(); if (documentoList.isEmpty()) { tvEmptyState1.setVisibility(View.VISIBLE); tvEmptyState2.setVisibility(View.VISIBLE); rvDocumentos.setVisibility(View.GONE); } else { tvEmptyState1.setVisibility(View.GONE); tvEmptyState2.setVisibility(View.GONE); rvDocumentos.setVisibility(View.VISIBLE); } } @Override public void onCancelled(@NonNull DatabaseError error) { CustomToast.error(DocumentosActivity.this, "Erro ao carregar documentos."); } }); } }