Skip to content

Commit

Permalink
feat: add external event url menu option in EventDetailsFragment
Browse files Browse the repository at this point in the history
Fixes: #1505

Changes:

- Added a menu option to EventDetailsFragment to navigate to the external event url for the event
- If the external URL is null, then the menu option is disabled
  • Loading branch information
addiegupta committed Apr 2, 2019
1 parent c307770 commit 2c4382f
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ import org.fossasia.openevent.general.event.EventUtils.loadMapUrl
import org.fossasia.openevent.general.event.topic.SimilarEventsFragment
import org.fossasia.openevent.general.social.SocialLinksFragment
import org.fossasia.openevent.general.ticket.TicketsFragmentArgs
import org.fossasia.openevent.general.utils.Utils
import org.fossasia.openevent.general.utils.Utils.getAnimSlide
import org.fossasia.openevent.general.utils.Utils.requireDrawable
import org.fossasia.openevent.general.utils.extensions.nonNull
Expand Down Expand Up @@ -95,6 +96,10 @@ class EventDetailsFragment : Fragment() {
setFavoriteIcon(R.drawable.ic_baseline_favorite_white)
}

if (eventShare.externalEventUrl == null) {
disableExternalEventMenuAction()
}

if (runOnce) {
loadSocialLinksFragment()
loadSimilarEventsFragment()
Expand Down Expand Up @@ -294,6 +299,10 @@ class EventDetailsFragment : Fragment() {
reportEvent(eventShare)
return true
}
R.id.open_external_event_url -> {
eventShare.externalEventUrl?.let { Utils.openUrl(requireContext(), it) }
true
}
R.id.favorite_event -> {
eventViewModel.setFavorite(safeArgs.eventId, !(eventShare.favorite))
if (eventShare.favorite) {
Expand Down Expand Up @@ -399,6 +408,10 @@ class EventDetailsFragment : Fragment() {
menuActionBar?.findItem(R.id.favorite_event)?.icon = ContextCompat.getDrawable(requireContext(), id)
}

private fun disableExternalEventMenuAction() {
menuActionBar?.findItem(R.id.open_external_event_url)?.isEnabled = false
}

private fun showEventErrorScreen(show: Boolean) {
rootView.container.isVisible = !show
rootView.eventErrorCard.isVisible = show
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/res/menu/event_details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
<item
android:id="@+id/report_event"
android:title="@string/report_event" />
<item
android:id="@+id/open_external_event_url"
android:title="@string/open_external_event_url"/>
</group>
<item
android:id="@+id/event_share"
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<!--event details-->
<string name="event_card_date">Event Date :</string>
<string name="report_event">Report Event</string>
<string name="open_external_event_url">Open External Event URL</string>
<string name="about">About</string>
<string name="see_more">See more</string>
<string name="see_less">See less</string>
Expand Down

0 comments on commit 2c4382f

Please sign in to comment.