aaaa
unknown
plain_text
2 years ago
44 kB
13
Indexable
/*
* Copyright (c) 2018 SANTANDER BRASIL, All Rights Reserved.
*/
package com.santander.app.homelogada.presentation;
/**
* Created by Santander on 01/01/18.
*/
import static com.santander.app.homelogada.presentation.IdSantanderCallerKt.KEY_BLOCKED_ID_FLAG;
import static com.santander.app.homelogada.presentation.IdSantanderCallerKt.PREFS_BLOCKED_ID_SNT;
import static com.santander.app.homelogada.presentation.IdSantanderCallerKt.getDocumentKey;
import android.app.Dialog;
import android.content.Intent;
import android.content.IntentSender;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.fragment.app.Fragment;
import com.google.android.play.core.appupdate.AppUpdateInfo;
import com.google.android.play.core.appupdate.AppUpdateManager;
import com.google.android.play.core.appupdate.AppUpdateManagerFactory;
import com.google.android.play.core.install.model.AppUpdateType;
import com.google.android.play.core.install.model.UpdateAvailability;
import com.google.android.play.core.review.ReviewInfo;
import com.google.android.play.core.review.ReviewManager;
import com.google.android.play.core.review.ReviewManagerFactory;
import com.google.android.play.core.tasks.OnCompleteListener;
import com.google.android.play.core.tasks.OnFailureListener;
import com.google.android.play.core.tasks.Task;
import com.google.firebase.crashlytics.FirebaseCrashlytics;
import com.santander.app.MinhaConta;
import com.santander.app.R;
import com.santander.app.acessocanal.task.FutureCallBackTask;
import com.santander.app.analytics.AnalyticsTags;
import com.santander.app.analytics.PerformanceTraces;
import com.santander.app.analytics.firebase.Tags;
import com.santander.app.authentication.SantanderIdEnablingData;
import com.santander.app.avaliacaostore.presentation.AvaliacaoDialog;
import com.santander.app.avaliacaostore.presentation.contract.IAvaliarAppView;
import com.santander.app.avaliacaostore.presenter.AvaliacaoAppPresenter;
import com.santander.app.biometric.facial.register.RegisterFacialBiometricsApplicationStarter;
import com.santander.app.cartoes.parcelamentofatura.ParcelamentoFaturasApplicationStarter;
import com.santander.app.chat.Chat;
import com.santander.app.chat.ChatApplication;
import com.santander.app.chat.controller.ChatController;
import com.santander.app.components.view.SessionControlledActivity;
import com.santander.app.components.view.avisofinalano.AvisoFinalAnoActivity;
import com.santander.app.components.view.cardLayout.CardLayout;
import com.santander.app.contacorrente.domain.Conta;
import com.santander.app.crm.CrmShared;
import com.santander.app.crm.PageEnum;
import com.santander.app.datacontroller.ControllerResolver;
import com.santander.app.datacontroller.DataController;
import com.santander.app.dataservice.BannerService;
import com.santander.app.deeplink.DeepLinkType;
import com.santander.app.deeplink.MainDeepLinkRedirect;
import com.santander.app.ecommerce.view.ECommerceDialog;
import com.santander.app.ecommerce.view.ECommerceDialogImpl;
import com.santander.app.homelogada.interactor.MenuInteractor;
import com.santander.app.homelogada.interactor.MenuInteractorImpl;
import com.santander.app.homelogada.novahome.presentation.HomeLoggedFragment;
import com.santander.app.homelogada.presenter.HomeLogadaPresenter;
import com.santander.app.homelogada.presenter.HomeLogadaPresenterImpl;
import com.santander.app.idsantander.IdSantanderTipoConversaoEnum;
import com.santander.app.idsantander.habilitacaoIdRemoto.features.offer.presentation.IdSantanderRemoteOfferActivity;
import com.santander.app.idsantander.habilitargeolocalizacao.dialog.HabilitarIDGeoLocalizacao;
import com.santander.app.idsantander.presentation.IdSantanderHabilitacaoActivity;
import com.santander.app.idsantander.presentation.IdSantanderHabilitacaoSMSOfertaActivity;
import com.santander.app.idsantander.presentation.IdSantanderOfertaActivity;
import com.santander.app.idsantander.presentation.IdSantanderOtimizacaoActivity;
import com.santander.app.meugerente.MeuGerenteApplicationStarter;
import com.santander.app.meuperfil.presentation.EscolhaContaPreferencialActivity;
import com.santander.app.newmenu.utils.DefaultDialogUtils;
import com.santander.app.news.NewsActivity;
import com.santander.app.pagamentos.titulos.presentation.PagamentosCodigoBarrasActivity;
import com.santander.app.personaldataprotection.LgpdApplicationStarter;
import com.santander.app.propostasemaberto.presentation.PropostasEmAbertoActivity;
import com.santander.app.santanderon.controller.SantanderOnController;
import com.santander.app.santanderwebviewbridge.common.WebViewBridgeConstants;
import com.santander.app.santanderwebviewbridge.features.creditcardinvoicepayment.CreditCardInvoicePaymentApplicationStarter;
import com.santander.app.sessionmanagement.domain.ISession;
import com.santander.app.sessionmanagement.domain.Session;
import com.santander.app.util.AvaliarHelperKt;
import com.santander.app.util.DialogUtil;
import com.santander.app.util.ImageUtil;
import com.santander.app.util.NaoManterAtividadesHelperKt;
import com.santander.app.util.NaoManterProperties;
import com.santander.app.util.ReloadHomeServicesUtil;
import com.santander.app.util.SecurityUtil;
import com.santander.app.util.accessibility.AccessibilityUtil;
import com.santander.app.util.dynamicauth.DynamicAuthApp;
import com.santander.app.util.dynamicauth.DynamicAuthenticationService;
import com.santander.app.util.encryptation.KeyStoreHelper;
import com.santander.app.util.security.DeviceProfiler;
import com.santander.app.util.toolbar.ToolBarHandler;
import com.santander.app.validation.TipoUsuarioConsultivoEnum;
import com.santander.app.validation.presentation.IdSantanderUsuarioConsultivoActivity;
import com.santander.app.welcome.WelcomeLibApplicationStarter;
import com.santander.interact.repository.model.offer.InteractionPoint;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import app.santander.com.module.SantanderLogger;
import br.com.santander.analytics.SantanderAnalytics;
import br.com.santander.chatbot.elegibilidade.core.Constants;
import br.com.santander.commons.utils.firebase.FirebaseService;
import br.com.santander.crmlib.lightbox.LightboxAd;
import br.com.santander.modulo.mbbcoredomain.domain.UserProfile;
import br.com.santander.modulo.welcomesantander.WelcomeApplication;
import br.com.santander.modulo.welcomesantander.commons.WelcomeIDSantanderCallback;
import br.com.santander.modulo.welcomesantander.feature.task.domain.TaskCash;
import br.com.santander.modulo.welcomesantander.service.WelcomeService;
import br.com.santander.preferences.Preferences;
import br.com.santander.semaphore.SemaphoreApplication;
import br.com.santander.semaphore.domain.SemaphoreCode;
import br.com.santander.semaphore.interfaces.ISemaphoreCache;
import br.com.santander.syncstorage.domain.Property;
import br.com.santander.syncstorage.service.StorageService;
import br.com.santander.ui.dialog.view.SantanderDialog;
import br.com.santander.ui.iconBadge.SantanderIconWithBadge;
@SuppressWarnings("all")
public class HomeLogadaActivity extends SessionControlledActivity implements HomeLogadaView,
IAvaliarAppView, ChatApplication.ChatComponentCallback {
private ISession iSession = Session.getInstance();
private HomeLogadaActivity mActivity;
private HomeLogadaPresenter homeLogadaPresenter;
private AvaliacaoAppPresenter avaliacaoAppPresenter;
private CardLayout cardlayoutCrm;
private CrmShared crmShared;
private MenuItem chatAction;
private MenuInteractor menuInteractor;
private SantanderIconWithBadge notificationIcon;
private SantanderIconWithBadge attendanceIcon;
private Conta conta = new Conta();
private AvaliacaoDialog avaliacaoDialog;
private Dialog loadingDialog;
private boolean mostrarNotificacao;
private MeuGerenteApplicationStarter meuGerenteStarter;
private ChatController chatController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_logada_activity);
try {
if (!Session.getInstance().isInitedByLauncher() || Session.getInstance().getTokenSession() == null) {
showEmptyHomeError();
} else {
mActivity = this;
SantanderLogger.w("LOGIN_PERFORMANCE_SENHA", "onCreate()");
DeviceProfiler.shareRsaKey(getApplicationContext()); //runs async :)
SantanderLogger.w("TEST_LOGIN", "HomeLogadaPresenterImpl - END");
if (Session.getInstance().getUser().getValidacaoTransacional() == null) {
SantanderAnalytics.getInstance().getMetricsAnalyticsInstance().logTextMetric(
AnalyticsTags.OUTROS.OUTROS_DADOS_SESSAO_TRATAMENTO_EXCECAO, "Acao transacional invalida");
exitAppProperly(true, getBaseContext().getResources().getString(R.string.dialog_erro_reopen_app));
} else if (Session.getInstance().getUser().getAutenticarUsuario() == null) {
SantanderAnalytics.getInstance().getMetricsAnalyticsInstance().logTextMetric(
AnalyticsTags.OUTROS.OUTROS_DADOS_SESSAO_TRATAMENTO_EXCECAO, "Sessao AutenticarUsuario nulo");
} else {
init();
SantanderAnalytics.getInstance().getFirebaseInstance().pushScreenview(this, Tags.ScreenView.HOME_LOGADA);
verifyDeepLink();
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(Tags.Property.PRIMARY_SEGMENT,
Session.getInstance().getUser().getAutenticarUsuario().getSegmentoPrimario());
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(Tags.Property.SECONDARY_SEGMENT,
Session.getInstance().getUser().getAutenticarUsuario().getSegmentoSecundario());
if (Session.getInstance().getUser().getUserProfile() == UserProfile.SAVINGS_ACCOUNT) {
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(
Tags.Property.DIMENSION36,
Tags.Property.SAVINGS_ACCOUNT);
} else {
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(
Tags.Property.DIMENSION36,
Tags.Property.CURRENT_ACCOUNT);
}
}
if (!Session.getInstance().isChatInitialized()) {
initChat();
}
MinhaConta.getInstance().getSDDInstance().clearMotionEvents();
}
} catch (Exception e) {
FirebaseCrashlytics.getInstance().recordException(e);
finish();
// android.os.Process.killProcess(android.os.Process.myPid());
// System.exit(0);
}
//fixToolbarOverlappingFragment();
}
//TODO remover codigo na versão 12.4, já será possivel obeservar o comportamento em varios dispositivos.
private void fixToolbarOverlappingFragment() {
// It broke after migration to AndroidX
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
FrameLayout fragmentContainer = findViewById(R.id.home_logada_fragment_container);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT
);
int defaultMarginPx = 0;
float actionbarSizeDp = 40f;
int actionbarSizePx = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
actionbarSizeDp,
getResources().getDisplayMetrics()
);
params.setMargins(defaultMarginPx, actionbarSizePx, defaultMarginPx, defaultMarginPx);
fragmentContainer.setLayoutParams(params);
}
}
private HomeLogadaPresenter getHomeLogadaPresenter() {
if (!isDestroyed() && homeLogadaPresenter == null) {
homeLogadaPresenter = new HomeLogadaPresenterImpl(this, HomeLogadaActivity.this);
}
return homeLogadaPresenter;
}
private AvaliacaoAppPresenter getAvaliacaoAppPresenter() {
if (avaliacaoAppPresenter == null) {
avaliacaoAppPresenter = new AvaliacaoAppPresenter(this);
}
return avaliacaoAppPresenter;
}
private void verifyDeepLink() {
SantanderLogger.w("TEST_LOGIN", "verifyDeepLink - START");
if (SemaphoreApplication.getInstance().getSemaphoreCache().isOn(SemaphoreCode.MBB_NPS)) {
getHomeLogadaPresenter().verifyDeepLinkNPS();
}
getHomeLogadaPresenter().verifyDeepLink();
SantanderLogger.w("TEST_LOGIN", "verifyDeepLink - END");
}
public static void exitAppProperly() {
DialogUtil.showExitDialog(MinhaConta.getAppContext().getString(R.string.default_error), true);
}
public static void exitAppProperly(boolean showHome, String erroMessage) {
DialogUtil.showExitDialog(erroMessage, showHome);
}
public void redirectDeepLink(Uri uri) {
MainDeepLinkRedirect.getInstance().redirect(this, uri);
}
@Override
public void init() {
initViews();
initDynamicAuth();
montarActionBar();
getHomeLogadaPresenter().checkForBanners();
aplicarSegmentoCartao();
getHomeLogadaPresenter().checkOfferRegisterBiometricFacial();
checkWelcomeNeedExecute();
// menuAdicionarFoto();
renovarSessao();
homeLoaded();
getHomeLogadaPresenter().iniciarPreferencias();
getHomeLogadaPresenter().correcaoContaPreferencial();
getHomeLogadaPresenter().notificacaoFimAno();
getHomeLogadaPresenter().reloadDroppedCart();
getHomeLogadaPresenter().checkForNews();
getHomeLogadaPresenter().checkPropostas();
getHomeLogadaPresenter().checkLGPDLogin();
tagueamentoAndroidID();
tagueamentoMenu();
initFragment();
}
private void checkForAppUpdate() {
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
&& appUpdateInfo.updatePriority() >= 4 /* high priority */
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
try {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.FLEXIBLE,
this,
100
);
} catch (IntentSender.SendIntentException e) {
throw new RuntimeException(e);
}
}
});
}
private void showEmptyHomeError() {
montarActionBar();
SantanderDialog.showSantanderDialog(
this,
new View.OnClickListener() {
@Override
public void onClick(View view) {
DialogUtil.logoutApp(HomeLogadaActivity.this.getApplicationContext());
}
},
null,
null,
getString(R.string.home_logada_erro_inicializacao),
null,
getString(R.string.ok
)
);
}
private void checkWelcomeNeedExecute() {
ISemaphoreCache semaforoCache = SemaphoreApplication.getInstance().getSemaphoreCache();
String cpf = "";
try {
cpf = Session.getInstance().getUser().getCpf().replace("\\D+", "");
} catch (Exception e) {
cpf = "";
SantanderLogger.e(e);
}
startWelcomeApplicationCallback();
WelcomeService welcomeService = new WelcomeService();
TaskCash taskCash = welcomeService.getTaskCach(cpf);
if (Session.getInstance().getUser().getWelcomeElegible()
&& semaforoCache.isOn(SemaphoreCode.MBB_BOAS_VINDAS)
) {
if (taskCash.getShowWelcome()) {
WelcomeApplication.Companion.getInstance().launchWelcome(this);
} else if (taskCash.getShowWalkTrough()) {
WelcomeApplication.Companion.getInstance().launchWalkTrough(this);
}
} else {
idSantanderNeedExecute();
}
}
private void startWelcomeApplicationCallback() {
WelcomeLibApplicationStarter controller = new WelcomeLibApplicationStarter(this);
controller.setWelcomeIDSantanderCallback(new WelcomeIDSantanderCallback() {
@Override
public void openIDSantander() {
SantanderIdEnablingData santanderIdEnablingData = Session.getInstance().getSantanderIdEnablingData();
if (santanderIdEnablingData != null && !showIdSantanderBlocked(santanderIdEnablingData)) {
if (!Session.getInstance().isSantanderIdEnabled()) {
IdSantanderCallerKt.callIdSantander(HomeLogadaActivity.this, santanderIdEnablingData);
}
}
}
});
controller.start();
}
private void idSantanderNeedExecute() {
SantanderIdEnablingData santanderIdEnablingData = Session.getInstance().getSantanderIdEnablingData();
if (santanderIdEnablingData != null && !showIdSantanderBlocked(santanderIdEnablingData)) {
if (!Session.getInstance().isSantanderIdEnabled() && !Session.getInstance().isHomeLoaded()) {
IdSantanderCallerKt.callIdSantander(this, santanderIdEnablingData);
}
}
}
private void initViews() {
SantanderLogger.w("TEST_LOGIN", "bind view");
cardlayoutCrm = findViewById(R.id.cardlayout_crm);
}
@Override
public void startLGPDLogin() {
LgpdApplicationStarter starterLgpd = new LgpdApplicationStarter();
starterLgpd.launchLgpd(this, "Login");
}
private void tagueamentoHome(Boolean tagHomeLogada) {
if ((tagHomeLogada) && (iSession.getUser().getUserProfile() == UserProfile.CURRENT_ACCOUNT)) {
String card = Session.getInstance().getUser().getCartaoCache().existemCartoes() ? Tags.Label.HOME_OWN_CARD :
Tags.Label.HOME_NO_CARD;
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(Tags.Property.HOME_CARD_STATUS, card);
String loan = Session.getInstance().getUser().getEmprestimoCache().getEmprestimos().getValor() != null ? Tags.Label.HOME_OWN_LOAN :
Tags.Label.HOME_NO_LOAN;
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(Tags.Property.HOME_CARD_STATUS, loan);
String savings = Session.getInstance().getUser().getContaCache().existePoupanca() ? Tags.Label.HOME_OWN_SAVINGS :
Tags.Label.HOME_OWN_SAVINGS;
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(Tags.Property.HOME_SAVINGS_STATUS, savings);
String investiment = Session.getInstance().getUser().getInvestimentoCache().getInvestimentos().size() > 0 ? Tags.Label.HOME_OWN_INVESTIMENT :
Tags.Label.HOME_NO_INVESTIMENT;
SantanderAnalytics.getInstance().getFirebaseInstance().setUserProperty(Tags.Property.HOME_INVESTIMET_STATUS, investiment);
}
}
private void initFragment() {
Boolean tagHomeLogada = getIntent().getBooleanExtra("tagHomeLogada", false);
Fragment homeLoggedFragment = HomeLoggedFragment.newInstance();
if (homeLoggedFragment.getArguments() == null) {
Bundle bundle = new Bundle();
bundle.putBoolean("tagHomeLogada", tagHomeLogada);
homeLoggedFragment.setArguments(bundle);
} else {
homeLoggedFragment.getArguments().putBoolean("tagHomeLogada", tagHomeLogada);
}
replaceFragment(homeLoggedFragment);
tagueamentoHome(tagHomeLogada);
}
protected void replaceFragment(@NonNull Fragment fragment) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.home_logada_fragment_container, fragment, HomeLoggedFragment.TAG)
.commit();
}
@Override
public void showInteractLightbox(LightboxAd lightboxView) {
lightboxView.show(InteractionPoint.LIGHTBOX_HOME, this);
}
@Override
public void initDynamicAuth() {
SantanderLogger.w("TEST_LOGIN", "initDynamicAuth()");
DynamicAuthApp.configSyncCallback();
DynamicAuthenticationService.INSTANCE.init(this);
}
@Override
public void initRegisterFacialBiometricsOffer() {
if (!RegisterFacialBiometricsApplicationStarter.INSTANCE.getHasInitialized()) {
RegisterFacialBiometricsApplicationStarter.INSTANCE.init(this);
}
RegisterFacialBiometricsApplicationStarter.INSTANCE.processorStatusEligibility(
false,
Session.getInstance().getFacialBiometricsRegisterStatus()
);
}
private void tagueamentoAndroidID() {
try {
SantanderAnalytics.getInstance().getMetricsAnalyticsInstance().logTextMetric(
AnalyticsTags.IDSANTANDER.ID_SANTANDER_ANDROID_ID, "Android ID: " + Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID));
} catch (Exception e) {
FirebaseCrashlytics.getInstance().recordException(e);
SantanderAnalytics.getInstance().getMetricsAnalyticsInstance().logTextMetric(AnalyticsTags.IDSANTANDER.ID_SANTANDER_ANDROID_ID, "Unable to get Android ID");
}
}
private void tagueamentoMenu() {
String chatLabel = Tags.Label.CHAT_NO_NOTIFICATION;
if (Session.getInstance().getUser().getNotificacoes() > 0) {
chatLabel = Tags.Label.CHAT_WITH_NOTIFICATION;
}
FirebaseService.pushEvent(
Tags.ScreenView.HOME_LOGADA,
Tags.Category.HOME_LOGADA + Tags.Label.HOME_CHAT, Tags.Action.EXIBIU,
chatLabel
);
if (SemaphoreApplication.getInstance().getSemaphoreCache().isOn(
SemaphoreCode.MBB_ATENDIMENTO_VIA_HEADER)) {
FirebaseService.pushEvent(
Tags.ScreenView.HOME_LOGADA,
Tags.Category.HOME_LOGADA + Tags.Label.HOME_CHAT, Tags.Action.EXIBIU,
Tags.Label.CENTRAL_DE_ATENDIMENTO
);
}
}
@Override
public void showNews() {
startActivity(new Intent(this, NewsActivity.class));
overridePendingTransition(R.anim.push_up_in, R.anim.push_up_out);
}
@Override
public void showPropostasEmAberto() {
startActivity(new Intent(this, PropostasEmAbertoActivity.class));
overridePendingTransition(R.anim.push_up_in, R.anim.push_up_out);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
verifyDeepLink();
}
private View.OnClickListener getSantanderOnBannerClicked() {
return new View.OnClickListener() {
@Override
public void onClick(View view) {
SantanderOnController.deepLinkRedirect(mActivity, DeepLinkType.SANTANDER_ON, "");
}
};
}
private void checkDontKeepActivitiesIsEnabled() {
if (NaoManterAtividadesHelperKt.isFinishActivitiesOptionEnabled(this, false)) {
NaoManterAtividadesHelperKt.showNaoManterDialog(this, getSupportFragmentManager(), new NaoManterProperties(true, true, true, false));
}
}
private void storeShowDkaDialogStatus(boolean isChecked) {
SharedPreferences mSharedPreferences = Preferences.get(getApplicationContext(), "dkaOption");
SharedPreferences.Editor mEditor = mSharedPreferences.edit();
mEditor.putBoolean("dkaStatus", isChecked);
mEditor.apply();
}
private boolean getShowDkaDialogDStatus() {
SharedPreferences mSharedPreferences = Preferences.get(getApplicationContext(), "dkaOption");
return mSharedPreferences.getBoolean("dkaStatus", false);
}
@Override
public void goToOnboardingFlow(boolean reoffer) {
Intent intent = new Intent(this, IdSantanderHabilitacaoSMSOfertaActivity.class);
intent.putExtra("onboarding", true);
if (reoffer) intent.putExtra("reoffer", true);
startActivity(intent);
}
@Override
public void goToIdSantanderHabilitacaoSMS() {
startActivity(new Intent(this, IdSantanderHabilitacaoSMSOfertaActivity.class));
}
@Override
public void goToIdSantanderHabilitacaoATM(Boolean isGeo) {
Intent intent = new Intent(this, IdSantanderHabilitacaoActivity.class);
intent.putExtra("atm", true);
intent.putExtra("geo", isGeo);
startActivity(intent);
}
@Override
public void goToIdSantanderHabilitacaoATM_QR() {
Intent intent = new Intent(this, IdSantanderHabilitacaoActivity.class);
intent.putExtra("atm-qr", true);
startActivity(intent);
}
@Override
public void goToEnableIdSantanderRemote(boolean isOnboarding) {
Intent intent = new Intent(this, IdSantanderRemoteOfferActivity.class);
intent.putExtra(IdSantanderRemoteOfferActivity.EXTRA_IS_ONBOARDING, isOnboarding);
startActivity(intent);
}
@Override
public void goToEscolharContaPreferencial() {
startActivity(new Intent(this, EscolhaContaPreferencialActivity.class));
}
@Override
public void goToIdSantanderCancelado() {
Intent intent = new Intent(this, IdSantanderUsuarioConsultivoActivity.class);
intent.putExtra("tipo", TipoUsuarioConsultivoEnum.ID_CANCELADO);
startActivity(intent);
}
@Override
public void goToIdSantanderSwipeObrigatoria() {
startActivity(new Intent(this, IdSantanderOfertaActivity.class).putExtra("tipoConversao", IdSantanderTipoConversaoEnum.OBRIGATORIA));
}
@Override
public void goToIdSantanderSwipe() {
startActivity(new Intent(this, IdSantanderOfertaActivity.class).putExtra("tipoConversao", IdSantanderTipoConversaoEnum.OPCIONAL));
}
@Override
public void checkFingerprintEnabling() {
SantanderLogger.d("PAC", "Home - checkFingerprintEnabling");
iSession.getUser().setPerfil("2");
goToBloqueioADM();
}
@Override
public void initFinalAnoAviso() {
startActivity(new Intent(this, AvisoFinalAnoActivity.class));
}
@Override
public void goToBloqueioADM() {
Intent intent = new Intent(this, IdSantanderUsuarioConsultivoActivity.class);
intent.putExtra("tipo", TipoUsuarioConsultivoEnum.BLOQUEIO_ADM);
startActivity(intent);
}
@Override
public void goToBloqueioCliente() {
Intent intent = new Intent(this, IdSantanderUsuarioConsultivoActivity.class);
intent.putExtra("tipo", TipoUsuarioConsultivoEnum.BLOQUEIO_CLIENTE);
startActivity(intent);
}
@Override
public void goToBloqueioTentativas() {
Intent intent = new Intent(this, IdSantanderUsuarioConsultivoActivity.class);
intent.putExtra("tipo", TipoUsuarioConsultivoEnum.BLOQUEIO_TENTATIVAS);
startActivity(intent);
}
@Override
public void goToErroInesperado() {
Intent intent = new Intent(this, IdSantanderUsuarioConsultivoActivity.class);
intent.putExtra("tipo", TipoUsuarioConsultivoEnum.ERRO_INESPERADO);
startActivity(intent);
}
@Override
public void goToOtimizacao() {
startActivity(new Intent(this, IdSantanderOtimizacaoActivity.class));
}
@Override
public void goToUsuarioConsultivo() {
Intent intent = new Intent(this, IdSantanderUsuarioConsultivoActivity.class);
intent.putExtra("tipo", TipoUsuarioConsultivoEnum.USUARIO_CONSULTIVO);
startActivity(intent);
}
@Override
protected void onResume() {
super.onResume();
PerformanceTraces.traceLoginDisplayHome.stop();
// Checks for transaction done and show the google review dialog
getAvaliacaoAppPresenter().verificarExibicao();
HashMap<String, String> params = new HashMap<>();
String service = AccessibilityUtil.getEnabledAccessibilityService(this);
if (!service.equals("")) {
params.put(Tags.Category.MODO_ACESSIBILIDADE, "true");
params.put(Tags.Category.BIBLIOTECA_ACESSIBILIDADE, service);
} else {
params.put(Tags.Category.MODO_ACESSIBILIDADE, "false");
}
SantanderAnalytics.getInstance().getFirebaseInstance().pushScreenview(this, Tags.ScreenView.HOME_LOGADA, params);
checkDontKeepActivitiesIsEnabled();
DataController.getInstance().setActualActivity(this);
SantanderLogger.w("TEST_LOGIN", "onResume");
if (Session.getInstance().isChatEnable()) {
showChatIcon(true);
}
getHomeLogadaPresenter().setActivityResumed(true);
invalidateOptionsMenu();
// Focus precisa estar sempre limpo, para não interferir nos scrolls
if (getCurrentFocus() != null) {
getCurrentFocus().clearFocus();
}
}
@Override
protected void onPause() {
super.onPause();
getHomeLogadaPresenter().setActivityResumed(false);
DataController.getInstance().setActualActivity(null);
}
@Override
public void montarActionBar() {
SantanderLogger.w("TEST_LOGIN", "montarActionBar()");
ActionBar actionBar = this.getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setElevation(0.0F);
ToolBarHandler.INSTANCE.factoryToolBar(this, actionBar, null);
}
}
private void aplicarSegmentoCartao() {
SantanderLogger.w("TEST_LOGIN", "getSegmento()");
MinhaConta.setUrlSegmentoCartao(SecurityUtil.getCreditCardSegment());
}
@Override
public void menuAdicionarFoto() {
SantanderLogger.w("TEST_LOGIN", "menuAdicionarFoto()");
ToolBarHandler.INSTANCE.setPhoto(ImageUtil.getSavedImage(this, iSession.getUser().getCpf()), this);
}
@Override
public void renovarSessao() {
SantanderLogger.w("TEST_LOGIN", "renovarSessao()");
iSession.setRenovarSessao(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menuInteractor = new MenuInteractorImpl();
menuInteractor.onCreateOptionsMenu(this, menu, getMenuInflater());
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return menuInteractor.onOptionsItemSelected(this, item);
}
@Override
public void onBackPressed() {
DefaultDialogUtils.showExitAppDialog(HomeLogadaActivity.this);
return;
}
@Override
protected void onDestroy() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy, HH:mm");
SharedPreferences settings = Preferences.get(getApplicationContext(), "homeLogadaWidget");
SharedPreferences.Editor editor = settings.edit();
editor.putString("lastConecctionDate", sdf.format(date));
editor.commit();
super.onDestroy();
}
@Override
public void homeLoaded() {
SantanderLogger.w("TEST_LOGIN", "homeLoaded()");
if (!iSession.isHomeLoaded()) {
iSession.setHomeLoaded(true);
SharedPreferences settings = Preferences.get(MinhaConta.getAppContext(), "SovereignBrasilProfile");
SharedPreferences.Editor editor = settings.edit();
editor.putString("idsantander_logou", KeyStoreHelper.encryptString("true"));
editor.commit();
new Thread(new Runnable() {
@Override
public void run() {
try {
final StorageService storageService = StorageService.getInstance(getApplicationContext());
storageService.addOrUpdateProperty(new Property("FIRST_LOGIN_" + Session.getInstance().getUser().getCpf(), "true"));
SantanderLogger.w("TEST_LOGIN", "homeLoaded()");
} catch (Exception e) {
FirebaseCrashlytics.getInstance().recordException(e);
SantanderAnalytics.getInstance().getMetricsAnalyticsInstance().logTextMetric("FIRST_LOGIN", "Exception" + e.getMessage());
SantanderLogger.e(e);
SantanderLogger.w("TEST_LOGIN", "homeLoaded() - Exception" + e.getMessage());
}
}
}).start();
}
}
@Override
public void dialogAvaliarShow() {
if (SemaphoreApplication.getInstance().getSemaphoreCache().isOn(SemaphoreCode.MBB_IN_APP_REVIEW)) {
boolean showAvaliarDialog = AvaliarHelperKt.shouldShowAvaliarDialog(this);
if (showAvaliarDialog) {
final ReviewManager reviewManager = ReviewManagerFactory.create(this);
Task<ReviewInfo> request = reviewManager.requestReviewFlow();
request.addOnCompleteListener(new OnCompleteListener<ReviewInfo>() {
@Override
public void onComplete(@NonNull Task<ReviewInfo> task) {
if (task.isSuccessful()) {
ReviewInfo reviewInfo = task.getResult();
Task<Void> flow = reviewManager.launchReviewFlow(HomeLogadaActivity.this, reviewInfo);
flow.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
SantanderLogger.d("Caixa de diálogo de revisão do Google exibida");
}
});
flow.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
SantanderLogger.d("Google App Review - ", e.getMessage());
}
});
} else {
SantanderLogger.d("Problema ao mostrar o Google na avaliação do aplicativo");
}
}
});
}
}
}
@Override
public void buscarBanner() {
BannerService bannerService = ControllerResolver
.getBannerService()
.context(getApplicationContext());
bannerService.requestNewBanner();
SantanderLogger.w("TEST_LOGIN", "checkForBanners()");
}
@Override
public void goToIdSantanderHabilitacaoGEO() {
final Dialog d = new HabilitarIDGeoLocalizacao().create(this);
d.findViewById(R.id.button_access)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
d.dismiss();
goToIdSantanderHabilitacaoATM(true);
}
});
d.show();
}
@Override
public void showCampanha(String title, String body, String buttonLabel, String bitmapString, String deepLink, String approachId, String campaignId, String viewId) {
ECommerceDialog eCommerceDialog = new ECommerceDialogImpl(this);
eCommerceDialog.configure(title, body, buttonLabel, bitmapString, deepLink, approachId, campaignId, viewId);
eCommerceDialog.show();
}
@Override
public void mensagemErroTratado() {
mensagemErroTratado(getString(R.string.erro_retorno_service));
}
@Override
public void mensagemErroTratado(String mensagem) {
DialogUtil.showDialogMessage(this, "Alerta", mensagem, false, "OK");
}
@Override
public void initChat() {
meuGerenteStarter = new MeuGerenteApplicationStarter(mActivity);
final ChatApplication.ChatAction chatAction = new ChatApplication.ChatAction() {
@Override
public void onAction() {
meuGerenteStarter.start();
}
};
ChatApplication.getInstance().openChat(Constants.SERVICE_MANAGER, HomeLogadaActivity.this, HomeLogadaActivity.this, chatAction, null);
}
@Override
public void showChatIcon(boolean show) {
if (show) {
chatIconVisible();
} else {
chatIconInvisible();
}
}
//Para deixar o icone do chat visivel
private void chatIconVisible() {
SantanderLogger.d("Chat", "ELEGIVEL - DISPONIVEL | DESABILITADO | FORA DO HORARIO");
if (chatAction != null) {
chatAction.setVisible(true);
}
}
//Para deixar o icone do chat oculto
private void chatIconInvisible() {
SantanderLogger.d("Chat", "NÃO ELEGIVEL - INDISPONIVEL");
if (chatAction != null) {
chatAction.setVisible(false);
}
}
//Validação de permissão para visibilidade do botão de chat
@Override
public void isAbleToInitChat(boolean isAble) {
Session.getInstance().setChatEnable(isAble);
if (isAble) {
chatIconVisible();
getHomeLogadaPresenter().verifyDeepLinkChat();
} else {
chatIconInvisible();
}
ChatApplication.getInstance().chatElegible(isAble);
}
@Override
public void goRedirectWay() {
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
boolean isWay = bundle.getBoolean("isway", false);
if (isWay) {
String action = bundle.getString("way_action", "");
String numeroCartao = bundle.getString("NUMEROCARTAO");
doRedirectWay(action, numeroCartao);
}
}
}
private void doRedirectWay(String action, String numeroCartao) {
final String finalNumeroCartao = numeroCartao;
switch (action) {
case "pagarFatura":
ReloadHomeServicesUtil reloadHome = new ReloadHomeServicesUtil();
ReloadHomeServicesUtil.TipoReloadEnum[] tiposReload =
new ReloadHomeServicesUtil.TipoReloadEnum[]{ReloadHomeServicesUtil.TipoReloadEnum.RELOAD_BALANCE_AND_CARD};
reloadHome.reloadDadosHome(tiposReload, new FutureCallBackTask() {
@Override
public void processFinish(Object output) {
chamarPagamentoFatura(finalNumeroCartao);
}
});
break;
case "parcelarFatura":
chamarParcelamentoFatura(numeroCartao);
break;
case "pagarTitulos":
chamarPagamentoTitulosEContas();
break;
}
}
@Override
public void atualizarNotificacoes() {
invalidateOptionsMenu();
}
private boolean showIdSantanderBlocked(SantanderIdEnablingData enablingData) {
String key = KEY_BLOCKED_ID_FLAG + "_" + getDocumentKey(this);
if (enablingData.getAction().equals("INFORMAR_BLOQUEIO") && Preferences.get(this,
PREFS_BLOCKED_ID_SNT).getBoolean(key, false)) {
SecurityUtil.setUsuarioConsultivo();
return true;
} else {
Preferences.get(this, PREFS_BLOCKED_ID_SNT).edit().putBoolean(key, false).apply();
return false;
}
}
private void chamarPagamentoFatura(String numeroCartao) {
CreditCardInvoicePaymentApplicationStarter applicationStarter =
new CreditCardInvoicePaymentApplicationStarter(this,
WebViewBridgeConstants.WEBVIEW_PATH_CREDIT_CARD_INVOICE_PAYMENT, numeroCartao);
applicationStarter.start();
}
private void chamarParcelamentoFatura(String numeroCartao) {
ParcelamentoFaturasApplicationStarter parcelamentoFaturasApplicationStarter = new ParcelamentoFaturasApplicationStarter(this);
parcelamentoFaturasApplicationStarter.start();
}
private void chamarPagamentoTitulosEContas() {
PagamentosCodigoBarrasActivity.alreadyLoaded = false;
Intent intent = new Intent(this, PagamentosCodigoBarrasActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("isway", true);
startActivity(intent);
}
@Override
public Chat getChatComponent() {
return ChatApplication.getInstance().getChatComponent();
}
@Override
public void startCrm() {
crmShared = new CrmShared(this, cardlayoutCrm, PageEnum.Home);
}
private void mostrarNotificacao() {
if (!mostrarNotificacao) {
mostrarNotificacao = true;
getHomeLogadaPresenter().notificacaoFimAno();
}
}
@Override
public void showLoadingScreen() {
loadingDialog = DialogUtil.showLoading(this);
}
@Override
public void hideLoadingScreen() {
if (loadingDialog != null) {
loadingDialog.dismiss();
loadingDialog = null;
}
}
public CrmShared getCrmShared() {
return this.crmShared;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
getHomeLogadaPresenter().onActivityResult(requestCode, resultCode, data);
registerForActivityResult(
new ActivityResultContracts.StartIntentSenderForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
// handle callback
if (resultCode != RESULT_OK) {
SantanderLogger.d("Update flow failed! Result code: " + resultCode);
// If the update is cancelled or fails,
// you can request to start the update again.
}
}
});
}
/Users/t767903/Documents/Personal/ModulosLibs/gapzero-android/app/src/main/java/com/santander/app/homelogada/presentation/HomeLogadaActivity.java:340: error: incompatible types: com.google.android.gms.tasks.Task<AppUpdateInfo> cannot be converted to com.google.android.play.core.tasks.Task<AppUpdateInfo>
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
^
}
Editor is loading...