| package org.apache.fineract.ui.online.login; |
| |
| import android.content.Intent; |
| import android.os.Bundle; |
| import android.text.TextUtils; |
| import android.widget.EditText; |
| import android.widget.Toast; |
| |
| import com.mifos.mobile.passcode.utils.PassCodeConstants; |
| |
| import org.apache.fineract.R; |
| import org.apache.fineract.data.local.PreferencesHelper; |
| import org.apache.fineract.data.models.Authentication; |
| import org.apache.fineract.ui.base.FineractBaseActivity; |
| import org.apache.fineract.ui.base.Toaster; |
| import org.apache.fineract.ui.online.PassCodeActivity; |
| |
| import javax.inject.Inject; |
| |
| import butterknife.BindView; |
| import butterknife.ButterKnife; |
| import butterknife.OnClick; |
| |
| /** |
| * @author Rajan Maurya |
| * On 17/06/17. |
| */ |
| //TODO Write documentation |
| public class LoginActivity extends FineractBaseActivity implements LoginContract.View { |
| |
| @BindView(R.id.et_tenant) |
| EditText etTenant; |
| |
| @BindView(R.id.et_username) |
| EditText etUsername; |
| |
| @BindView(R.id.et_password) |
| EditText etPassword; |
| |
| @Inject |
| LoginPresenter loginPresenter; |
| |
| @Inject |
| PreferencesHelper preferencesHelper; |
| |
| @Override |
| protected void onCreate(Bundle savedInstanceState) { |
| super.onCreate(savedInstanceState); |
| getActivityComponent().inject(this); |
| setContentView(R.layout.activity_login); |
| ButterKnife.bind(this); |
| loginPresenter.attachView(this); |
| setActionBarTitle(getString(R.string.fineract_account)); |
| preferencesHelper.clear(); |
| } |
| |
| @OnClick(R.id.btn_login) |
| void onLogin() { |
| |
| String tenantIdentifier = etTenant.getEditableText().toString(); |
| if (!TextUtils.isEmpty(tenantIdentifier)) { |
| preferencesHelper.putTenantIdentifier(tenantIdentifier); |
| } else { |
| etTenant.setError(getString(R.string.error_tenant_identifier_required)); |
| return; |
| } |
| |
| String username = etUsername.getEditableText().toString(); |
| if (TextUtils.isEmpty(username)) { |
| etUsername.setError(getString(R.string.error_username_required)); |
| return; |
| } |
| |
| String password = etPassword.getEditableText().toString(); |
| if (TextUtils.isEmpty(password)) { |
| etPassword.setError(getString(R.string.error_password_required)); |
| return; |
| } |
| |
| loginPresenter.login(username, password); |
| } |
| |
| @Override |
| public void showUserLoginSuccessfully(Authentication user) { |
| preferencesHelper.putAccessToken(user.getAccessToken()); |
| preferencesHelper.putSignInUser(user); |
| preferencesHelper.putUserName(etUsername.getEditableText().toString().trim()); |
| Intent intent = new Intent(this, PassCodeActivity.class); |
| intent.putExtra(PassCodeConstants.PASSCODE_INITIAL_LOGIN, true); |
| startActivity(intent); |
| finish(); |
| Toast.makeText(this, getString(R.string.welcome), Toast.LENGTH_LONG).show(); |
| } |
| |
| @Override |
| public void showNoInternetConnection() { |
| Toaster.show(findViewById(android.R.id.content), R.string.no_internet_connection); |
| } |
| |
| @Override |
| public void showError(String errorMessage) { |
| Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show(); |
| } |
| |
| @Override |
| public void showProgressDialog() { |
| showMifosProgressDialog(getString(R.string.logging_in)); |
| } |
| |
| @Override |
| public void hideProgressDialog() { |
| hideMifosProgressDialog(); |
| } |
| |
| @Override |
| protected void onDestroy() { |
| super.onDestroy(); |
| hideMifosProgressDialog(); |
| loginPresenter.detachView(); |
| } |
| } |