Skip to content

Commit 282f849

Browse files
committed
Merge branch 'submission-1' into dev
2 parents b1b846e + 5344395 commit 282f849

File tree

30 files changed

+1375
-73
lines changed

30 files changed

+1375
-73
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ apply from: '../shared_dependencies.gradle'
99

1010
android {
1111
compileSdkVersion 30
12-
buildToolsVersion "30.0.2"
12+
buildToolsVersion "30.0.3"
1313

1414
defaultConfig {
1515
applicationId "com.riyaldi.gamekuy"

app/src/main/java/com/riyaldi/gamekuy/App.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ import android.app.Application
44
import dagger.hilt.android.HiltAndroidApp
55

66
@HiltAndroidApp
7-
open class App: Application()
7+
class App: Application()

app/src/main/java/com/riyaldi/gamekuy/explore/ExploreFragment.kt

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.util.TypedValue
88
import android.view.*
99
import android.widget.Toast
1010
import androidx.appcompat.widget.SearchView
11+
import androidx.core.view.isInvisible
1112
import androidx.core.view.isVisible
1213
import androidx.fragment.app.Fragment
1314
import androidx.fragment.app.viewModels
@@ -28,7 +29,7 @@ class ExploreFragment : Fragment() {
2829
private val exploreViewModel: ExploreViewModel by viewModels()
2930

3031
private var _binding: FragmentExploreBinding? = null
31-
private val binding get() = _binding!!
32+
private val binding get() = _binding as FragmentExploreBinding
3233

3334
private lateinit var gameAdapter: GameAdapter
3435

@@ -46,6 +47,7 @@ class ExploreFragment : Fragment() {
4647
if (activity != null) {
4748
setHasOptionsMenu(true)
4849
showLoading(false)
50+
showSearchGame(true)
4951

5052
gameAdapter = GameAdapter()
5153

@@ -58,6 +60,23 @@ class ExploreFragment : Fragment() {
5860
startActivity(intent)
5961
}
6062

63+
exploreViewModel.games.observe(viewLifecycleOwner, { games ->
64+
if (games != null) {
65+
when(games) {
66+
is Resource.Loading -> showLoading(true)
67+
is Resource.Success -> {
68+
gameAdapter.setData(games.data)
69+
showLoading(false)
70+
}
71+
is Resource.Error -> {
72+
showNoGame(true)
73+
Toast.makeText(context, "error", Toast.LENGTH_SHORT).show()
74+
showLoading(false)
75+
}
76+
}
77+
}
78+
})
79+
6180
val marginVertical = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16f, resources.displayMetrics)
6281

6382
with(binding.rvExplore){
@@ -81,25 +100,13 @@ class ExploreFragment : Fragment() {
81100
searchView.queryHint = "Cari game"
82101
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
83102
override fun onQueryTextSubmit(query: String?): Boolean {
103+
showSearchGame(false)
104+
showNoGame(false)
105+
showLoading(true)
84106

85107
if (query != null) {
86108
lifecycleScope.launch {
87109
exploreViewModel.searchGames(query)
88-
exploreViewModel.games.observe(viewLifecycleOwner, { games ->
89-
if (games != null) {
90-
when(games) {
91-
is Resource.Loading -> showLoading(true)
92-
is Resource.Success -> {
93-
gameAdapter.setData(games.data)
94-
showLoading(false)
95-
}
96-
is Resource.Error -> {
97-
Toast.makeText(context, "error", Toast.LENGTH_SHORT).show()
98-
showLoading(false)
99-
}
100-
}
101-
}
102-
})
103110
}
104111
}
105112
return true
@@ -113,6 +120,18 @@ class ExploreFragment : Fragment() {
113120

114121
private fun showLoading(state: Boolean) {
115122
binding.pbExplore.isVisible = state
123+
binding.rvExplore.isInvisible = state
124+
}
125+
126+
private fun showSearchGame(state: Boolean) {
127+
binding.ivSearchGame.isVisible = state
128+
binding.tvSearchGame.isVisible = state
129+
binding.rvExplore.isVisible = !state
130+
}
131+
132+
private fun showNoGame(state: Boolean) {
133+
binding.ivNoGame.isVisible = state
134+
binding.tvNoGame.isVisible = state
116135
binding.rvExplore.isVisible = !state
117136
}
118137

app/src/main/java/com/riyaldi/gamekuy/explore/ExploreViewModel.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import androidx.lifecycle.LiveData
55
import androidx.lifecycle.MutableLiveData
66
import androidx.lifecycle.ViewModel
77
import com.riyaldi.core.data.Resource
8-
import com.riyaldi.core.data.source.local.entity.GameEntity
98
import com.riyaldi.core.domain.model.Game
109
import com.riyaldi.core.domain.usecase.GameUseCase
1110

app/src/main/java/com/riyaldi/gamekuy/home/HomeFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class HomeFragment : Fragment() {
2525
private val homeViewModel: HomeViewModel by viewModels()
2626

2727
private var _binding: FragmentHomeBinding? = null
28-
private val binding get() = _binding!!
28+
private val binding get() = _binding as FragmentHomeBinding
2929

3030
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
3131
_binding = FragmentHomeBinding.inflate(inflater, container, false)

0 commit comments

Comments
 (0)