Skip to content

Commit d853df6

Browse files
committed
Summary Change: Add no internet view on TicketsFragment
Detail: Add no internet card on Ticket Fragment and show it when there is no internet and no tickets retained in view model Fixes: #1491
1 parent 4966b07 commit d853df6

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

app/src/main/java/org/fossasia/openevent/general/ticket/TicketsFragment.kt

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import androidx.recyclerview.widget.RecyclerView
1616
import androidx.navigation.Navigation.findNavController
1717
import androidx.navigation.fragment.navArgs
1818
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
1921
import kotlinx.android.synthetic.main.fragment_tickets.ticketsCoordinatorLayout
2022
import kotlinx.android.synthetic.main.fragment_tickets.view.eventName
2123
import kotlinx.android.synthetic.main.fragment_tickets.view.organizerName
@@ -32,6 +34,7 @@ import org.fossasia.openevent.general.event.Event
3234
import org.fossasia.openevent.general.event.EventUtils
3335
import org.fossasia.openevent.general.utils.Utils.getAnimFade
3436
import org.fossasia.openevent.general.utils.Utils.getAnimSlide
37+
import org.fossasia.openevent.general.utils.Utils.isNetworkConnected
3538
import org.fossasia.openevent.general.utils.extensions.nonNull
3639
import org.fossasia.openevent.general.utils.nullToEmpty
3740
import org.koin.androidx.viewmodel.ext.android.viewModel
@@ -120,8 +123,11 @@ class TicketsFragment : Fragment() {
120123
Snackbar.make(ticketsCoordinatorLayout, it, Snackbar.LENGTH_LONG).show()
121124
})
122125

123-
ticketsViewModel.loadEvent(safeArgs.eventId)
124-
ticketsViewModel.loadTickets(safeArgs.eventId)
126+
rootView.retry.setOnClickListener {
127+
loadTickets()
128+
}
129+
130+
loadTickets()
125131

126132
return rootView
127133
}
@@ -194,4 +200,22 @@ class TicketsFragment : Fragment() {
194200
val alert = builder.create()
195201
alert.show()
196202
}
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+
}
197221
}

app/src/main/res/layout/fragment_tickets.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
android:layout_marginTop="@dimen/layout_margin_large"
133133
android:layout_marginBottom="@dimen/layout_margin_large"
134134
android:text="@string/register" />
135+
<include layout="@layout/content_no_internet" />
135136
</LinearLayout>
136137
</androidx.coordinatorlayout.widget.CoordinatorLayout>
137138
</androidx.core.widget.NestedScrollView>

0 commit comments

Comments
 (0)