Advertisement
Guest User

Untitled

a guest
Mar 4th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. public class LoginViewModel extends AndroidViewModel {
  2.  
  3. private UserRepository userRepository;
  4.  
  5. private MutableLiveData<String> user;
  6. private MutableLiveData<String> password;
  7. private MutableLiveData<String> email;
  8.  
  9. private MutableLiveData<Resource<User>> userObservable;
  10.  
  11. @Inject
  12. public LoginViewModel(@NonNull Application application){
  13. super(application);
  14.  
  15. this.userRepository = new UserRepository();
  16. }
  17.  
  18. public MutableLiveData<String> getUser() {
  19. if(user == null)
  20. user = new MutableLiveData<>();
  21. return user;
  22. }
  23.  
  24. public MutableLiveData<String> getPassword() {
  25. if(password == null)
  26. password = new MutableLiveData<>();
  27. return password;
  28. }
  29.  
  30. public MutableLiveData<String> getEmail() {
  31. if(email == null)
  32. email = new MutableLiveData<>();
  33. return email;
  34. }
  35.  
  36. public void loginOnClickListener(){
  37.  
  38. User user = new User(getUser().getValue(), getPassword().getValue(), getEmail().getValue());
  39.  
  40. userRepository.saveUser(user, userObservable);
  41. }
  42. }
  43.  
  44. @Override
  45. public void onActivityCreated(Bundle savedInstanceState) {
  46. super.onActivityCreated(savedInstanceState);
  47.  
  48. loginViewModel = ViewModelProviders.of(getActivity(), viewModelFactory).get(LoginViewModel.class);
  49. binding.setLoginViewModel(loginViewModel);
  50.  
  51. observeViewModel();
  52. }
  53.  
  54. private void observeViewModel(){
  55.  
  56. loginViewModel.getUser().observe(this, user -> {
  57.  
  58. String coco = user;
  59.  
  60. });
  61.  
  62. loginViewModel.getPassword().observe(this, user -> {
  63.  
  64. String coco = user;
  65.  
  66. });
  67.  
  68. loginViewModel.getEmail().observe(this, user -> {
  69.  
  70. String coco = user;
  71.  
  72. });
  73. }
  74.  
  75. <android.support.design.widget.TextInputLayout
  76. android:id="@+id/userLayout"
  77. android:layout_width="match_parent"
  78. android:layout_height="wrap_content"
  79. android:layout_marginLeft="16dp"
  80. android:layout_marginRight="16dp"
  81. android:layout_marginTop="96dp"
  82. app:layout_constraintEnd_toEndOf="parent"
  83. app:layout_constraintStart_toStartOf="parent"
  84. app:layout_constraintTop_toTopOf="parent">
  85.  
  86. <android.support.design.widget.TextInputEditText
  87. android:id="@+id/txtUserValue"
  88. android:layout_width="match_parent"
  89. android:layout_height="wrap_content"
  90. android:hint="@string/user"
  91. android:text="@{loginViewModel.user}"
  92. android:inputType="text"/>
  93. </android.support.design.widget.TextInputLayout>
  94.  
  95. <android.support.design.widget.TextInputLayout
  96. android:id="@+id/passwordLayout"
  97. android:layout_width="match_parent"
  98. android:layout_height="wrap_content"
  99. android:layout_marginLeft="16dp"
  100. android:layout_marginRight="16dp"
  101. android:layout_marginTop="8dp"
  102. app:layout_constraintEnd_toEndOf="parent"
  103. app:layout_constraintStart_toStartOf="parent"
  104. app:layout_constraintTop_toBottomOf="@+id/userLayout">
  105.  
  106. <android.support.design.widget.TextInputEditText
  107. android:id="@+id/txtPasswordValue"
  108. android:layout_width="match_parent"
  109. android:layout_height="wrap_content"
  110. android:hint="@string/password"
  111. android:text="@{loginViewModel.password}"
  112. android:inputType="textPassword"/>
  113. </android.support.design.widget.TextInputLayout>
  114.  
  115. <android.support.design.widget.TextInputLayout
  116. android:id="@+id/emailLayout"
  117. android:layout_width="match_parent"
  118. android:layout_height="wrap_content"
  119. android:layout_marginLeft="16dp"
  120. android:layout_marginRight="16dp"
  121. android:layout_marginTop="8dp"
  122. app:layout_constraintEnd_toEndOf="parent"
  123. app:layout_constraintStart_toStartOf="parent"
  124. app:layout_constraintTop_toBottomOf="@+id/passwordLayout">
  125.  
  126. <android.support.design.widget.TextInputEditText
  127. android:id="@+id/txtEmailValue"
  128. android:layout_width="match_parent"
  129. android:layout_height="wrap_content"
  130. android:hint="@string/email"
  131. android:text="@{loginViewModel.email}"
  132. android:inputType="textWebEmailAddress"/>
  133. </android.support.design.widget.TextInputLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement