a acabar
This commit is contained in:
@@ -19,6 +19,7 @@ import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.Toast;
|
||||
import com.example.lifegrid.utils.CustomToast;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Locale;
|
||||
@@ -159,18 +160,18 @@ public class AtivosFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onCancelled(@NonNull DatabaseError error) {
|
||||
Toast.makeText(requireContext(), "Erro ao carregar ativos.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.error(requireContext(), "Erro ao carregar ativos.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void refreshAtivoPrice(Ativos ativo, String key) {
|
||||
if (ativo.getTicker() == null || ativo.getTicker().isEmpty()) {
|
||||
Toast.makeText(requireContext(), "Este ativo não tem um Ticker definido.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.info(requireContext(), "Este ativo não tem um Ticker definido.");
|
||||
return;
|
||||
}
|
||||
|
||||
Toast.makeText(requireContext(), "A atualizar " + ativo.getTicker() + "...", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.info(requireContext(), "A atualizar " + ativo.getTicker() + "...");
|
||||
|
||||
ExecutorService executor = Executors.newSingleThreadExecutor();
|
||||
Handler handler = new Handler(Looper.getMainLooper());
|
||||
@@ -205,14 +206,14 @@ public class AtivosFragment extends Fragment {
|
||||
handler.post(() -> {
|
||||
String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
|
||||
databaseReference.child("users").child(userId).child("ativos").child(key).child("precoAtual").setValue(regularMarketPrice);
|
||||
Toast.makeText(requireContext(), "Preço atualizado: " + regularMarketPrice + "€", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.success(requireContext(), "Preço atualizado: " + regularMarketPrice + "€");
|
||||
});
|
||||
} else {
|
||||
handler.post(() -> Toast.makeText(requireContext(), "Erro ao contactar a API.", Toast.LENGTH_SHORT).show());
|
||||
handler.post(() -> CustomToast.error(requireContext(), "Erro ao contactar a API."));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
handler.post(() -> Toast.makeText(requireContext(), "Ativo não encontrado ou erro de rede.", Toast.LENGTH_SHORT).show());
|
||||
handler.post(() -> CustomToast.error(requireContext(), "Ativo não encontrado ou erro de rede."));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -283,9 +284,9 @@ public class AtivosFragment extends Fragment {
|
||||
boolean isCriptomoeda = "Criptomoedas".equals(tipo);
|
||||
|
||||
if (nome.isEmpty() || quantidade.isEmpty() || precoCompra.isEmpty() || dataCompra.isEmpty() || spinnerTipoAtivo.getSelectedItemPosition() == 0) {
|
||||
Toast.makeText(requireContext(), "Por favor, preencha os campos obrigatórios.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.info(requireContext(), "Por favor, preencha os campos obrigatórios.");
|
||||
} else if (isCriptomoeda && ticker.isEmpty()) {
|
||||
Toast.makeText(requireContext(), "Por favor, preencha o Símbolo da Criptomoeda.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.info(requireContext(), "Por favor, preencha o Símbolo da Criptomoeda.");
|
||||
} else {
|
||||
Ativos ativos = new Ativos(nome, quantidade, Double.parseDouble(precoCompra), Double.parseDouble(precoCompra), dataCompra, tipo, ticker);
|
||||
|
||||
@@ -298,7 +299,7 @@ public class AtivosFragment extends Fragment {
|
||||
|
||||
|
||||
dialog.dismiss();
|
||||
Toast.makeText(requireContext(), "Ativo adicionado com sucesso!", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.success(requireContext(), "Ativo adicionado com sucesso!");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import com.example.lifegrid.utils.CustomToast;
|
||||
|
||||
import com.example.lifegrid.R;
|
||||
import com.example.lifegrid.models.Transacao;
|
||||
@@ -135,9 +136,7 @@ public class GraficosFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onCancelled(@NonNull DatabaseError error) {
|
||||
if (getContext() != null) {
|
||||
Toast.makeText(getContext(), "Erro ao carregar transações.", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
CustomToast.error(requireContext(), "Erro ao carregar transações.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import com.example.lifegrid.utils.CustomToast;
|
||||
|
||||
import com.example.lifegrid.R;
|
||||
import com.example.lifegrid.models.Transacao;
|
||||
@@ -218,7 +219,7 @@ public class HomeFragment extends Fragment {
|
||||
@Override
|
||||
public void onCancelled(@NonNull DatabaseError error) {
|
||||
if (isAdded()) {
|
||||
Toast.makeText(getContext(), "Erro ao carregar dados", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.error(requireContext(), "Erro ao carregar dados");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -16,6 +16,7 @@ import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import com.example.lifegrid.utils.CustomToast;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Locale;
|
||||
@@ -87,7 +88,7 @@ public class MetasFragment extends Fragment {
|
||||
.setPositiveButton("Sim", (dialog, which) -> {
|
||||
if (databaseReference != null && userId != null && meta.getId() != null) {
|
||||
databaseReference.child("users").child(userId).child("metas").child(meta.getId()).removeValue();
|
||||
Toast.makeText(requireContext(), "Meta excluída.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.success(requireContext(), "Meta excluída.");
|
||||
}
|
||||
})
|
||||
.setNegativeButton("Não", null)
|
||||
@@ -117,8 +118,17 @@ public class MetasFragment extends Fragment {
|
||||
databaseReference.child("users").child(userId).child("transacoes").child(key).setValue(transacao);
|
||||
}
|
||||
|
||||
double targetVal = 0;
|
||||
try {
|
||||
targetVal = Double.parseDouble(meta.getValor().replace(",", "."));
|
||||
} catch (Exception ignored) {}
|
||||
|
||||
editText.setText("");
|
||||
Toast.makeText(requireContext(), "Valor adicionado e despesa registada!", Toast.LENGTH_SHORT).show();
|
||||
if (targetVal > 0 && novoValor >= targetVal) {
|
||||
CustomToast.success(requireContext(), "Parabéns! Alcançou a sua meta: " + meta.getNome() + "!");
|
||||
} else {
|
||||
CustomToast.success(requireContext(), "Valor adicionado e despesa registada!");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -161,7 +171,7 @@ public class MetasFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onCancelled(@NonNull DatabaseError error) {
|
||||
Toast.makeText(requireContext(), "Erro ao carregar metas.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.error(requireContext(), "Erro ao carregar metas.");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -212,7 +222,7 @@ public class MetasFragment extends Fragment {
|
||||
|
||||
|
||||
if (nome.isEmpty() || categoria.isEmpty() || valor.isEmpty() || data.isEmpty()) {
|
||||
Toast.makeText(requireContext(), "Por favor, preencha todos os campos.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.info(requireContext(), "Por favor, preencha todos os campos.");
|
||||
} else {
|
||||
// Aqui seria a lógica para guardar na Firebase
|
||||
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
|
||||
@@ -223,7 +233,7 @@ public class MetasFragment extends Fragment {
|
||||
|
||||
|
||||
dialog.dismiss();
|
||||
Toast.makeText(requireContext(), "Meta criada com sucesso!", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.success(requireContext(), "Meta criada com sucesso!");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.widget.ImageView;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import com.example.lifegrid.utils.CustomToast;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Locale;
|
||||
@@ -108,7 +109,7 @@ public class TransacoesFragment extends Fragment {
|
||||
.setPositiveButton("Sim", (dialog, which) -> {
|
||||
if (databaseReference != null && userId != null && transacao.getId() != null) {
|
||||
databaseReference.child("users").child(userId).child("transacoes").child(transacao.getId()).removeValue();
|
||||
Toast.makeText(requireContext(), "Transação excluída.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.success(requireContext(), "Transação excluída.");
|
||||
}
|
||||
})
|
||||
.setNegativeButton("Não", null)
|
||||
@@ -144,7 +145,7 @@ public class TransacoesFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onCancelled(@NonNull DatabaseError error) {
|
||||
Toast.makeText(requireContext(), "Erro ao carregar transações.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.error(requireContext(), "Erro ao carregar transações.");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -295,7 +296,7 @@ public class TransacoesFragment extends Fragment {
|
||||
|
||||
|
||||
if (valor.isEmpty() || descricao.isEmpty() || data.isEmpty() || spinnerCategoria.getSelectedItemPosition() == 0) {
|
||||
Toast.makeText(requireContext(), "Por favor, preencha todos os campos.", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.info(requireContext(), "Por favor, preencha todos os campos.");
|
||||
} else {
|
||||
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
|
||||
String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
|
||||
@@ -305,7 +306,7 @@ public class TransacoesFragment extends Fragment {
|
||||
|
||||
|
||||
dialog.dismiss();
|
||||
Toast.makeText(requireContext(), "Transação adicionada com sucesso!", Toast.LENGTH_SHORT).show();
|
||||
CustomToast.success(requireContext(), "Transação adicionada com sucesso!");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user