Skip to content

Commit

Permalink
Update SeatClickListener.kt and SeatLongClickListener.kt
Browse files Browse the repository at this point in the history
  • Loading branch information
JahidHasanCO committed Aug 25, 2022
1 parent af9d1ed commit 13a916c
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 32 deletions.
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import androidx.core.content.withStyledAttributes
class SeatBookView
@JvmOverloads
constructor(context: Context, attrs: AttributeSet? = null) :
LinearLayout(context, attrs) {
LinearLayout(context, attrs){

private lateinit var viewGroupLayout: ViewGroup
private var seats = ""
Expand Down Expand Up @@ -283,6 +283,15 @@ constructor(context: Context, attrs: AttributeSet? = null) :
return seatViewList[id - 1]
}

public fun setSeatClickListener(listener: SeatClickListener) {
this.listener = listener
}

public fun setSeatLongClickListener(listener: SeatLongClickListener) {
this.listenerLong = listener
}


fun show() {
val layoutSeat = LinearLayout(context)
val params = LayoutParams(
Expand Down Expand Up @@ -404,60 +413,43 @@ constructor(context: Context, attrs: AttributeSet? = null) :
selectedIdList.remove(view.id)
view.setBackgroundResource(bookDrawable)
selectedSeats--
listener!!.onAvailableSeatClick(selectedIdList, view)

listener?.onAvailableSeatClick(selectedIdList, view)

} else {
if (selectedSeats < selectSeatLimit) {
selectedIdList.add(view.id)
view.setBackgroundResource(selectedDrawable)
selectedSeats++
listener!!.onAvailableSeatClick(selectedIdList, view)

listener?.onAvailableSeatClick(selectedIdList, view)

}

}
} else if (view.tag as Int == STATUS_BOOKED) {
listener!!.onBookedSeatClick(view)
listener?.onBookedSeatClick(view)

} else if (view.tag as Int == STATUS_RESERVED) {
listener!!.onReservedSeatClick(view)
listener?.onReservedSeatClick(view)
}
}

private fun seatLongClick(view: View): Boolean {
if (view.tag as Int == STATUS_AVAILABLE) {
listenerLong!!.onAvailableSeatLongClick(view)
listenerLong?.onAvailableSeatLongClick(view)
return true
} else if (view.tag as Int == STATUS_BOOKED) {
listenerLong!!.onBookedSeatLongClick(view)
listenerLong?.onBookedSeatLongClick(view)
return true
} else if (view.tag as Int == STATUS_RESERVED) {
listenerLong!!.onReservedSeatLongClick(view)
listenerLong?.onReservedSeatLongClick(view)
return true
}
return false
}


fun setSeatClickListener(listener: SeatClickListener) {
this.listener = listener
}

fun setSeatLongClickListener(listener: SeatLongClickListener) {
this.listenerLong = listener
}


interface SeatClickListener {
fun onAvailableSeatClick(selectedIdList: List<Int>, view: View)
fun onBookedSeatClick(view: View)
fun onReservedSeatClick(view: View)
}

interface SeatLongClickListener {
fun onAvailableSeatLongClick(view: View)
fun onBookedSeatLongClick(view: View)
fun onReservedSeatLongClick(view: View)
}


}


Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package dev.jahidhasanco.seatbookview

import android.view.View


interface SeatClickListener {
fun onAvailableSeatClick(selectedIdList: List<Int>, view: View)
fun onBookedSeatClick(view: View)
fun onReservedSeatClick(view: View)
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package dev.jahidhasanco.seatbookview

import android.view.View

interface SeatLongClickListener {
fun onAvailableSeatLongClick(view: View)
fun onBookedSeatLongClick(view: View)
fun onReservedSeatLongClick(view: View)
}
6 changes: 4 additions & 2 deletions app/src/main/java/dev/jahidhasanco/demo_app/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.setPadding
import dev.jahidhasanco.seatbookview.SeatBookView
import dev.jahidhasanco.seatbookview.SeatClickListener
import dev.jahidhasanco.seatbookview.SeatLongClickListener


class MainActivity : AppCompatActivity() {
Expand Down Expand Up @@ -73,7 +75,7 @@ class MainActivity : AppCompatActivity() {
this.setPadding(5)
}

seatBookView.setSeatClickListener(object : SeatBookView.SeatClickListener {
seatBookView.setSeatClickListener(object : SeatClickListener {

override fun onAvailableSeatClick(selectedIdList: List<Int>, view: View) {

Expand All @@ -90,7 +92,7 @@ class MainActivity : AppCompatActivity() {

})

seatBookView.setSeatLongClickListener(object:SeatBookView.SeatLongClickListener{
seatBookView.setSeatLongClickListener(object:SeatLongClickListener{

override fun onAvailableSeatLongClick(view: View) {
Toast.makeText(this@MainActivity,"Long Pressed",Toast.LENGTH_SHORT).show()
Expand Down

0 comments on commit 13a916c

Please sign in to comment.