Skip to content

Instantly share code, notes, and snippets.

@jona04
Last active August 8, 2017 14:02
Show Gist options
  • Save jona04/162f91b4697c00a454e4b66913178c97 to your computer and use it in GitHub Desktop.
Save jona04/162f91b4697c00a454e4b66913178c97 to your computer and use it in GitHub Desktop.
Tela InicioFramengt
package br.com.appinbanker.inbanker.fragments_navigation;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.github.amlcurran.showcaseview.ShowcaseView;
import com.github.amlcurran.showcaseview.SimpleShowcaseEventListener;
import com.github.amlcurran.showcaseview.targets.ViewTarget;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
import com.google.firebase.analytics.FirebaseAnalytics;
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 com.joanzapata.iconify.widget.IconButton;
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.json.JSONObject;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import br.com.appinbanker.inbanker.NavigationDrawerActivity;
import br.com.appinbanker.inbanker.R;
import br.com.appinbanker.inbanker.TelaLogin;
import br.com.appinbanker.inbanker.TelaNotificacoes;
import br.com.appinbanker.inbanker.entidades.AlteraPagamento;
import br.com.appinbanker.inbanker.entidades.Historico;
import br.com.appinbanker.inbanker.entidades.KeyAccountPagamento;
import br.com.appinbanker.inbanker.entidades.ParcelaTransacao;
import br.com.appinbanker.inbanker.entidades.Transacao;
import br.com.appinbanker.inbanker.entidades.Usuario;
import br.com.appinbanker.inbanker.interfaces.WebServiceReturnString;
import br.com.appinbanker.inbanker.interfaces.WebServiceReturnStringHora;
import br.com.appinbanker.inbanker.interfaces.WebServiceReturnStringPagamento;
import br.com.appinbanker.inbanker.interfaces.WebServiceReturnUsuario;
import br.com.appinbanker.inbanker.sqlite.BancoControllerUsuario;
import br.com.appinbanker.inbanker.sqlite.CriandoBanco;
import br.com.appinbanker.inbanker.util.AllSharedPreferences;
import br.com.appinbanker.inbanker.util.AnalyticsApplication;
import br.com.appinbanker.inbanker.util.FunctionUtil;
import br.com.appinbanker.inbanker.webservice.AlteraPagamentoService;
import br.com.appinbanker.inbanker.webservice.BuscaUsuarioCPF;
import br.com.appinbanker.inbanker.webservice.BuscaUsuarioCPFAux;
import br.com.appinbanker.inbanker.webservice.EditaTransacao;
import br.com.appinbanker.inbanker.webservice.EditaTransacaoResposta;
import br.com.appinbanker.inbanker.webservice.EnviaEmailTrans;
import br.com.appinbanker.inbanker.webservice.EnviaNotificacao;
import br.com.appinbanker.inbanker.webservice.ObterHora;
import it.neokree.materialtabs.MaterialTab;
import it.neokree.materialtabs.MaterialTabHost;
import it.neokree.materialtabs.MaterialTabListener;
public class InicioFragment extends Fragment implements WebServiceReturnStringHora,WebServiceReturnUsuario,WebServiceReturnString,WebServiceReturnStringPagamento,MaterialTabListener {
TextView badge_notification_ped_rec,badge_notification_pag_pen,badge_notification_ped_env;
Button btn_pedir_emprestimo, btn_pedidos_recebidos, btn_pedidos_enviados, btn_pagamentos_pendentes;
ProgressBar progress_bar_inicio;
ProgressBar progress_bar_dialog_enviados;
Button btn_recusa_recebimento_dialog;
Button btn_confirma_recebimento_dialog;
Transacao trans_global;
private Transacao trans_global_ped_receb,trans_global_ped_env;
List<Transacao> list_trans_contrato_receber,list_trans_contrato_pagar;
double total_receber = 0,total_pagar = 0;
private DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
private DatabaseReference usuarioReferencia = databaseReference.child("usuarios");
Dialog dialog;
String hoje_string;
double juros_mora;
double multa_atraso;
LinearLayout ll_btn_inicio;
MaterialTabHost tabHost;
ViewPager pager;
ViewPagerAdapter pagerAdapter;
private Resources res;
//private FirebaseAnalytics mFirebaseAnalytics;
public InicioFragment(){}
//utilizada para verificar se a tela existe
boolean hasStop = false;
private Tracker mTracker;
private String nome_usu_logado_analytics,cpf_usuario_logado,email_usuario_logado,senha_usuario_logado;
//usado para verificar se o usuario possui algum pedido pendente para ser respondido
//se 0 - usuario nao possui pedido pendente
//se 1 - usuario possui pedido pendente
private int status_pedido_pendente = 0;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_inicio, container, false);
setHasOptionsMenu(true);
getActivity().setTitle("Inicio");
// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getActivity().getApplication();
mTracker = application.getDefaultTracker();
mTracker.setScreenName("InicioFragment");
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
// Obtain the FirebaseAnalytics instance.
//mFirebaseAnalytics = FirebaseAnalytics.getInstance(getActivity());
res = this.getResources();
list_trans_contrato_receber = new ArrayList<>();
list_trans_contrato_pagar = new ArrayList<>();;
tabHost = (MaterialTabHost) view.findViewById(R.id.tabHost);
pager = (ViewPager) view.findViewById(R.id.pager);
// init view pager
pagerAdapter = new ViewPagerAdapter(getActivity().getSupportFragmentManager());
//chamamos tabhost na criacao da tela para gerar estrutura copleta com tabs e titulos
geraTabHost();
ll_btn_inicio = (LinearLayout) view.findViewById(R.id.ll_btn_inicio);
progress_bar_inicio = (ProgressBar) view.findViewById(R.id.progress_bar_inicio);
badge_notification_ped_rec = (TextView) view.findViewById(R.id.badge_notification_ped_rec);
badge_notification_pag_pen = (TextView) view.findViewById(R.id.badge_notification_pag_pen);
badge_notification_ped_env = (TextView) view.findViewById(R.id.badge_notification_ped_env);
btn_pedir_emprestimo = (Button) view.findViewById(R.id.btn_pedir_emprestimo);
btn_pedidos_enviados = (Button) view.findViewById(R.id.btn_pedidos_enviados);
btn_pedidos_recebidos = (Button) view.findViewById(R.id.btn_pedidos_recebidos);
btn_pagamentos_pendentes = (Button) view.findViewById(R.id.btn_pagamentos_pedentes);
ImageView img_logo_inicio = (ImageView) view.findViewById(R.id.img_logo_inicio);
img_logo_inicio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mensagemIntent("Tutorial","Olá, você deseja visualizar os tutoriais novamente?","Sim","Não");
}
});
try {
//fazemos uma busca do usuario logando no banco para mostrarmos corretamente as notificações interna nos butons da tela incio
BancoControllerUsuario crud = new BancoControllerUsuario(getActivity());
Cursor cursor = crud.carregaDados();
cpf_usuario_logado = cursor.getString(cursor.getColumnIndexOrThrow(CriandoBanco.CPF));
nome_usu_logado_analytics = cursor.getString(cursor.getColumnIndexOrThrow(CriandoBanco.NOME));
email_usuario_logado = cursor.getString(cursor.getColumnIndexOrThrow(CriandoBanco.EMAIL));
senha_usuario_logado = cursor.getString(cursor.getColumnIndexOrThrow(CriandoBanco.SENHA));
if(!cpf_usuario_logado.equals("")) {
new BuscaUsuarioCPF(cpf_usuario_logado,getActivity(),this).execute();
//obterDadosUsuarioFireBase(cpf);
}else {
progress_bar_inicio.setVisibility(View.INVISIBLE);
tabHost.setVisibility(View.VISIBLE);
}
}catch (Exception e){
}
btn_pedir_emprestimo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Btn_Fragment_Inicio")
.setAction("Pedir_Emprestimo")
.setLabel(nome_usu_logado_analytics)
.build());
Intent it = new Intent(getActivity(),NavigationDrawerActivity.class);
Bundle b = new Bundle();
b.putInt("menu_item", NavigationDrawerActivity.MENU_PEDIR_EMPRESTIMO);
it.putExtras(b);
startActivity(it);
getActivity().finish();
}
});
btn_pedidos_enviados.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Btn_Fragment_Inicio")
.setAction("Pedidos_Enviados")
.setLabel(nome_usu_logado_analytics)
.build());
Intent it = new Intent(getActivity(),NavigationDrawerActivity.class);
Bundle b = new Bundle();
b.putInt("menu_item", NavigationDrawerActivity.MENU_PEDIDOS_ENVIADOS);
it.putExtras(b);
startActivity(it);
getActivity().finish();
}
});
btn_pedidos_recebidos.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Btn_Fragment_Inicio")
.setAction("Pedidos_Recebidos")
.setLabel(nome_usu_logado_analytics)
.build());
Intent it = new Intent(getActivity(),NavigationDrawerActivity.class);
Bundle b = new Bundle();
b.putInt("menu_item", NavigationDrawerActivity.MENU_PEDIDOS_RECEBIDOS);
it.putExtras(b);
startActivity(it);
getActivity().finish();
}
});
btn_pagamentos_pendentes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Btn_Fragment_Inicio")
.setAction("Contratos")
.setLabel(nome_usu_logado_analytics)
.build());
Intent it = new Intent(getActivity(),NavigationDrawerActivity.class);
Bundle b = new Bundle();
b.putInt("menu_item", NavigationDrawerActivity.MENU_PAGAMENTOS_ABERTO);
it.putExtras(b);
startActivity(it);
getActivity().finish();
}
});
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if(AllSharedPreferences.getPreferencesBoolean(AllSharedPreferences.VERIFY_TUTORIAL_INICIO,getActivity())==false) {
new ShowcaseView.Builder(getActivity())
.setStyle(R.style.CustomShowcaseTheme)
.withMaterialShowcase()
.setTarget(new ViewTarget(btn_pedir_emprestimo))
.setContentTitle("Fazendo pedido")
.setContentText("Toque no botão 'Pedir Empréstimo' para exibir a lista de amigos disponíveis para você pedir um empréstimo.")
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
new ShowcaseView.Builder(getActivity())
.setStyle(R.style.CustomShowcaseTheme)
.withMaterialShowcase()
.setTarget(new ViewTarget(btn_pedidos_enviados))
.setContentTitle("Visualizar pedidos enviados")
.setContentText("Toque no botão 'Pedidos Enviados' para exibir a lista de pedidos que foram enviados por você, mas que ainda não foram aceitos por seus amigos.")
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
new ShowcaseView.Builder(getActivity())
.setStyle(R.style.CustomShowcaseTheme)
.withMaterialShowcase()
.setTarget(new ViewTarget(btn_pagamentos_pendentes))
.setContentTitle("Visualizar contratos")
.setContentText("Toque no botão 'Contratos' para exibir a lista de pedidos que já foram aceitos por você ou por seus amigos, e portanto já existe um contrato formalizado.")
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
new ShowcaseView.Builder(getActivity())
.setStyle(R.style.CustomShowcaseTheme)
.withMaterialShowcase()
.setTarget(new ViewTarget(btn_pedidos_recebidos))
.setContentTitle("Visualizar pedidos recebidos")
.setContentText("Toque no botão 'Pedidos Recebidos' para exibir a lista de pedidos que você recebeu de seus amigos, mas que ainda não foram aceitos por você.")
.build();
}
})
.build();
}
})
.build();
}
})
.build();
AllSharedPreferences.putPreferencesBooleanTrue(AllSharedPreferences.VERIFY_TUTORIAL_INICIO,getActivity());
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Do something that differs the Activity's menu here
super.onCreateOptionsMenu(menu, inflater);
View menuNotificacao = menu.findItem(R.id.menu_notificacao).getActionView();
TextView itemMessagesBadgeTextView = (TextView) menuNotificacao.findViewById(R.id.badge_textView);
int count = 0;
if(AllSharedPreferences.getPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA,getActivity()) != null) {
if (!AllSharedPreferences.getPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA, getActivity()).equals("")) {
count = Integer.parseInt(AllSharedPreferences.getPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA, getActivity()));
}
}
if(count == 0){
itemMessagesBadgeTextView.setVisibility(View.GONE); // initially hidden
}else{
itemMessagesBadgeTextView.setVisibility(View.VISIBLE); // initially hidden
itemMessagesBadgeTextView.setText(String.valueOf(count));
}
Log.i("Script","numero count ="+count);
itemMessagesBadgeTextView.setText(String.valueOf(count));
IconButton iconButtonNotify = (IconButton) menuNotificacao.findViewById(R.id.iconButton);
//iconButtonMessages.setText("30");
iconButtonNotify.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//esconde badge
//Log.i("Script","some bagde menu cartinha");
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Toolbar")
.setAction("TelaNotificacoes")
.setLabel(nome_usu_logado_analytics)
.build());
Intent it = new Intent(getActivity(),TelaNotificacoes.class);
startActivity(it);
}
});
}
@Override
public void retornoUsuarioWebService(Usuario usu) {
progress_bar_inicio.setVisibility(View.INVISIBLE);
tabHost.setVisibility(View.VISIBLE);
if(usu != null){
//count notificacoes cartinha
if(usu.getNotificacaoContrato()!= null){
int result_count = 0;
int count_notify = 0;
count_notify = usu.getNotificacaoContrato().size();
//Log.i("Script","count_notify 0 = "+count_notify);
if(!AllSharedPreferences.getPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA,getActivity()).equals("")) {
if(!AllSharedPreferences.getPreferences(AllSharedPreferences.VERIFY_NOTIFY_CARTA,getActivity()).equals("")) {
Log.i("Script", "count_notify neutro");
//int count_aux = Integer.parseInt(AllSharedPreferences.getPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA_AUX, getActivity()));
int count = Integer.parseInt(AllSharedPreferences.getPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA_AUX, getActivity()));
Log.i("Script","count = "+count);
//AllSharedPreferences.putPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA_AUX, String.valueOf(count_notify), getActivity());
result_count = count_notify - count;
if(result_count > 0) {
Log.i("Script", "count_notify 1 = " + result_count);
AllSharedPreferences.putPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA, String.valueOf(result_count), getActivity());
AllSharedPreferences.putPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA_AUX, String.valueOf(count_notify), getActivity());
}
}else{
Log.i("Script", "VERIFY_NOTIFY_CARTA vazio = ");
AllSharedPreferences.putPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA, String.valueOf(count_notify), getActivity());
AllSharedPreferences.putPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA_AUX, String.valueOf(count_notify), getActivity());
}
}else {
Log.i("Script","count_notify 2 = "+count_notify);
AllSharedPreferences.putPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA, String.valueOf(count_notify), getActivity());
AllSharedPreferences.putPreferences(AllSharedPreferences.COUNT_NOTIFY_CARTA_AUX, String.valueOf(count_notify), getActivity());
}
}
int count_trans_env = 0;
int count_trans_rec = 0;
int count_pag_pen = 0;
if(usu.getTransacoes_enviadas() != null) {
for(int i = 0; i < usu.getTransacoes_enviadas().size(); i ++){
int status = Integer.parseInt(usu.getTransacoes_enviadas().get(i).getStatus_transacao());
if(status < 1 ) {
count_trans_env++;
//utilizado em simulador pedidos para verificar se usuario ja tem um pedido para ser respondido
status_pedido_pendente = 1;
}
if(status == 1 ) {
//utilizado em simulador pedidos para verificar se usuario ja tem um pedido para ser respondido
status_pedido_pendente = 1;
trans_global_ped_env = usu.getTransacoes_enviadas().get(i);
//foi constatado que o usuario possui alerta de suas transacoes enviadas
//precisamos obter a data hoje atual servidor
new ObterHora(this).execute();
}
if(status >= 3 && status <= 6) {
count_pag_pen++;
list_trans_contrato_pagar.add(usu.getTransacoes_enviadas().get(i));
}
}
}
if(usu.getTransacoes_recebidas() != null) {
for(int i = 0; i < usu.getTransacoes_recebidas().size(); i ++){
int status = Integer.parseInt(usu.getTransacoes_recebidas().get(i).getStatus_transacao());
//if(status != 2 && status < 6) //trans recebida antiga
if(status < 2)
count_trans_rec++;
if(status == 4) {
//usuario global usado somente aqui
trans_global_ped_receb = usu.getTransacoes_recebidas().get(i);
//foi constatado que o usuario possui alerta de suas transacoes recebida
//precisamos obter a data hoje atual servidor
new ObterHora(this).execute();
}
if(status ==3 || status == 5 || status == 6) {
count_pag_pen++;
list_trans_contrato_receber.add(usu.getTransacoes_recebidas().get(i));
}
}
}
if(count_pag_pen >0){
badge_notification_pag_pen.setVisibility(View.VISIBLE);
badge_notification_pag_pen.setText(String.valueOf(count_pag_pen));
new ObterHora(this).execute();
}
if(count_trans_env >0){
badge_notification_ped_env.setVisibility(View.VISIBLE);
badge_notification_ped_env.setText(String.valueOf(count_trans_env));
}
if(count_trans_rec >0){
badge_notification_ped_rec.setVisibility(View.VISIBLE);
badge_notification_ped_rec.setText(String.valueOf(count_trans_rec));
}
}else{
Log.i("InicioFragment","Usuario null");
BancoControllerUsuario crud = new BancoControllerUsuario(getActivity());
crud.deletaRegistro(cpf_usuario_logado);
Intent it = new Intent(getActivity(),TelaLogin.class);
startActivity(it);
getActivity().finish();
}
}
@Override
public void retornoObterHora(String hoje){
hoje_string = hoje;
if(trans_global_ped_env != null)
dialogTransEnviadas(trans_global_ped_env,hoje);
else if(trans_global_ped_receb != null)
dialogTransRecebidas(trans_global_ped_receb,hoje);
//essa lista de contratos recebidos já contem os pedidos recebido com o status corredo
//ver linha 502
if(list_trans_contrato_receber != null) {
for (int i = 0; i < list_trans_contrato_receber.size(); i++) {
double valor_total_emprestimo = Double.parseDouble(list_trans_contrato_receber.get(i).getParcelas().get(0).getValor()) * (double)list_trans_contrato_receber.get(i).getParcelas().size();
double parcelas = list_trans_contrato_receber.get(i).getParcelas();
double valor_pago = 0;
for(int j = 0; j < parcelas.size(); j++) {
//verificamos se a parcela corrida possi o campo data_confirma preenchido
//se nao tiver preenchido significa que essa parcela foi paga, entao adicionamos na variavel "valor_pago"
//para subtrair no valor total
if (!parcelas.get(j).getData_confirmado().equals("")) {
valor_pago += Double.parseDouble(parcelas.get(j).getValor());
}
}
//pegamos o valor total do emprestimo e subtraimos com as parcelas pagas
double valor_total = valor_total_emprestimo - valor_pago;
//adicionamos o novo valor total em uma variavel global para passarmos por parametro
total_receber += valor_total;
}
//geramos tabhost apos receber o valor total a receber
geraTabHost();
}
if(list_trans_contrato_pagar != null) {
for (int i = 0; i < list_trans_contrato_pagar.size(); i++) {
//calculamos a diferença de dias entre a data atual ate a data do pedido para calcularmos o juros
/*DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
DateTimeFormatter dtfOut = DateTimeFormat.forPattern("dd/MM/yyyy");
DateTime hoje_parse_utc = fmt.parseDateTime(hoje_string);
DateTime vencimento_parse_utc = dtfOut.parseDateTime(list_trans_contrato_pagar.get(i).getParcelas().get(i).getVencimento());
String hoje_parse_string = dtfOut.print(hoje_parse_utc);
DateTime hoje_parse = dtfOut.parseDateTime(hoje_parse_string);
String vencimento_parse_string = "";
//dia de vencimento pode ser maior que 31
//obtemos os dias para o vencimento auxiliar, para calculo do desconto por antecipacao geral
Days d_venci_antec = Days.daysBetween(hoje_parse,vencimento_parse_utc);
int dias_para_vencimento_antecipacao = d_venci_antec.getDays();
//verificams se a parcela atual a pagar é antecipada ou nao
if(list_trans_contrato_pagar.get(i).getParcelas().get(i).getVencimento_antecipado().equals("")) {
vencimento_parse_string = dtfOut.print(vencimento_parse_utc);
}
DateTime vencimento_parse = dtfOut.parseDateTime(vencimento_parse_string);
*/
/*Double multa_atraso = 0.0;
Double juros_mora = 0.0;
if (hoje_parse.isAfter(vencimento_parse)) {
Days d_atraso = Days.daysBetween(vencimento_parse, hoje_parse);
int dias_atraso = d_atraso.getDays();
juros_mora = Double.parseDouble(list_trans_contrato_pagar.get(i).getValor()) * (0.00099667 * dias_atraso);
multa_atraso = Double.parseDouble(list_trans_contrato_pagar.get(i).getValor()) * 0.1;
}*/
double valor_total_emprestimo = Double.parseDouble(list_trans_contrato_pagar.get(i).getParcelas().get(0).getValor()) * (double)list_trans_contrato_pagar.get(i).getParcelas().size();
double valor_pago = 0;
for(int j = 0; j < list_trans_contrato_pagar.get(i).getParcelas().size(); j++) {
if (!list_trans_contrato_pagar.get(i).getParcelas().get(j).getData_confirmado().equals("")) {
valor_pago += Double.parseDouble(list_trans_contrato_pagar.get(i).getParcelas().get(j).getValor());
}
}
Log.i("Script","valor pago = "+valor_pago);
double valor_total = valor_total_emprestimo - valor_pago;
//double valor_total = juros_mora + multa_atraso + Double.parseDouble(list_trans_contrato_pagar.get(i).getValor());
total_pagar += valor_total;
BancoControllerUsuario crud = new BancoControllerUsuario(getActivity());
try {
crud.alteraCredito(cpf_usuario_logado, String.valueOf(total_pagar), status_pedido_pendente);
}catch (Exception e){
Log.i("Excpetion","error = "+e);
}
Log.i("Script","valor total aba pagar = "+total_pagar);
}
//geramos tabhost apos receber o valor total a pagar
geraTabHost();
}
}
/*public void obterDadosUsuarioFireBase(String cpf) {
DatabaseReference trans_enviadas = usuarioReferencia.child(cpf);
trans_enviadas.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Usuario usu = dataSnapshot.getValue(Usuario.class);
Log.i("Teste firebase","Usuario = "+usu.getNome());
atualizaBadges(usu);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.i("Teste firebase","cancelado firebase procurar por usuario");
}
});
}*/
/*public void atualizaBadges(Usuario usu){
int count_trans_env = 0;
int count_trans_rec = 0;
int count_pag_pen = 0;
if(usu.getTransacoes_enviadas() != null) {
for(int i = 0; i < usu.getTransacoes_enviadas().size(); i ++){
int status = Integer.parseInt(usu.getTransacoes_enviadas().get(i).getStatus_transacao());
if(status <=1 ) {
count_trans_env++;
}
if(status >= 3 && status <= 5) {
count_pag_pen++;
trans_global_contrato.add(usu.getTransacoes_enviadas().get(i));
}
}
}
if(usu.getTransacoes_recebidas() != null) {
for(int i = 0; i < usu.getTransacoes_recebidas().size(); i ++){
int status = Integer.parseInt(usu.getTransacoes_recebidas().get(i).getStatus_transacao());
if(status != 2 && status < 6)
count_trans_rec++;
}
}
if(count_pag_pen >0){
badge_notification_pag_pen.setVisibility(View.VISIBLE);
badge_notification_pag_pen.setText(String.valueOf(count_pag_pen));
}
if(count_trans_env >0){
badge_notification_ped_env.setVisibility(View.VISIBLE);
badge_notification_ped_env.setText(String.valueOf(count_trans_env));
}
if(count_trans_rec >0){
badge_notification_ped_rec.setVisibility(View.VISIBLE);
badge_notification_ped_rec.setText(String.valueOf(count_trans_rec));
}
progress_bar_inicio.setVisibility(View.INVISIBLE);
}*/
public void mensagem(String titulo,String corpo,String botao)
{
AlertDialog.Builder mensagem = new AlertDialog.Builder(getActivity());
mensagem.setTitle(titulo);
mensagem.setMessage(corpo);
mensagem.setNeutralButton(botao,null);
mensagem.show();
}
public void dialogTransRecebidas(final Transacao trans,final String hoje){
dialog = new Dialog(getActivity(),R.style.AppThemeDialog);
dialog.setContentView(R.layout.dialog_confirma_quitacao_pedido);
//dialog.setTitle("Confirmação necessária");
progress_bar_dialog_enviados = (ProgressBar) dialog.findViewById(R.id.progress_bar);
final EditText et_dialog_senha = (EditText) dialog.findViewById(R.id.et_dialog_senha);
TextView tv_texto_dialog = (TextView) dialog.findViewById(R.id.tv_texto_dialog);
TextView tv_valor_dialog = (TextView) dialog.findViewById(R.id.tv_valor_dialog);
//calculamos a diferença de dias entre a data atual ate a data do pedido para calcularmos o juros
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
DateTimeFormatter dtfOut = DateTimeFormat.forPattern("dd/MM/yyyy");
DateTime data_pedido_parse_utc = fmt.parseDateTime(trans.getDataPedido());
DateTime hoje_parse_utc = fmt.parseDateTime(hoje);
String data_pedido_parse_string = dtfOut.print(data_pedido_parse_utc);
String hoje_parse_string = dtfOut.print(hoje_parse_utc);
DateTime data_pedido_parse = dtfOut.parseDateTime(data_pedido_parse_string);
DateTime hoje_parse = dtfOut.parseDateTime(hoje_parse_string);
//calculamos os dias corridos para calcularmos o juros do redimento atual
Days d_corridos = Days.daysBetween(data_pedido_parse, hoje_parse);
int dias_corridos = d_corridos.getDays();
//identificamos qual é a parcela atual a pagar
String vencimento_parse_string = "";
int dias_para_vencimento = 0;
int dias_para_vencimento_antecipacao = 0;
double valor_total = 0.0;
for(int i = 0; i < trans.getParcelas().size(); i++){
if(trans.getParcelas().get(i).getData_confirmado().equals("")){
tv_texto_dialog.setText("Seu amigo(a) "+ trans.getNome_usu1() +" solicitou o pagamento. Confirme aqui o recebimento do valor\n" +
"referente à quitação da "+(i+1)+"° parcela do contrato.");
DateTime vencimento_parse_utc = dtfOut.parseDateTime(trans.getParcelas().get(i).getVencimento());
//dia de vencimento pode ser maior que 31
//obtemos os dias para o vencimento auxiliar, para calculo do desconto por antecipacao geral
Days d_venci_antec = Days.daysBetween(hoje_parse,vencimento_parse_utc);
dias_para_vencimento_antecipacao = d_venci_antec.getDays();
//verificams se a parcela atual a pagar é antecipada ou nao
if(trans.getParcelas().get(i).getVencimento_antecipado().equals("")) {
vencimento_parse_string = dtfOut.print(vencimento_parse_utc);
}else{
vencimento_parse_utc = dtfOut.parseDateTime(trans.getParcelas().get(i).getVencimento_antecipado());
vencimento_parse_string = dtfOut.print(vencimento_parse_utc);
}
//dia para vencimento com valor maximo de 31 dias
Days d_venci = Days.daysBetween(hoje_parse,vencimento_parse_utc);
dias_para_vencimento = d_venci.getDays();
//se faltar mais de 27 dias para o pagamento
if(dias_para_vencimento >= 27){
tv_texto_dialog.setText("Seu amigo(a) "+ trans.getNome_usu1() +" solicitou o pagamento. Confirme aqui o recebimento do valor\n" +
"referente à antecipação da "+(i+1)+"° parcela do contrato.");
}else{
//alteramos os dias para calculo do desconto, pois nao é mais antecipacacao, é apenas desconto diario normal
dias_para_vencimento_antecipacao = dias_para_vencimento;
}
double parcela = Double.parseDouble(trans.getParcelas().get(i).getValor());
if(dias_para_vencimento > 0) {
valor_total = FunctionUtil.desconto_diario(Double.parseDouble(trans.getParcelas().get(0).getValor()),dias_para_vencimento_antecipacao);
}else {
valor_total = juros_mora + multa_atraso + parcela;
}
break;
}
}
DateTime vencimento_parse = dtfOut.parseDateTime(vencimento_parse_string);
multa_atraso = 0.0;
juros_mora = 0.0;
if(hoje_parse.isAfter(vencimento_parse)){
//alteramos o valor de dias para até a data limite do vencimento
//pois a partir daqui será adicionado um novo valor de juros, juros mora referente aos dias que ultrapssou o vencimento
d_corridos = Days.daysBetween(data_pedido_parse, vencimento_parse);
dias_corridos = d_corridos.getDays();
Days d_atraso = Days.daysBetween(vencimento_parse, hoje_parse);
int dias_atraso = d_atraso.getDays();
juros_mora = Double.parseDouble(trans.getValor()) * (0.00099667 * dias_atraso);
Log.i("PagamentoPendente","dias de atraso = "+dias_atraso);
multa_atraso = Double.parseDouble(trans.getValor())*0.1;
}
Locale ptBr = new Locale("pt", "BR");
NumberFormat nf = NumberFormat.getCurrencyInstance(ptBr);
String valor_formatado = nf.format (valor_total);
tv_valor_dialog.setText(valor_formatado);
et_dialog_senha.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent event) {
if (keyCode == EditorInfo.IME_ACTION_SEARCH ||
keyCode == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
esconderTeclado();
return true;
}
return false;
}
});
btn_recusa_recebimento_dialog = (Button) dialog.findViewById(R.id.btn_recusa_recebimento);
btn_recusa_recebimento_dialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (senha_usuario_logado.equals(FunctionUtil.md5(et_dialog_senha.getText().toString()))) {
trans.setStatus_transacao(String.valueOf(Transacao.RESP_QUITACAO_SOLICITADA_RECUSADA));
trans.setId_recibo("");
List<ParcelaTransacao> list_parcelas = trans.getParcelas();
List<Historico> list_hist;
if(trans.getHistorico() == null){
list_hist = new ArrayList<Historico>();
}else{
list_hist = trans.getHistorico();
}
Historico hist = new Historico();
hist.setData(hoje);
hist.setStatus_transacao(String.valueOf(Transacao.RESP_QUITACAO_SOLICITADA_RECUSADA));
//adicionamos o numero da parcela no historico
for(int i = 0; i < trans.getParcelas().size(); i++){
if(trans.getParcelas().get(i).getData_confirmado().equals("")){
hist.setParcela(String.valueOf(i+1));
list_parcelas.get(i).setData_pagamento("");
break;
}
}
list_hist.add(hist);
trans.setParcelas(list_parcelas);
trans.setHistorico(list_hist);
metodoEditaTrans(trans);
desabilitaBotoes();
} else {
et_dialog_senha.setError("Senha incorreta");
et_dialog_senha.setFocusable(true);
et_dialog_senha.requestFocus();
}
}
});
final int dias_vencimento_aux = dias_para_vencimento;
final double valor_total_aux = valor_total;
btn_confirma_recebimento_dialog = (Button) dialog.findViewById(R.id.btn_confirma_recebimento);
btn_confirma_recebimento_dialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (senha_usuario_logado.equals(FunctionUtil.md5(et_dialog_senha.getText().toString()))) {
trans.setData_recusada("");
trans.setData_pagamento(hoje);
trans.setValor_juros_mora(String.valueOf(juros_mora));
trans.setValor_multa(String.valueOf(multa_atraso));
List<ParcelaTransacao> list_parcelas = trans.getParcelas();
List<Historico> list_hist;
if(trans.getHistorico() == null){
list_hist = new ArrayList<Historico>();
}else{
list_hist = trans.getHistorico();
}
Historico hist = new Historico();
hist.setData(hoje);
//adicionamos o numero da parcela no historico
for(int i = 0; i < trans.getParcelas().size(); i++){
if(trans.getParcelas().get(i).getData_confirmado().equals("")){
hist.setParcela(String.valueOf(i+1));
list_hist.add(hist);
trans.setHistorico(list_hist);
list_parcelas.get(i).setValor_pago(String.valueOf(valor_total_aux));
list_parcelas.get(i).setData_confirmado(hoje_string);
//se for antecipacao, adicionamos nova data para pagamento_antecipado, para a parcela do proximo mês, que a data do vencimento atual
//mas antes verificamos se a parcela a atual não é a ultima
if(i+1 != trans.getParcelas().size()) {
if (dias_vencimento_aux >= 27) {
//antes de pegar mos o vencimento autal, verificamos se a parcela já é antecipada
//se ja vor antecipada, pegamos o vencimento antecipado
if (list_parcelas.get(i).getVencimento_antecipado().equals("")){
list_parcelas.get(i + 1).setVencimento_antecipado(list_parcelas.get(i).getVencimento());
}else{
list_parcelas.get(i + 1).setVencimento_antecipado(list_parcelas.get(i).getVencimento_antecipado());
}
}
}
trans.setParcelas(list_parcelas);
//se estiver quitando a ultima parcela recebe tratamento especial
if(i == trans.getParcelas().size() - 1){
metodoEditaTransResposta(trans);
trans.setStatus_transacao(String.valueOf(Transacao.TRANSACAO_FINALIZADA));
hist.setStatus_transacao(String.valueOf(Transacao.TRANSACAO_FINALIZADA));
}else{
metodoEditaTrans(trans);
trans.setStatus_transacao(String.valueOf(Transacao.RESP_QUITACAO_SOLICITADA_CONFIRMADA));
hist.setStatus_transacao(String.valueOf(Transacao.RESP_QUITACAO_SOLICITADA_CONFIRMADA));
}
break;
}
}
//list_hist.add(hist);
//trans.setParcelas(list_parcelas);
//trans.setHistorico(list_hist);
//metodoEditaTransResposta(trans);
desabilitaBotoes();
} else {
et_dialog_senha.setError("Senha incorreta");
et_dialog_senha.setFocusable(true);
et_dialog_senha.requestFocus();
}
}
});
dialog.setCancelable(false);
dialog.show();
}
public void dialogTransEnviadas(final Transacao trans,final String hoje){
dialog = new Dialog(getActivity(),R.style.AppThemeDialog);
dialog.setContentView(R.layout.dialog_confirma_recebimento_pedido);
//dialog.setTitle("Confirmação necessária");
progress_bar_dialog_enviados = (ProgressBar) dialog.findViewById(R.id.progress_bar);
final EditText et_dialog_senha = (EditText) dialog.findViewById(R.id.et_dialog_senha);
TextView tv_texto_dialog = (TextView) dialog.findViewById(R.id.tv_texto_dialog);
tv_texto_dialog.setText("Seu amigo(a) "+ trans.getNome_usu2() +" aceitou sua solicitação de empréstimo. Confirme o recebimentos do valor.");
Locale ptBr = new Locale("pt", "BR");
NumberFormat nf = NumberFormat.getCurrencyInstance(ptBr);
String valor_formatado = nf.format (Double.parseDouble(trans.getValor()));
TextView tv_valor_dialog = (TextView) dialog.findViewById(R.id.tv_valor_dialog);
tv_valor_dialog.setText(valor_formatado);
et_dialog_senha.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent event) {
if (keyCode == EditorInfo.IME_ACTION_SEARCH ||
keyCode == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
esconderTeclado();
return true;
}
return false;
}
});
btn_recusa_recebimento_dialog = (Button) dialog.findViewById(R.id.btn_recusa_recebimento);
btn_recusa_recebimento_dialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (senha_usuario_logado.equals(FunctionUtil.md5(et_dialog_senha.getText().toString()))) {
desabilitaBotoes();
trans.setStatus_transacao(String.valueOf(Transacao.AGUARDANDO_RESPOSTA));
trans.setId_contrato("");
trans.setId_recibo("");
List<Historico> list_hist;
if(trans.getHistorico() == null){
list_hist = new ArrayList<Historico>();
}else{
list_hist = trans.getHistorico();
}
Historico hist = new Historico();
hist.setData(hoje);
hist.setStatus_transacao(String.valueOf(Transacao.AGUARDANDO_RESPOSTA));
list_hist.add(hist);
trans.setHistorico(list_hist);
metodoEditaTrans(trans);
} else {
et_dialog_senha.setError("Senha incorreta");
et_dialog_senha.setFocusable(true);
et_dialog_senha.requestFocus();
}
}
});
btn_confirma_recebimento_dialog = (Button) dialog.findViewById(R.id.btn_confirma_recebimento);
btn_confirma_recebimento_dialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (senha_usuario_logado.equals(FunctionUtil.md5(et_dialog_senha.getText().toString()))) {
desabilitaBotoes();
//se valor do pedido for maior que 200 submetemos a alteracao no pagamento
if(Double.parseDouble(trans.getValor()) > Transacao.VALOR_MAXIMO_SEM_COBRANCA ) {
//realiza captura na cielo
AlteraPagamento cp = new AlteraPagamento();
cp.setClientAcount(KeyAccountPagamento.CLIENT_ACCOUNT);
cp.setClientKey(KeyAccountPagamento.CLIENT_KEY);
cp.setOptionId("8888");
cp.setPaymentId(trans.getPagamento().getPayment_id_first());
cp.setNewValue(trans.getPagamento().getAmount_first());
//antes de finalmente editar a transacao, cancelamos o pedido na cielo
new AlteraPagamentoService(InicioFragment.this, cp).execute();
//se pagamento for menor que 200 continuamos transacao sem alterar pagamento
}else{
//cria recibo e contrato
trans_global_ped_env.setStatus_transacao(String.valueOf(Transacao.CONFIRMADO_RECEBIMENTO));
List<Historico> list_hist;
if (trans_global_ped_env.getHistorico() == null) {
list_hist = new ArrayList<Historico>();
} else {
list_hist = trans_global_ped_env.getHistorico();
}
Historico hist = new Historico();
hist.setData(hoje_string);
hist.setStatus_transacao(String.valueOf(Transacao.CONFIRMADO_RECEBIMENTO));
list_hist.add(hist);
trans_global_ped_env.setId_contrato("");
trans_global_ped_env.setId_recibo("");
trans_global_ped_env.setHistorico(list_hist);
metodoEditaTrans(trans_global_ped_env);
}
} else {
et_dialog_senha.setError("Senha incorreta");
et_dialog_senha.setFocusable(true);
et_dialog_senha.requestFocus();
}
}
});
dialog.setCancelable(false);
dialog.show();
}
@Override
public void retornoStringWebServicePagamento(String result) {
/*Log.i("Script","retornoStringWebServicePagamento");
boolean success = false;
try {
JSONObject jObject = new JSONObject(result); // json
boolean verifica_campo = jObject.has("ReasonMessage"); // check if exist
if(verifica_campo){
String msg = jObject.getString("ReasonMessage");
if(msg.equals("Successful")){
success = true;
}
}
}catch (Exception e){
Log.i("Script","Exception retornoStringWebServicePagamento = "+e);
}*/
//se confirmacao sucesso
//if(success) {
//cria recibo e contrato
trans_global_ped_env.setStatus_transacao(String.valueOf(Transacao.CONFIRMADO_RECEBIMENTO));
List<Historico> list_hist;
if (trans_global_ped_env.getHistorico() == null) {
list_hist = new ArrayList<Historico>();
} else {
list_hist = trans_global_ped_env.getHistorico();
}
Historico hist = new Historico();
hist.setData(hoje_string);
hist.setStatus_transacao(String.valueOf(Transacao.CONFIRMADO_RECEBIMENTO));
list_hist.add(hist);
trans_global_ped_env.setId_contrato("");
trans_global_ped_env.setId_recibo("");
trans_global_ped_env.setHistorico(list_hist);
metodoEditaTrans(trans_global_ped_env);
/*}else{
mensagem("Houve um erro!","Olá, parece que tivemos algum problema no cancelamento do pagamento do pedido, por favor tente novamente. Se o erro" +
" persistir favor entrar em contato com InBanker","Ok");
habilitaBotoes();
}*/
}
public void desabilitaBotoes(){
progress_bar_dialog_enviados.setVisibility(View.VISIBLE);
btn_confirma_recebimento_dialog.setEnabled(false);
btn_recusa_recebimento_dialog.setEnabled(false);
}
public void metodoEditaTransResposta(Transacao trans){
//cpf usuario 1 que recebera a notificacao no retorno desse metodo
trans_global = trans;
//Log.i("trans edita resposta","resposta = "+trans.getUsu1()+" - "+trans.getUsu2()+" - "+trans.getId_trans());
new EditaTransacaoResposta(trans,trans.getUsu1(),trans.getUsu2(),this).execute();
}
public void metodoEditaTrans(Transacao trans){
//cpf usuario 2 que recebera a notificacao no retorno desse metodo
trans_global = trans;
new EditaTransacao(trans,trans_global.getUsu1(),trans_global.getUsu2(),InicioFragment.this).execute();
}
public void retornoStringWebService(String result){
if(result != null) {
if (!result.equals("error_edit_trans")) {
//verifica se result é contrato ou recibo
if(trans_global.getId_contrato().equals("")){
trans_global.setId_contrato(result);
}else{
trans_global.setId_recibo(result);
}
//verificamos para qual usuario enviar a notificacao
if (email_usuario_logado.equals(trans_global.getUsu1())) {
//busca token do usuario 2 para enviarmos notificacao
new BuscaUsuarioCPFAux(trans_global.getUsu2(), getActivity(), this).execute();
} else {
//busca token do usuario 1 para enviarmos notificacao
new BuscaUsuarioCPFAux(trans_global.getUsu1(), getActivity(), this).execute();
}
} else {
habilitaBotoes();
mensagem("Houve um erro!", "Olá, parece que tivemos algum problema de conexão, por favor tente novamente.", "Ok");
}
}else{
mensagem("Erro crítico!", "Olá, parece que tivemos algum problema de conexão, por favor tente novamente.", "Ok");
}
}
public void habilitaBotoes(){
progress_bar_dialog_enviados.setVisibility(View.GONE);
btn_confirma_recebimento_dialog.setEnabled(true);
btn_recusa_recebimento_dialog.setEnabled(true);
}
@Override
public void retornoUsuarioWebServiceAux(Usuario usu){
dialog.dismiss();
if(!usu.getToken_gcm().equals("")) {
//envia notificacao
new EnviaNotificacao(trans_global, usu.getToken_gcm()).execute();
}
if(Integer.parseInt(trans_global.getStatus_transacao()) == Transacao.CONFIRMADO_RECEBIMENTO) {
//verificamos para qual usuario enviar o email
if(cpf_usuario_logado.equals(trans_global.getUsu1())) { //usuario esta enviando pedido
//enviaemail para usuario
new EnviaEmailTrans(trans_global, email_usuario_logado ,usu.getEmail()).execute();
}else{ //usuario esta recebendo pedido
//enviaemail para usuario
new EnviaEmailTrans(trans_global, usu.getEmail(),email_usuario_logado).execute();
}
mensagemIntent("InBanker", "Parabéns, você confirmou o recebimento do valor solicitado. Ao efetuar o pagamento de quitação, peça que seu amigo(a) " + trans_global.getNome_usu2() + " confirme o recebimento do valor.", "Ok");
}else if(Integer.parseInt(trans_global.getStatus_transacao()) == Transacao.AGUARDANDO_RESPOSTA) {
mensagemIntent("InBanker", "Você recusou o recebimento do valor solicitado à " + trans_global.getNome_usu2() + ". Seu pedido de empréstimo foi enviado novamente.", "Ok");
}else if(Integer.parseInt(trans_global.getStatus_transacao()) == Transacao.RESP_QUITACAO_SOLICITADA_CONFIRMADA) {
//adicionamos o numero da parcela no historico
for(int i = 1; i <= trans_global.getParcelas().size(); i++){
if(trans_global.getParcelas().get(i).getData_confirmado().equals("")){
mensagemIntent("InBanker", "Você confirmou o recebimento do valor para quitação da "+i+"° parcela do empréstimo solicitado por " + trans_global.getNome_usu1() + ". Parabéns, essa etapa foi finalizada com sucesso.", "Ok");
break;
}
}
}else if(Integer.parseInt(trans_global.getStatus_transacao()) == Transacao.TRANSACAO_FINALIZADA) {
//verificamos para qual usuario enviar o email
if(email_usuario_logado.equals(trans_global.getUsu1())) { //usuario esta enviando pedido
//enviaemail para usuario
new EnviaEmailTrans(trans_global, email_usuario_logado ,usu.getEmail()).execute();
}else{ //usuario esta recebendo pedido
//enviaemail para usuario
new EnviaEmailTrans(trans_global, usu.getEmail(),email_usuario_logado).execute();
}
mensagemIntent("InBanker", "Você confirmou o recebimento do valor para quitação da ultima parcela do empréstimo solicitado por " + trans_global.getNome_usu1() + ". Parabéns, essa transação foi finalizada com sucesso.", "Ok");
}else if(Integer.parseInt(trans_global.getStatus_transacao()) == Transacao.RESP_QUITACAO_SOLICITADA_RECUSADA) {
mensagemIntent("InBanker", "Você recusou uma solicitação de quitação da dívida. Entre em contato com " + trans_global.getNome_usu1() + " e aguarde por uma nova solicitação.", "Ok");
}
}
public void mensagemIntent(String titulo,String corpo,String botao)
{
AlertDialog.Builder mensagem = new AlertDialog.Builder(getActivity());
mensagem.setTitle(titulo);
mensagem.setMessage(corpo);
mensagem.setPositiveButton(botao,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent it = new Intent(getActivity(),NavigationDrawerActivity.class);
getActivity().startActivity(it);
//para encerrar a activity atual e todos os parent
getActivity().finishAffinity();
}
});
mensagem.show();
}
public void esconderTeclado() {
InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE);
//inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0);
inputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
public void mensagemIntent(String titulo,String corpo,String botao_positivo,String botao_neutro)
{
AlertDialog.Builder mensagem = new AlertDialog.Builder(getActivity());
mensagem.setTitle(titulo);
mensagem.setMessage(corpo);
mensagem.setNeutralButton(botao_neutro,null);
mensagem.setPositiveButton(botao_positivo,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
AllSharedPreferences.putPreferencesBooleanFalse(AllSharedPreferences.VERIFY_TUTORIAL_INICIO,getActivity());
AllSharedPreferences.putPreferencesBooleanFalse(AllSharedPreferences.VERIFY_TUTORIAL_MENSAGEM,getActivity());
AllSharedPreferences.putPreferencesBooleanFalse(AllSharedPreferences.VERIFY_TUTORIAL_NOTIFICACOES,getActivity());
AllSharedPreferences.putPreferencesBooleanFalse(AllSharedPreferences.VERIFY_TUTORIAL_PEDIR_LOGAR_FACE,getActivity());
AllSharedPreferences.putPreferencesBooleanFalse(AllSharedPreferences.VERIFY_TUTORIAL_PEDIR_LISTA_AMIGOS,getActivity());
AllSharedPreferences.putPreferencesBooleanFalse(AllSharedPreferences.VERIFY_TUTORIAL_PAGAMENTO,getActivity());
AllSharedPreferences.putPreferencesBooleanFalse(AllSharedPreferences.VERIFY_TUTORIAL_HISTORICO,getActivity());
Intent it = new Intent(getActivity(),NavigationDrawerActivity.class);
startActivity(it);
//para encerrar a activity atual e todos os parent
getActivity().finish();
}
});
mensagem.show();
}
public void geraTabHost(){
if(!hasStop) {
pager.setAdapter(pagerAdapter);
pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// when user do a swipe the selected tab change
tabHost.setSelectedNavigationItem(position);
}
});
// insert all tabs from pagerAdapter data
for (int i = 0; i < pagerAdapter.getCount(); i++) {
tabHost.addTab(
tabHost.newTab()
.setText(pagerAdapter.getPageTitle(i))
.setTabListener(this)
);
}
}
}
@Override
public void onTabSelected(MaterialTab tab) {
//Log.i("Script","tab.getPosition() = "+tab.getPosition());
pager.setCurrentItem(tab.getPosition());
if(tab.getPosition() == 0){
/*Bundle params = new Bundle();
params.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "A Receber");
mFirebaseAnalytics.logEvent("tab_inicio_valores", params);*/
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Tab_inicio_valores")
.setAction("A Receber")
.setLabel(nome_usu_logado_analytics)
.build());
}
if(tab.getPosition() == 1){
/*Bundle params = new Bundle();
params.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "A Pagar");
mFirebaseAnalytics.logEvent("tab_inicio_valores", params);*/
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Tab_inicio_valores")
.setAction("A Pagar")
.setLabel(nome_usu_logado_analytics)
.build());
}
}
@Override
public void onTabReselected(MaterialTab tab) {
}
@Override
public void onTabUnselected(MaterialTab tab) {
}
private class ViewPagerAdapter extends FragmentStatePagerAdapter {
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
public Fragment getItem(int num) {
Fragment frag = new FragmentAbaReceber();
Bundle bundle=new Bundle();
switch (num){
case 0:
frag = new FragmentAbaReceber();
bundle.putDouble("total", total_receber);
frag.setArguments(bundle);
break;
case 1:
frag = new FragmentAbaPagar();
bundle.putDouble("total", total_pagar);
frag.setArguments(bundle);
break;
}
return frag;
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
//return "Sezione " + position;
switch(position) {
case 0: return "A Receber";
case 1: return "A Pagar";
default: return "";
}
}
}
private Drawable getIcon(int position) {
switch(position) {
case 0:
return res.getDrawable(R.drawable.ic_menu_send);
case 1:
return res.getDrawable(R.drawable.ic_menu_share);
}
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
hasStop=true;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment