package com.telerik.app.tasks; import android.app.Activity; import android.app.ProgressDialog; import com.telerik.app.activities.LoginActivity; import com.telerik.everlive.sdk.core.model.system.AccessToken; import com.telerik.everlive.sdk.core.result.RequestResult; import com.telerik.everlive.sdk.core.result.RequestResultCallbackAction; import eqatec.analytics.monitor.IAnalyticsMonitor; import com.telerik.app.model.BaseViewModel; public class LoginRequestResultCallbackAction extends RequestResultCallbackAction<AccessToken> { private String loginMethod; private Activity activity; private ProgressDialog progressDialog; public LoginRequestResultCallbackAction(Activity activity, String loginMethod, ProgressDialog progressDialog) { this.activity = activity; this.loginMethod = loginMethod; this.progressDialog = progressDialog; } @Override public void invoke(RequestResult<AccessToken> accessTokenRequestResult) { if (accessTokenRequestResult.getSuccess()) { progressDialog.dismiss(); LoginActivity.startListActivity(this.activity); IAnalyticsMonitor monitor = BaseViewModel.getInstance().getMonitor(); if (monitor != null) { monitor.trackFeature("Login." + this.loginMethod); } } else { progressDialog.dismiss(); final String errorMessage = accessTokenRequestResult.getError().getMessage(); this.activity.runOnUiThread(new Runnable() { @Override public void run() { LoginActivity.showAlertMessage(activity, errorMessage, null); } }); } } }