design
This commit is contained in:
@@ -19,6 +19,7 @@ import com.example.lifegrid.menu.AtivosFragment;
|
||||
import com.example.lifegrid.menu.DefinicoesFragment;
|
||||
import com.example.lifegrid.menu.DocumentosFragment;
|
||||
import com.example.lifegrid.menu.GraficosFragment;
|
||||
import com.example.lifegrid.menu.HomeFragment;
|
||||
import com.example.lifegrid.menu.MetasFragment;
|
||||
import com.example.lifegrid.menu.TransacoesFragment;
|
||||
import com.example.lifegrid.models.Transacao;
|
||||
@@ -48,16 +49,7 @@ import java.util.Locale;
|
||||
*/
|
||||
public class TelaInicialActivity extends AppCompatActivity {
|
||||
|
||||
private TextView tvValor;
|
||||
private TextView tvTransacoes;
|
||||
private TextView tvValor2;
|
||||
private TextView tvTransacoes2;
|
||||
private TextView tvValor3;
|
||||
private TextView tvTransacoes3;
|
||||
private TextView tvValor4;
|
||||
private TextView tvTransacoes4;
|
||||
private TextView tvTitulo;
|
||||
private TextView tvTitulo2;
|
||||
|
||||
|
||||
private ImageView ivHeaderProfilePicture;
|
||||
private TextView tvHeaderUsername;
|
||||
@@ -78,16 +70,6 @@ public class TelaInicialActivity extends AppCompatActivity {
|
||||
return insets;
|
||||
});
|
||||
|
||||
tvValor = findViewById(R.id.tvValor);
|
||||
tvTransacoes = findViewById(R.id.tvTransacoes);
|
||||
tvValor2 = findViewById(R.id.tvValor2);
|
||||
tvTransacoes2 = findViewById(R.id.tvTransacoes2);
|
||||
tvValor3 = findViewById(R.id.tvValor3);
|
||||
tvTransacoes3 = findViewById(R.id.tvTransacoes3);
|
||||
tvValor4 = findViewById(R.id.tvValor4);
|
||||
tvTransacoes4 = findViewById(R.id.tvTransacoes4);
|
||||
tvTitulo = findViewById(R.id.tvTitulo);
|
||||
tvTitulo2 = findViewById(R.id.tvTitulo2);
|
||||
|
||||
ivHeaderProfilePicture = findViewById(R.id.ivHeaderProfilePicture);
|
||||
tvHeaderUsername = findViewById(R.id.tvHeaderUsername);
|
||||
@@ -97,50 +79,64 @@ public class TelaInicialActivity extends AppCompatActivity {
|
||||
|
||||
setupSpinners();
|
||||
|
||||
Fragment transacoesFragment2 = new TransacoesFragment();
|
||||
Fragment homeFragment = new HomeFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainerView, transacoesFragment2)
|
||||
.replace(R.id.fragmentContainerView, homeFragment)
|
||||
.commit();
|
||||
|
||||
android.view.View.OnClickListener openTransacoesListener = v -> {
|
||||
updateNavSelection(findViewById(R.id.carteiraImageView));
|
||||
Fragment transacoesFragment = new TransacoesFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainerView, transacoesFragment)
|
||||
.commit();
|
||||
scrollToFragment();
|
||||
|
||||
};
|
||||
|
||||
findViewById(R.id.receitasCardView).setOnClickListener(openTransacoesListener);
|
||||
findViewById(R.id.despesasCardView).setOnClickListener(openTransacoesListener);
|
||||
android.view.View.OnClickListener openHomeListener = v -> {
|
||||
updateNavSelection(findViewById(R.id.homeImageView));
|
||||
Fragment newHomeFragment = new HomeFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainerView, newHomeFragment)
|
||||
.commit();
|
||||
|
||||
};
|
||||
|
||||
ImageView homeImageView = findViewById(R.id.homeImageView);
|
||||
homeImageView.setOnClickListener(openHomeListener);
|
||||
|
||||
ImageView carteiraImageView = findViewById(R.id.carteiraImageView);
|
||||
carteiraImageView.setOnClickListener(openTransacoesListener);
|
||||
ImageView setaImageView = findViewById(R.id.setaImageView);
|
||||
setaImageView.setOnClickListener(v -> {
|
||||
updateNavSelection(setaImageView);
|
||||
Fragment ativosFragment = new AtivosFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainerView, ativosFragment)
|
||||
.commit();
|
||||
scrollToFragment();
|
||||
|
||||
});
|
||||
ImageView graficoImageView = findViewById(R.id.graficoImageView);
|
||||
graficoImageView.setOnClickListener(v -> {
|
||||
updateNavSelection(graficoImageView);
|
||||
Fragment graficosFragment = new GraficosFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainerView, graficosFragment)
|
||||
.commit();
|
||||
scrollToFragment();
|
||||
|
||||
});
|
||||
ImageView alvoImageView = findViewById(R.id.alvoImageView);
|
||||
alvoImageView.setOnClickListener(v -> {
|
||||
updateNavSelection(alvoImageView);
|
||||
Fragment metasFragment = new MetasFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainerView, metasFragment)
|
||||
.commit();
|
||||
scrollToFragment();
|
||||
|
||||
});
|
||||
ImageView definicoesImageView = findViewById(R.id.definicoesImageView);
|
||||
definicoesImageView.setOnClickListener(v -> {
|
||||
updateNavSelection(definicoesImageView);
|
||||
Intent intent = new Intent(TelaInicialActivity.this, DefinicoesActivity.class);
|
||||
startActivity(intent);
|
||||
});
|
||||
@@ -204,7 +200,7 @@ public class TelaInicialActivity extends AppCompatActivity {
|
||||
AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> parent, android.view.View view, int position, long id) {
|
||||
carregarDados();
|
||||
atualizarDadosHome();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -215,75 +211,28 @@ public class TelaInicialActivity extends AppCompatActivity {
|
||||
spinnerAno.setOnItemSelectedListener(listener);
|
||||
}
|
||||
|
||||
private void carregarDados() {
|
||||
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
|
||||
if (user == null) return;
|
||||
|
||||
int mesSelecionado = spinnerMes.getSelectedItemPosition() + 1; // 1 to 12
|
||||
String anoSelecionado = spinnerAno.getSelectedItem().toString();
|
||||
|
||||
String mesNome = meses[spinnerMes.getSelectedItemPosition()];
|
||||
tvTitulo.setText("Receitas (" + mesNome + " " + anoSelecionado + ")");
|
||||
tvTitulo2.setText("Despesas (" + mesNome + " " + anoSelecionado + ")");
|
||||
|
||||
DatabaseReference transacoesRef = FirebaseDatabase.getInstance().getReference()
|
||||
.child("users").child(user.getUid()).child("transacoes");
|
||||
|
||||
transacoesRef.addValueEventListener(new ValueEventListener() {
|
||||
@Override
|
||||
public void onDataChange(@NonNull DataSnapshot snapshot) {
|
||||
double totalReceitas = 0;
|
||||
double totalDespesas = 0;
|
||||
int countReceitas = 0;
|
||||
int countDespesas = 0;
|
||||
|
||||
for (DataSnapshot ds : snapshot.getChildren()) {
|
||||
Transacao transacao = ds.getValue(Transacao.class);
|
||||
if (transacao != null && transacao.getData() != null) {
|
||||
String[] parts = transacao.getData().split("/");
|
||||
if (parts.length == 3) {
|
||||
try {
|
||||
int mesTransacao = Integer.parseInt(parts[1]);
|
||||
String anoTransacao = parts[2];
|
||||
|
||||
if (mesTransacao == mesSelecionado && anoTransacao.equals(anoSelecionado)) {
|
||||
double valor = Double.parseDouble(transacao.getValor().replace(",", "."));
|
||||
if ("Receita".equals(transacao.getTipo())) {
|
||||
totalReceitas += valor;
|
||||
countReceitas++;
|
||||
} else if ("Despesa".equals(transacao.getTipo())) {
|
||||
totalDespesas += valor;
|
||||
countDespesas++;
|
||||
}
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tvValor.setText(String.format(Locale.getDefault(), "%.2f€", totalReceitas));
|
||||
tvTransacoes.setText(countReceitas + " transações");
|
||||
|
||||
tvValor2.setText(String.format(Locale.getDefault(), "%.2f€", totalDespesas));
|
||||
tvTransacoes2.setText(countDespesas + " transações");
|
||||
|
||||
double saldo = totalReceitas - totalDespesas;
|
||||
tvValor3.setText(String.format(Locale.getDefault(), "%.2f€", saldo));
|
||||
if (saldo >= 0) {
|
||||
tvTransacoes3.setText("Poupança positiva");
|
||||
tvTransacoes3.setTextColor(android.graphics.Color.parseColor("#8E8E8E"));
|
||||
} else {
|
||||
tvTransacoes3.setText("Poupança negativa");
|
||||
tvTransacoes3.setTextColor(android.graphics.Color.parseColor("#FF0000"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelled(@NonNull DatabaseError error) {
|
||||
Toast.makeText(TelaInicialActivity.this, "Erro ao carregar dados", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
public void atualizarDadosHome() {
|
||||
Fragment currentFragment = getSupportFragmentManager().findFragmentById(R.id.fragmentContainerView);
|
||||
if (currentFragment instanceof HomeFragment) {
|
||||
int mesSelecionado = spinnerMes.getSelectedItemPosition() + 1; // 1 to 12
|
||||
String anoSelecionado = spinnerAno.getSelectedItem().toString();
|
||||
String mesNome = meses[spinnerMes.getSelectedItemPosition()];
|
||||
((HomeFragment) currentFragment).carregarDados(mesSelecionado, anoSelecionado, mesNome);
|
||||
}
|
||||
}
|
||||
|
||||
private void updateNavSelection(android.widget.ImageView selectedItem) {
|
||||
int[] ids = {R.id.homeImageView, R.id.carteiraImageView, R.id.setaImageView, R.id.graficoImageView, R.id.alvoImageView, R.id.definicoesImageView};
|
||||
for (int id : ids) {
|
||||
android.widget.ImageView iv = findViewById(id);
|
||||
if (iv != null) {
|
||||
if (iv == selectedItem) {
|
||||
iv.setBackgroundResource(R.drawable.nav_item_selected_bg);
|
||||
} else {
|
||||
iv.setBackground(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user