Explorar el Código

+ WA888 change UI Main in progress

Dola TENG hace 2 años
padre
commit
b7a8836997

+ 3 - 2
app/src/main/java/com/khmer9/yuki/adapter/MainModuleAdapter.kt

@@ -6,16 +6,17 @@ import androidx.recyclerview.widget.RecyclerView
 import com.gdtlib.lib.adapter.BaseListAdapter
 import com.khmer9.yuki.R
 import com.khmer9.yuki.screen.main.MainModuleViewHolder
-import com.khmer9.yuki.screen.report.bettingStatement.ReportBettingViewHolder
 
 class MainModuleAdapter : BaseListAdapter() {
+    var detailButtonListener: ((String, String, Int) -> Unit)? = null
+
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
         return MainModuleViewHolder(
             LayoutInflater.from(parent.context).inflate(
                 R.layout.layout_main_module,
                 parent,
                 false
-            )
+            ), detailButtonListener
         )
     }
 }

+ 6 - 2
app/src/main/java/com/khmer9/yuki/screen/main/MainFragment.kt

@@ -7,7 +7,6 @@ import android.os.Bundle
 import android.util.Log
 import android.view.View
 import android.widget.Toast
-import androidx.core.view.isVisible
 import androidx.lifecycle.Observer
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
@@ -21,7 +20,6 @@ import com.khmer9.yuki.remote.User
 import com.khmer9.yuki.remote.service.ConnectivityStates
 import com.khmer9.yuki.screen.report.StatementFragment
 import com.khmer9.yuki.screen.splash.SplashScreenActivity
-import kotlinx.android.synthetic.main.fragment_report.*
 
 class MainFragment : BaseFragment(R.layout.layout_fragment_main_yuki) {
     private val shareViewModel = App.injectShareViewModel()
@@ -98,6 +96,12 @@ class MainFragment : BaseFragment(R.layout.layout_fragment_main_yuki) {
             recyclerView.setHasFixedSize(true)
             recyclerView.layoutManager = LinearLayoutManager(context)
             recyclerView.adapter = adapter
+
+            adapter.detailButtonListener = { id, appId, sub ->
+                if (!id.isNullOrEmpty()) {
+                    Log.d("MainModuleClick", id + "-" + appId + "-" + sub)
+                }
+            }
         }
     }
 

+ 11 - 1
app/src/main/java/com/khmer9/yuki/screen/main/MainModuleViewHolder.kt

@@ -5,16 +5,20 @@ import android.widget.ImageView
 import android.widget.TextView
 import com.gdtlib.lib.adapter.BaseListItem
 import com.gdtlib.lib.viewholder.BaseListViewHolder
+import com.google.android.material.card.MaterialCardView
 import com.khmer9.yuki.R
+import com.khmer9.yuki.extension.btnClick
+import com.khmer9.yuki.extension.setSafeOnClickListener
 import com.khmer9.yuki.remote.ModuleData
 import com.squareup.picasso.Picasso
 
-class MainModuleViewHolder(itemView: View) : BaseListViewHolder(itemView) {
+class MainModuleViewHolder(itemView: View, private val detailButtonListener: ((String, String, Int) -> Unit)? = null) : BaseListViewHolder(itemView) {
     private val picasso = Picasso.get()
 
     override fun bindView(item: BaseListItem) {
         val imgIcon = itemView.findViewById<ImageView>(R.id.img_icon)
         val tvName = itemView.findViewById<TextView>(R.id.tv_name)
+        val itemModule = itemView.findViewById<MaterialCardView>(R.id.item_module)
 
         if (item is ModuleData) {
             tvName.text = item.name
@@ -43,6 +47,12 @@ class MainModuleViewHolder(itemView: View) : BaseListViewHolder(itemView) {
                     .into(imgIcon)
             } catch (e: Exception) {
             }
+
+            itemModule.setSafeOnClickListener {
+                it.btnClick().subscribe {
+                    detailButtonListener?.invoke(item.id, item.appId, item.numberSub)
+                }
+            }
         }
     }
 }

+ 1 - 0
app/src/main/res/layout/layout_main_module.xml

@@ -7,6 +7,7 @@
     android:padding="4dp">
 
     <com.google.android.material.card.MaterialCardView
+        android:id="@+id/item_module"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:clickable="true"