Skip to content

Commit

Permalink
Click a pad, open it ipso facto. As mentioned in #65.
Browse files Browse the repository at this point in the history
  • Loading branch information
mikifus committed Feb 9, 2024
1 parent 510032c commit 0b1a0fa
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,10 @@ class PadListActivity: AppCompatActivity(),
recyclerViewUnclassified = findViewById(R.id.recyclerview_unclassified)

padGroupViewModel = ViewModelProvider(this)[PadGroupViewModel::class.java]
adapter = PadGroupAdapter(this, this)
adapter = PadGroupAdapter(this, this, getOnItemClickListener())

padViewModel = ViewModelProvider(this)[PadViewModel::class.java]
padAdapter = PadAdapter(this, this)
padAdapter = PadAdapter(this, this, getOnItemClickListener())

recyclerView!!.adapter = adapter
recyclerView!!.layoutManager = LinearLayoutManager(this)
Expand All @@ -113,6 +113,14 @@ class PadListActivity: AppCompatActivity(),
initEvents()
}

private fun getOnItemClickListener(): View.OnClickListener {
return View.OnClickListener{ view: View ->
val padViewIntent = Intent(this, PadViewActivity::class.java)
padViewIntent.putExtra("padId", view.tag as Long)
startActivity(padViewIntent)
}
}

/*
This method shall be used to initialize the list view using observer,
here onChanged shall be triggered realtime as the data changes
Expand Down
12 changes: 9 additions & 3 deletions app/src/main/java/com/mikifus/padland/Adapters/PadAdapter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View
import android.view.View.OnClickListener
import android.view.View.OnTouchListener
import android.view.ViewGroup
import android.widget.TextView
Expand All @@ -19,18 +20,20 @@ import com.mikifus.padland.Database.PadModel.Pad
import com.mikifus.padland.R


class PadAdapter(context: Context, listener: IDragAndDropListener): RecyclerView.Adapter<PadAdapter.PadViewHolder>(){
class PadAdapter(
context: Context,
private val dragAndDropListener: IDragAndDropListener,
private val onClickListener: OnClickListener? = null):
RecyclerView.Adapter<PadAdapter.PadViewHolder>(){

private val mInflater: LayoutInflater
var data: List<Pad> = listOf()
var padGroupId: Long = 0
private val dragAndDropListener: IDragAndDropListener
var tracker: SelectionTracker<Long>? = null
var onTouchListener: OnTouchListener? = null

init {
mInflater = LayoutInflater.from(context)
dragAndDropListener = listener
}

class PadViewHolder(itemView: View) :
Expand Down Expand Up @@ -58,6 +61,9 @@ class PadAdapter(context: Context, listener: IDragAndDropListener): RecyclerView

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PadViewHolder {
val itemView: View = mInflater.inflate(R.layout.pad_list_recyclerview_item_pad, parent, false)

onClickListener?.let { itemView.setOnClickListener(onClickListener) }

return PadViewHolder(itemView)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import android.content.Context
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View
import android.view.View.OnClickListener
import android.view.View.OnTouchListener
import android.view.ViewGroup
import android.widget.TextView
Expand All @@ -23,21 +24,21 @@ import com.mikifus.padland.Database.PadGroupModel.PadGroupsWithPadList
import com.mikifus.padland.R


class PadGroupAdapter(context: Context, listener: IDragAndDropListener):
class PadGroupAdapter(context: Context,
private val dragAndDropListener: IDragAndDropListener,
private val onClickListener: OnClickListener):
RecyclerView.Adapter<PadGroupAdapter.PadGroupViewHolder>() {

private val activityContext: Context

private val mInflater: LayoutInflater
var data: List<PadGroupsWithPadList> = listOf()
private val dragAndDropListener: IDragAndDropListener
private var padAdapterTouchListener: OnTouchListener? = null
var tracker: SelectionTracker<Long>? = null

init {
mInflater = LayoutInflater.from(context)
activityContext = context
dragAndDropListener = listener

initEvents()
}
Expand Down Expand Up @@ -67,7 +68,7 @@ class PadGroupAdapter(context: Context, listener: IDragAndDropListener):
}
}

class PadGroupViewHolder(itemView: View, context: AppCompatActivity, listener: IDragAndDropListener) :
class PadGroupViewHolder(itemView: View, context: Context, listener: IDragAndDropListener, onClickListener: OnClickListener) :
RecyclerView.ViewHolder(itemView) {
val titleTextView: TextView
val itemLayout: ConstraintLayout
Expand All @@ -83,7 +84,7 @@ class PadGroupAdapter(context: Context, listener: IDragAndDropListener):
itemLayout = itemView.findViewById(R.id.pad_list_recyclerview_item_padgroup)
itemLayout.isActivated = true
padListRecyclerView.layoutManager = LinearLayoutManager(context)
padAdapter = PadAdapter(context, listener)
padAdapter = PadAdapter(context, listener, onClickListener)

initListView()
padAdapter.tracker = (context as PadListActivity).makePadSelectionTracker(context, padListRecyclerView, padAdapter)
Expand Down Expand Up @@ -126,7 +127,7 @@ class PadGroupAdapter(context: Context, listener: IDragAndDropListener):

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PadGroupViewHolder {
val itemView: View = mInflater.inflate(R.layout.pad_list_recyclerview_item_padgroup, parent, false)
return PadGroupViewHolder(itemView, activityContext as AppCompatActivity, dragAndDropListener)
return PadGroupViewHolder(itemView, activityContext, dragAndDropListener, onClickListener)
}

override fun onBindViewHolder(holder: PadGroupViewHolder, position: Int) {
Expand Down

0 comments on commit 0b1a0fa

Please sign in to comment.