wire preferenceHelper with UI and DataManager
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/aae7e22f Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/aae7e22f Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/aae7e22f Branch: refs/heads/master Commit: aae7e22f10fa268aeed1026b39979cf224ed9f86 Parents: 1b18a1c Author: Sagar <[email protected]> Authored: Mon Aug 1 16:14:23 2016 +0530 Committer: Sagar <[email protected]> Committed: Mon Aug 1 16:14:23 2016 +0530 ---------------------------------------------------------------------- .../apache/taverna/mobile/data/DataManager.java | 8 ++- .../mobile/data/local/PreferencesHelper.java | 61 ++++++++++++-------- .../taverna/mobile/ui/login/LoginFragment.java | 3 +- 3 files changed, 45 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/aae7e22f/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 a9ed31d..41fd585 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 @@ -153,6 +153,12 @@ public class DataManager { */ public Observable<User> getLoginUserDetail(String credentials){ - return mBaseApiManager.getTavernaApi().getLoginUserDetail(credentials); + return mBaseApiManager.getTavernaApi().getLoginUserDetail(credentials) + .concatMap(new Func1<User, Observable<? extends User>>() { + @Override + public Observable<? extends User> call(User user) { + return mPreferencesHelper.saveUserDetail(user); + } + }); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/aae7e22f/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java b/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java index 1266d71..f0f08d0 100644 --- a/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java +++ b/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java @@ -6,6 +6,9 @@ import android.content.SharedPreferences; import org.apache.taverna.mobile.data.model.User; +import rx.Observable; +import rx.functions.Func0; + public class PreferencesHelper { public static final String PREF_FILE_NAME = "taverna_app_pref_file"; @@ -113,31 +116,39 @@ public class PreferencesHelper { mPref.edit().putString(PREF_KEY_USER_AVATAR, userAvatar).apply(); } - public void saveUserDetail(User user) { - if (user.getElementId() != null) { - setUserID(user.getElementId()); - } - if (user.getName() != null) { - setUserName(user.getName()); - } - if (user.getDescription() != null) { - setUserDescription(user.getDescription()); - } - if (user.getEmail() != null) { - setUserEmail(user.getEmail()); - } - if (user.getAvatar().getResource() != null) { - setUserAvatar(user.getAvatar().getResource()); - } - if (user.getCity() != null) { - setUserCity(user.getCity()); - } - if (user.getCountry() != null) { - setUserCountry(user.getCountry()); - } - if (user.getWebsite() != null) { - setUserWebsite(user.getWebsite()); - } + public Observable<User> saveUserDetail(final User user) { + return Observable.defer(new Func0<Observable<User>>() { + @Override + public Observable<User> call() { + if (user.getElementId() != null) { + setUserID(user.getElementId()); + } + if (user.getName() != null) { + setUserName(user.getName()); + } + if (user.getDescription() != null) { + setUserDescription(user.getDescription()); + } + if (user.getEmail() != null) { + setUserEmail(user.getEmail()); + } + if (user.getAvatar().getResource() != null) { + setUserAvatar(user.getAvatar().getResource()); + } + if (user.getCity() != null) { + setUserCity(user.getCity()); + } + if (user.getCountry() != null) { + setUserCountry(user.getCountry()); + } + if (user.getWebsite() != null) { + setUserWebsite(user.getWebsite()); + } + setLoggedInFlag(true); + return Observable.just(user); + } + }); + } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/aae7e22f/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 dc818ef..cff0eb7 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 @@ -18,6 +18,7 @@ import android.widget.EditText; import org.apache.taverna.mobile.R; import org.apache.taverna.mobile.activities.DashboardMainActivity; import org.apache.taverna.mobile.data.DataManager; +import org.apache.taverna.mobile.data.local.PreferencesHelper; import org.apache.taverna.mobile.data.model.User; import org.apache.taverna.mobile.utils.ConnectionInfo; @@ -48,7 +49,7 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu super.onCreate(savedInstanceState); - dataManager = new DataManager(); + dataManager = new DataManager(new PreferencesHelper(getContext())); mLoginPresenter = new LoginPresenter(dataManager); mConnectionInfo = new ConnectionInfo(getContext()); }
