Skip to content

Instantly share code, notes, and snippets.

View nizarfadlan's full-sized avatar

Nizar Izzuddin Yatim Fadlan nizarfadlan

View GitHub Profile
@nizarfadlan
nizarfadlan / FollowFragment.kt
Last active April 1, 2024 13:31
FollowFragment
class FollowFragment : Fragment() {
private var _binding: FragmentFollowBinding? = null
private val binding get() = _binding!!
private var username: String? = null
private var position: Int? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
arguments?.let {
class GithubRepository private constructor(
private val favoriteDao: FavoriteDao
) {
suspend fun insertFavoriteUser(data: FavoriteUser) {
favoriteDao.insertFavorite(data)
}
suspend fun deleteFavoriteUser(username: String) {
favoriteDao.deleteFavorite(username)
}
@nizarfadlan
nizarfadlan / viewModelFactory.kt
Created April 5, 2024 10:39
ViewModelFactory
class ViewModelFactory private constructor(
private val githubRepository: GithubRepository
) :
ViewModelProvider.NewInstanceFactory() {
@Suppress("UNCHECKED_CAST")
override fun <T : ViewModel> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(DetailViewModel::class.java)) {
return DetailViewModel(githubRepository) as T
}