add remain login feature
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/46e56b94 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/46e56b94 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/46e56b94 Branch: refs/heads/master Commit: 46e56b948f3d265afef0855e9a689130dbf10bc9 Parents: bd09d43 Author: Sagar <[email protected]> Authored: Tue Aug 2 23:19:41 2016 +0530 Committer: Sagar <[email protected]> Committed: Tue Aug 2 23:19:41 2016 +0530 ---------------------------------------------------------------------- .../apache/taverna/mobile/data/DataManager.java | 15 +++-------- .../taverna/mobile/ui/FlashScreenActivity.java | 1 + .../taverna/mobile/ui/login/LoginFragment.java | 27 +++++++++++--------- .../taverna/mobile/ui/login/LoginPresenter.java | 5 ++-- 4 files changed, 23 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/46e56b94/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java index 0668b7c..b86d89c 100644 --- a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java +++ b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java @@ -32,7 +32,6 @@ import java.util.List; import java.util.Map; import rx.Observable; -import rx.functions.Func0; import rx.functions.Func1; @@ -150,27 +149,21 @@ public class DataManager { /** * @param credentials is base64 encoded credential + * @param flagLogin is used to maintain the Remain login or not * @return User Detail if valid credentials */ - public Observable<User> getLoginUserDetail(String credentials){ + public Observable<User> getLoginUserDetail(String credentials, final boolean flagLogin) { return mBaseApiManager.getTavernaApi().getLoginUserDetail(credentials) .concatMap(new Func1<User, Observable<? extends User>>() { @Override public Observable<? extends User> call(User user) { - mPreferencesHelper.setLoggedInFlag(true); + mPreferencesHelper.setLoggedInFlag(flagLogin); return mPreferencesHelper.saveUserDetail(user); } }); } - public Observable<Boolean> getLoggedInFlag(){ - return Observable.defer(new Func0<Observable<Boolean>>() { - @Override - public Observable<Boolean> call() { - return Observable.just(mPreferencesHelper.getLoggedInFlag()); - } - }); - } + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/46e56b94/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java index 5bad64c..c494a62 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java @@ -25,6 +25,7 @@ public class FlashScreenActivity extends AppCompatActivity { dataManager = new DataManager(new PreferencesHelper(this)); if (!dataManager.getPreferencesHelper().getLoggedInFlag()) { + dataManager.getPreferencesHelper().clear(); startActivity(new Intent(FlashScreenActivity.this, LoginActivity.class)); (FlashScreenActivity.this).finish(); } else { http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/46e56b94/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java index 634309a..6d40b9c 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java @@ -13,6 +13,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; +import android.widget.CheckBox; import android.widget.EditText; import org.apache.taverna.mobile.R; @@ -39,6 +40,9 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu @BindView(R.id.input_layout_password) TextInputLayout mTextInputPassword; + @BindView(R.id.cbRemember) + CheckBox mCheckBoxRemember; + private DataManager dataManager; private LoginPresenter mLoginPresenter; private ConnectionInfo mConnectionInfo; @@ -113,7 +117,8 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu .getText().toString().trim().isEmpty()) { mLoginPresenter.login(mEditTextEmail.getText().toString().trim(), - mEditTextPassword.getText().toString().trim()); + mEditTextPassword.getText().toString().trim(), mCheckBoxRemember + .isChecked()); } else { @@ -156,8 +161,6 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu } - - private void requestFocus(View view) { if (view.requestFocus()) { getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams @@ -169,18 +172,25 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu public void onFocusChange(View v, boolean hasFocus) { switch (v.getId()) { case R.id.etEmail: - if(!v.hasFocus()) { + if (!v.hasFocus()) { validateEmail(); } break; case R.id.etPassword: - if(!v.hasFocus()) { + if (!v.hasFocus()) { validatePassword(); } break; } } + @Override + public void onDestroyView() { + super.onDestroyView(); + + mLoginPresenter.detachView(); + } + private class CustomTextWatcher implements TextWatcher { private View view; @@ -208,11 +218,4 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu } } } - - @Override - public void onDestroyView() { - super.onDestroyView(); - - mLoginPresenter.detachView(); - } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/46e56b94/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java index a4f0ec1..4900735 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java @@ -35,10 +35,11 @@ public class LoginPresenter extends BasePresenter<LoginMvpView> { if (mSubscriptions != null) mSubscriptions.unsubscribe(); } - public void login(String username, String password) { + public void login(String username, String password, boolean flagLogin) { if (mSubscriptions != null) mSubscriptions.unsubscribe(); - mSubscriptions = mDataManager.getLoginUserDetail(getEncodedCredential(username, password)) + mSubscriptions = mDataManager.getLoginUserDetail(getEncodedCredential(username, password) + ,flagLogin) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Observer<User>() {
