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>() {

Reply via email to