WooDroid/app/src/main/java/me/gilo/wc/viewmodels/UserViewModel.java
2019-03-30 06:01:00 +03:00

58 lines
2.0 KiB
Java

package me.gilo.wc.viewmodels;
import android.arch.lifecycle.MutableLiveData;
import android.arch.lifecycle.ViewModel;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import me.gilo.wc.common.CompletionGenericLiveData;
import me.gilo.wc.common.CompletionLiveData;
import me.gilo.wc.common.DocumentLiveData;
import me.gilo.wc.models.User;
import me.gilo.wc.repo.FirebaseUserRepository;
import javax.inject.Inject;
public final class UserViewModel extends ViewModel {
private final MutableLiveData<String> id = new MutableLiveData<>();
private final FirebaseUserRepository firebaseUserRepository;
@Inject
UserViewModel(FirebaseUserRepository firebaseUserRepository) {
this.firebaseUserRepository = firebaseUserRepository;
}
public CompletionGenericLiveData<AuthResult> login(String username, String password) {
return firebaseUserRepository.login(username, password);
}
public CompletionGenericLiveData<AuthResult> firebaseLogin(String email, String password) {
return firebaseUserRepository.login(email, password);
}
public CompletionGenericLiveData<AuthResult> signUp(String email, String password) {
return firebaseUserRepository.signUp(email, password);
}
public CompletionLiveData addUser(User user, OnSuccessListener successListener, OnFailureListener failureListener) {
return firebaseUserRepository.addUser(user, successListener, failureListener);
}
public DocumentLiveData<User> user(String user_id) {
return firebaseUserRepository.user(user_id);
}
public DocumentLiveData<User> user() {
return firebaseUserRepository.user();
}
public CompletionLiveData updateUser(User user) {
user.setId(FirebaseAuth.getInstance().getCurrentUser().getUid());
return firebaseUserRepository.update(user);
}
}