@@ -16,6 +16,8 @@ import androidx.recyclerview.widget.RecyclerView
16
16
import androidx.navigation.Navigation.findNavController
17
17
import androidx.navigation.fragment.navArgs
18
18
import com.google.android.material.snackbar.Snackbar
19
+ import kotlinx.android.synthetic.main.content_no_internet.view.retry
20
+ import kotlinx.android.synthetic.main.content_no_internet.view.noInternetCard
19
21
import kotlinx.android.synthetic.main.fragment_tickets.ticketsCoordinatorLayout
20
22
import kotlinx.android.synthetic.main.fragment_tickets.view.eventName
21
23
import kotlinx.android.synthetic.main.fragment_tickets.view.organizerName
@@ -32,6 +34,7 @@ import org.fossasia.openevent.general.event.Event
32
34
import org.fossasia.openevent.general.event.EventUtils
33
35
import org.fossasia.openevent.general.utils.Utils.getAnimFade
34
36
import org.fossasia.openevent.general.utils.Utils.getAnimSlide
37
+ import org.fossasia.openevent.general.utils.Utils.isNetworkConnected
35
38
import org.fossasia.openevent.general.utils.extensions.nonNull
36
39
import org.fossasia.openevent.general.utils.nullToEmpty
37
40
import org.koin.androidx.viewmodel.ext.android.viewModel
@@ -120,8 +123,11 @@ class TicketsFragment : Fragment() {
120
123
Snackbar .make(ticketsCoordinatorLayout, it, Snackbar .LENGTH_LONG ).show()
121
124
})
122
125
123
- ticketsViewModel.loadEvent(safeArgs.eventId)
124
- ticketsViewModel.loadTickets(safeArgs.eventId)
126
+ rootView.retry.setOnClickListener {
127
+ loadTickets()
128
+ }
129
+
130
+ loadTickets()
125
131
126
132
return rootView
127
133
}
@@ -194,4 +200,22 @@ class TicketsFragment : Fragment() {
194
200
val alert = builder.create()
195
201
alert.show()
196
202
}
203
+
204
+ private fun loadTickets () {
205
+ if (! isNetworkConnected(context) && ticketsViewModel.tickets.value.isNullOrEmpty())
206
+ showNoInternetScreen(true )
207
+ else {
208
+ showNoInternetScreen(false )
209
+ ticketsViewModel.loadEvent(safeArgs.eventId)
210
+ ticketsViewModel.loadTickets(safeArgs.eventId)
211
+ }
212
+ }
213
+
214
+ private fun showNoInternetScreen (show : Boolean ) {
215
+ rootView.noInternetCard.isVisible = show
216
+ rootView.ticketTableHeader.isVisible = ! show
217
+ rootView.ticketsRecycler.isVisible = ! show
218
+ rootView.progressBarTicket.isVisible = ! show
219
+ rootView.register.isVisible = ! show
220
+ }
197
221
}
0 commit comments