// Path: app/src/main/java/com/wiseass/profiler/data/auth/AuthSource.java
// public interface AuthSource {
// 
//     Completable createAccount(Credentials cred);
// 
//     Completable attemptLogin(Credentials cred);
// 
//     Completable deleteUser();
// 
//     Maybe<User> getUser();
// 
//     Completable logUserOut();
// 
//     Completable reauthenticateUser(String password);
// 
//     void setReturnFail(boolean bool);
// }
// 
// Path: app/src/main/java/com/wiseass/profiler/data/auth/User.java
// public class User {
//     private String email;
//     private String userId;
// 
//     public User(String email, String userId) {
//         this.email = email;
//         this.userId = userId;
//     }
// 
//     public String getEmail() {
//         return email;
//     }
// 
//     public void setEmail(String email) {
//         this.email = email;
//     }
// 
//     public String getUserId() {
//         return userId;
//     }
// 
//     public void setUserId(String userId) {
//         this.userId = userId;
//     }
// }
// 
// Path: app/src/main/java/com/wiseass/profiler/data/database/DatabaseSource.java
// public interface DatabaseSource {
//     /**
//      * Create a profile to write to the Firebase Cloud Database
//      */
//     Completable createProfile(Profile profile);
// 
//     /**
//      *
//      */
//     Maybe<Profile> getProfile(String uid);
// 
//     /**
//      *
//      */
//     Completable deleteProfile(String uid);
// 
//     /**
//      *
//      */
//     Completable updateProfile(Profile profile);
// 
//     void setReturnFail(boolean bool);
// 
//     void setReturnEmpty(boolean bool);
// }
// 
// Path: app/src/main/java/com/wiseass/profiler/util/BaseSchedulerProvider.java
// public interface BaseSchedulerProvider {
// 
//     Scheduler computation();
// 
//     Scheduler io();
// 
//     Scheduler ui();
// }


import com.wiseass.profiler.R;
import com.wiseass.profiler.data.auth.AuthSource;
import com.wiseass.profiler.data.auth.User;
import com.wiseass.profiler.data.database.DatabaseSource;
import com.wiseass.profiler.util.BaseSchedulerProvider;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableCompletableObserver;
import io.reactivex.observers.DisposableMaybeObserver;
package com.wiseass.profiler.profilesettings;



/**
 * Created by Ryan on 14/02/2017.
 */

public class ProfileSettingsPresenter implements ProfileSettingsContract.Presenter {
    private final AuthSource auth;
    private final ProfileSettingsContract.View view;
// Path: app/src/main/java/com/wiseass/profiler/data/auth/AuthSource.java
// public interface AuthSource {
// 
//     Completable createAccount(Credentials cred);
// 
//     Completable attemptLogin(Credentials cred);
// 
//     Completable deleteUser();
// 
//     Maybe<User> getUser();
// 
//     Completable logUserOut();
// 
//     Completable reauthenticateUser(String password);
// 
//     void setReturnFail(boolean bool);
// }
// 
// Path: app/src/main/java/com/wiseass/profiler/data/auth/User.java
// public class User {
//     private String email;
//     private String userId;
// 
//     public User(String email, String userId) {
//         this.email = email;
//         this.userId = userId;
//     }
// 
//     public String getEmail() {
//         return email;
//     }
// 
//     public void setEmail(String email) {
//         this.email = email;
//     }
// 
//     public String getUserId() {
//         return userId;
//     }
// 
//     public void setUserId(String userId) {
//         this.userId = userId;
//     }
// }
// 
// Path: app/src/main/java/com/wiseass/profiler/data/database/DatabaseSource.java
// public interface DatabaseSource {
//     /**
//      * Create a profile to write to the Firebase Cloud Database
//      */
//     Completable createProfile(Profile profile);
// 
//     /**
//      *
//      */
//     Maybe<Profile> getProfile(String uid);
// 
//     /**
//      *
//      */
//     Completable deleteProfile(String uid);
// 
//     /**
//      *
//      */
//     Completable updateProfile(Profile profile);
// 
//     void setReturnFail(boolean bool);
// 
//     void setReturnEmpty(boolean bool);
// }
// 
// Path: app/src/main/java/com/wiseass/profiler/util/BaseSchedulerProvider.java
// public interface BaseSchedulerProvider {
// 
//     Scheduler computation();
// 
//     Scheduler io();
// 
//     Scheduler ui();
// }


// Path: app/src/main/java/com/wiseass/profiler/profilesettings/ProfileSettingsPresenter.java
import com.wiseass.profiler.R;
import com.wiseass.profiler.data.auth.AuthSource;
import com.wiseass.profiler.data.auth.User;
import com.wiseass.profiler.data.database.DatabaseSource;
import com.wiseass.profiler.util.BaseSchedulerProvider;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableCompletableObserver;
import io.reactivex.observers.DisposableMaybeObserver;

package com.wiseass.profiler.profilesettings;



/**
 * Created by Ryan on 14/02/2017.
 */

public class ProfileSettingsPresenter implements ProfileSettingsContract.Presenter {
    private final AuthSource auth;
    private final ProfileSettingsContract.View view;
    private final BaseSchedulerProvider schedulerProvider;