Skip to content

Commit c2401b2

Browse files
Rohan Maityiamareebjamal
authored andcommitted
fix: show ErrorSnackMessage in EventDetailsCoordinatorLayout (#1557)
1 parent 7602c64 commit c2401b2

File tree

3 files changed

+29
-8
lines changed

3 files changed

+29
-8
lines changed

app/src/main/java/org/fossasia/openevent/general/event/EventDetailsFragment.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ import kotlinx.android.synthetic.main.content_fetching_event_error.view.retry
6464
import kotlinx.android.synthetic.main.dialog_feedback.view.feedback
6565
import kotlinx.android.synthetic.main.dialog_feedback.view.feedbackTextInputLayout
6666
import kotlinx.android.synthetic.main.dialog_feedback.view.feedbackrating
67+
import kotlinx.android.synthetic.main.fragment_event.eventCoordinatorLayout
6768
import org.fossasia.openevent.general.CircleTransform
6869
import org.fossasia.openevent.general.R
6970
import org.fossasia.openevent.general.about.AboutEventFragmentArgs
@@ -510,6 +511,9 @@ class EventDetailsFragment : Fragment() {
510511
val bundle = Bundle()
511512
bundle.putLong(EVENT_ID, safeArgs.eventId)
512513
socialLinksFragemnt.arguments = bundle
514+
socialLinksFragemnt.setErrorSnack {
515+
eventCoordinatorLayout.longSnackbar(it)
516+
}
513517
val transaction = childFragmentManager.beginTransaction()
514518
transaction.add(R.id.frameContainerSocial, socialLinksFragemnt).commit()
515519
}
@@ -522,6 +526,9 @@ class EventDetailsFragment : Fragment() {
522526
eventTopicId?.let { bundle.putLong(EVENT_TOPIC_ID, it) }
523527
eventLocation?.let { bundle.putString(EVENT_LOCATION, it) }
524528
similarEventsFragment.arguments = bundle
529+
similarEventsFragment.setErrorSnack {
530+
eventCoordinatorLayout.longSnackbar(it)
531+
}
525532
childFragmentManager.beginTransaction()
526533
.replace(R.id.frameContainerSimilarEvents, similarEventsFragment).commit()
527534
}
@@ -548,7 +555,7 @@ class EventDetailsFragment : Fragment() {
548555
rootView.container.isVisible = !show
549556
rootView.eventErrorCard.isVisible = show
550557
val menuItemSize = menuActionBar?.size() ?: 0
551-
for (i in 0..(menuItemSize - 1)) {
558+
for (i in 0 until menuItemSize) {
552559
menuActionBar?.getItem(i)?.isVisible = !show
553560
}
554561
}

app/src/main/java/org/fossasia/openevent/general/event/topic/SimilarEventsFragment.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import kotlinx.android.synthetic.main.fragment_similar_events.progressBar
1515
import kotlinx.android.synthetic.main.fragment_similar_events.similarEventsDivider
1616
import kotlinx.android.synthetic.main.fragment_similar_events.similarEventsRecycler
1717
import kotlinx.android.synthetic.main.fragment_similar_events.view.similarEventsRecycler
18-
import kotlinx.android.synthetic.main.fragment_similar_events.view.similarEventsCoordinatorLayout
1918
import org.fossasia.openevent.general.R
2019
import org.fossasia.openevent.general.di.Scopes
2120
import org.fossasia.openevent.general.event.Event
@@ -26,7 +25,6 @@ import org.fossasia.openevent.general.common.FavoriteFabClickListener
2625
import org.fossasia.openevent.general.event.EventLayoutType
2726
import org.fossasia.openevent.general.utils.Utils.getAnimSlide
2827
import org.fossasia.openevent.general.utils.extensions.nonNull
29-
import org.jetbrains.anko.design.longSnackbar
3028
import org.koin.android.ext.android.get
3129
import org.koin.androidx.scope.ext.android.bindScope
3230
import org.koin.androidx.scope.ext.android.getOrCreateScope
@@ -43,6 +41,7 @@ class SimilarEventsFragment : Fragment() {
4341
private var similarIdEvents: MutableList<Event> = mutableListOf()
4442
private var similarLocationEvents: MutableList<Event> = mutableListOf()
4543
private var similarEvents: MutableList<Event> = mutableListOf()
44+
private var showErrorSnack: ((String) -> Unit)? = null
4645

4746
override fun onCreate(savedInstanceState: Bundle?) {
4847
super.onCreate(savedInstanceState)
@@ -79,7 +78,7 @@ class SimilarEventsFragment : Fragment() {
7978
similarEventsViewModel.error
8079
.nonNull()
8180
.observe(viewLifecycleOwner, Observer {
82-
rootView.similarEventsCoordinatorLayout.longSnackbar(it)
81+
showErrorSnack?.invoke(it)
8382
})
8483

8584
similarEventsViewModel.progress
@@ -134,6 +133,14 @@ class SimilarEventsFragment : Fragment() {
134133
similarEventsRecycler.isVisible = !similarEvents.isEmpty()
135134
}
136135

136+
/*
137+
function to set errorSnackMessage CallBack, to be invoked ,
138+
to be invoked when snack error is generated
139+
*/
140+
fun setErrorSnack(errorSnack: (String) -> Unit) {
141+
showErrorSnack = errorSnack
142+
}
143+
137144
private fun setUpAdapter() {
138145
similarEvents.clear()
139146
var id: Long

app/src/main/java/org/fossasia/openevent/general/social/SocialLinksFragment.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,13 @@ import androidx.lifecycle.Observer
1111
import androidx.recyclerview.widget.LinearLayoutManager
1212
import kotlinx.android.synthetic.main.fragment_social_links.eventHostDetails
1313
import kotlinx.android.synthetic.main.fragment_social_links.socialLinksRecycler
14-
import kotlinx.android.synthetic.main.fragment_social_links.socialLinksCoordinatorLayout
1514
import kotlinx.android.synthetic.main.fragment_social_links.view.progressBarSocial
16-
import kotlinx.android.synthetic.main.fragment_social_links.view.socialLinksRecycler
1715
import kotlinx.android.synthetic.main.fragment_social_links.view.socialLinkReload
16+
import kotlinx.android.synthetic.main.fragment_social_links.view.socialLinksRecycler
1817
import kotlinx.android.synthetic.main.fragment_social_links.view.socialNoInternet
1918
import org.fossasia.openevent.general.R
2019
import org.fossasia.openevent.general.event.EVENT_ID
2120
import org.fossasia.openevent.general.utils.extensions.nonNull
22-
import org.jetbrains.anko.design.longSnackbar
2321
import org.koin.androidx.viewmodel.ext.android.viewModel
2422
import timber.log.Timber
2523

@@ -29,6 +27,7 @@ class SocialLinksFragment : Fragment() {
2927
private lateinit var rootView: View
3028
private var id: Long = -1
3129
private lateinit var linearLayoutManager: LinearLayoutManager
30+
private var showErrorSnack: ((String) -> Unit)? = null
3231

3332
override fun onCreate(savedInstanceState: Bundle?) {
3433
super.onCreate(savedInstanceState)
@@ -77,7 +76,7 @@ class SocialLinksFragment : Fragment() {
7776
socialLinksViewModel.error
7877
.nonNull()
7978
.observe(viewLifecycleOwner, Observer {
80-
socialLinksCoordinatorLayout.longSnackbar(it)
79+
showErrorSnack?.invoke(it)
8180
})
8281

8382
socialLinksViewModel.internetError
@@ -89,6 +88,14 @@ class SocialLinksFragment : Fragment() {
8988
return rootView
9089
}
9190

91+
/*
92+
function to set errorSnackMessage CallBack, to be invoked ,
93+
to be invoked when snack error is generated
94+
*/
95+
fun setErrorSnack(errorSnack: (String) -> Unit) {
96+
showErrorSnack = errorSnack
97+
}
98+
9299
private fun handleVisibility(socialLinks: List<SocialLink>) {
93100
eventHostDetails.isGone = socialLinks.isEmpty()
94101
socialLinksRecycler.isGone = socialLinks.isEmpty()

0 commit comments

Comments
 (0)