Skip to content

Commit 257e0bd

Browse files
authored
Merge branch 'development' into 1491_no_internet_tickets
2 parents d853df6 + 1ee0e2d commit 257e0bd

File tree

13 files changed

+68
-4
lines changed

13 files changed

+68
-4
lines changed

.github/release-drafter.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name-template: v$NEXT_PATCH_VERSION 🌈
2+
tag-template: v$NEXT_PATCH_VERSION
3+
categories:
4+
- title: 🚀 Features
5+
label: feature
6+
- title: 🐛 Bug Fixes
7+
label: fix
8+
- title: 🧰 Maintenance
9+
label: chore
10+
change-template: '- $TITLE (#$NUMBER) - @$AUTHOR'
11+
template: |
12+
## Changes
13+
14+
$CHANGES
15+
16+
## Contributors
17+
18+
Thanks a lot to our contributors for making this release possible:
19+
$CONTRIBUTORS

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class EventViewHolder(override val containerView: View) : RecyclerView.ViewHolde
4343
event: Event,
4444
dateFormat: String
4545
) {
46+
containerView.eventImage.setImageResource(R.drawable.header)
4647
containerView.eventName.text = event.name
4748
containerView.locationName.text = event.locationName
4849

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import androidx.appcompat.app.AppCompatActivity
1010
import androidx.core.view.isVisible
1111
import androidx.fragment.app.Fragment
1212
import androidx.lifecycle.Observer
13-
import androidx.recyclerview.widget.LinearLayoutManager
13+
import androidx.recyclerview.widget.GridLayoutManager
1414
import androidx.navigation.Navigation.findNavController
1515
import com.google.android.material.snackbar.Snackbar
1616
import kotlinx.android.synthetic.main.content_no_internet.view.noInternetCard
@@ -96,7 +96,8 @@ class EventsFragment : Fragment(), ScrollToTop {
9696

9797
rootView.progressBar.isIndeterminate = true
9898

99-
rootView.eventsRecycler.layoutManager = LinearLayoutManager(activity)
99+
rootView.eventsRecycler.layoutManager =
100+
GridLayoutManager(activity, resources.getInteger(R.integer.events_column_count))
100101

101102
rootView.eventsRecycler.adapter = eventsListAdapter
102103
rootView.eventsRecycler.isNestedScrollingEnabled = false

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ class SimilarEventsFragment : Fragment() {
171171

172172
handleVisibility(similarEvents)
173173
Timber.d("Fetched Similar events of size %s", similarEvents.size)
174+
if (similarEventsListAdapter.currentList.size != similarEvents.size) similarEvents.shuffle()
174175
similarEventsListAdapter.submitList(similarEvents)
175176
similarEventsListAdapter.notifyDataSetChanged()
176177
}

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import kotlinx.android.synthetic.main.item_ticket.view.ticketName
1111

1212
class TicketViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
1313

14-
fun bind(ticket: Ticket, selectedListener: TicketSelectedListener?, eventCurrency: String?) {
14+
fun bind(ticket: Ticket, selectedListener: TicketSelectedListener?, eventCurrency: String?, ticketQuantity: Int) {
1515
itemView.ticketName.text = ticket.name
1616

1717
if (ticket.minOrder > 0 && ticket.maxOrder > 0) {
@@ -31,6 +31,11 @@ class TicketViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
3131
}
3232
itemView.orderRange.adapter = ArrayAdapter(itemView.context, android.R.layout.select_dialog_singlechoice,
3333
spinnerList)
34+
val currentQuantityPosition = spinnerList.indexOf(ticketQuantity.toString())
35+
if (currentQuantityPosition != -1) {
36+
itemView.orderRange.setSelection(currentQuantityPosition)
37+
itemView.order.text = ticketQuantity.toString()
38+
}
3439
}
3540

3641
itemView.order.setOnClickListener {

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ class TicketsFragment : Fragment() {
5454
val ticketSelectedListener = object : TicketSelectedListener {
5555
override fun onSelected(ticketId: Int, quantity: Int) {
5656
handleTicketSelect(ticketId, quantity)
57+
ticketsViewModel.ticketIdAndQty.value = ticketIdAndQty
5758
}
5859
}
5960
ticketsRecyclerAdapter.setSelectListener(ticketSelectedListener)
@@ -208,6 +209,15 @@ class TicketsFragment : Fragment() {
208209
showNoInternetScreen(false)
209210
ticketsViewModel.loadEvent(safeArgs.eventId)
210211
ticketsViewModel.loadTickets(safeArgs.eventId)
212+
213+
val retainedTicketIdAndQty: List<Pair<Int, Int>>? = ticketsViewModel.ticketIdAndQty.value
214+
if (retainedTicketIdAndQty != null) {
215+
for (idAndQty in retainedTicketIdAndQty) {
216+
handleTicketSelect(idAndQty.first, idAndQty.second)
217+
}
218+
ticketsRecyclerAdapter.setTicketAndQty(retainedTicketIdAndQty)
219+
ticketsRecyclerAdapter.notifyDataSetChanged()
220+
}
211221
}
212222
}
213223

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class TicketsRecyclerAdapter : RecyclerView.Adapter<TicketViewHolder>() {
1010
private val tickets = ArrayList<Ticket>()
1111
private var eventCurrency: String? = null
1212
private var selectedListener: TicketSelectedListener? = null
13+
private lateinit var ticketAndQuantity: List<Pair<Int, Int>>
1314

1415
fun addAll(ticketList: List<Ticket>) {
1516
if (tickets.isNotEmpty())
@@ -32,12 +33,17 @@ class TicketsRecyclerAdapter : RecyclerView.Adapter<TicketViewHolder>() {
3233

3334
override fun onBindViewHolder(holder: TicketViewHolder, position: Int) {
3435
val event = tickets[position]
35-
holder.bind(event, selectedListener, eventCurrency)
36+
holder.bind(event, selectedListener, eventCurrency,
37+
if ((this::ticketAndQuantity.isInitialized)) ticketAndQuantity.get(position).second else 0)
3638
}
3739

3840
override fun getItemCount(): Int {
3941
return tickets.size
4042
}
43+
44+
fun setTicketAndQty(ticketAndQty: List<Pair<Int, Int>>) {
45+
ticketAndQuantity = ticketAndQty
46+
}
4147
}
4248

4349
interface TicketSelectedListener {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class TicketsViewModel(
2929
val event: LiveData<Event> = mutableEvent
3030
private val mutableTicketTableVisibility = MutableLiveData<Boolean>()
3131
val ticketTableVisibility: LiveData<Boolean> = mutableTicketTableVisibility
32+
val ticketIdAndQty = MutableLiveData<List<Pair<Int, Int>>>()
3233

3334
fun isLoggedIn() = authHolder.isLoggedIn()
3435

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<integer name="events_column_count">2</integer>
4+
</resources>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<integer name="events_column_count">4</integer>
4+
</resources>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<dimen name="layout_margin_medium">16dp</dimen>
4+
</resources>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<integer name="events_column_count">3</integer>
4+
</resources>

app/src/main/res/values/integers.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<integer name="events_column_count">1</integer>
4+
</resources>

0 commit comments

Comments
 (0)