You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
871 B
26 lines
871 B
package com.community.pocket.ui.login;
|
|
|
|
import androidx.lifecycle.ViewModel;
|
|
import androidx.lifecycle.ViewModelProvider;
|
|
import androidx.annotation.NonNull;
|
|
|
|
import com.community.pocket.data.LoginDataSource;
|
|
import com.community.pocket.data.LoginRepository;
|
|
|
|
/**
|
|
* ViewModel provider factory to instantiate LoginViewModel.
|
|
* Required given LoginViewModel has a non-empty constructor
|
|
*/
|
|
public class LoginViewModelFactory implements ViewModelProvider.Factory {
|
|
|
|
@NonNull
|
|
@Override
|
|
@SuppressWarnings("unchecked")
|
|
public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
|
|
if (modelClass.isAssignableFrom(LoginViewModel.class)) {
|
|
return (T) new LoginViewModel(LoginRepository.getInstance(new LoginDataSource()));
|
|
} else {
|
|
throw new IllegalArgumentException("Unknown ViewModel class");
|
|
}
|
|
}
|
|
}
|
|
|