Commit 91b6ef94 authored by wanglei's avatar wanglei

...

parent d2649c9f
......@@ -3,6 +3,8 @@ package com.test.easy.easycleanerjunk.activity
import android.content.Intent
import android.graphics.Color
import androidx.activity.addCallback
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson
import com.test.easy.easycleanerjunk.adapter.WhatsAppMediaAdapter
import com.test.easy.easycleanerjunk.bean.ImageDataBean
......@@ -35,8 +37,16 @@ class WhatsAppMessageCleanActivity : BaseActivity<ActivityWhatsAppMessageCleanBi
val tittle = intent.extras?.getString("Tittle") ?: ""
binding.tvTitle.text = tittle
when(tittle){
"Audio Messages"->{
binding.rv.layoutManager = LinearLayoutManager(this)
}
else->{
binding.rv.layoutManager = GridLayoutManager(this, 3)
}
}
adapter = WhatsAppMediaAdapter() {
adapter = WhatsAppMediaAdapter(true) {
binding.llSelectAll.isSelected = it
binding.tvClean.isEnabled = it
}
......
......@@ -3,12 +3,16 @@ package com.test.easy.easycleanerjunk.adapter
import android.annotation.SuppressLint
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.test.easy.easycleanerjunk.R
import com.test.easy.easycleanerjunk.bean.ImageDataBean
import com.test.easy.easycleanerjunk.databinding.ItemLargeFileBinding
import com.test.easy.easycleanerjunk.databinding.ItemMediaSelectBinding
import com.test.easy.easycleanerjunk.helps.KotlinExt.toFormatSize
import com.test.easy.easycleanerjunk.view.XmlEx.inflate
import java.io.File
class WhatsAppMediaAdapter(
private val isList: Boolean = false,
......@@ -20,8 +24,13 @@ class WhatsAppMediaAdapter(
class WhatMedia(view: View) : RecyclerView.ViewHolder(view)
override fun getItemViewType(position: Int): Int {
return if (isList) 0 else 1
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WhatMedia {
return WhatMedia(R.layout.item_media_select.inflate(parent))
val layout = if (viewType == 0) R.layout.item_large_file else R.layout.item_media_select
return WhatMedia(layout.inflate(parent))
}
override fun getItemCount(): Int {
......@@ -33,23 +42,47 @@ class WhatsAppMediaAdapter(
}
override fun onBindViewHolder(holder: WhatMedia, position: Int, payloads: MutableList<Any>) {
val binding = ItemMediaSelectBinding.bind(holder.itemView)
val context = holder.itemView.context
val bean = beanList[position]
if (payloads.isEmpty()) {
Glide.with(context).load(bean.path).centerCrop().into(binding.iv)
binding.ivSelector.isSelected = bean.isSelect
binding.root.setOnClickListener {
binding.ivSelector.isSelected = !binding.ivSelector.isSelected
bean.isSelect = binding.ivSelector.isSelected
notifyItemChanged(position, "sdd")
click.invoke(beanList.all { it.isSelect })
if (isList) {
val binding = ItemLargeFileBinding.bind(holder.itemView)
if (payloads.isEmpty()) {
binding.iv.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.audiomessages))
val file = File(bean.path)
binding.tvName.text = file.name
binding.tvSize.text = file.length().toFormatSize()
binding.ivSelector.isSelected = bean.isSelect
binding.root.setOnClickListener {
binding.ivSelector.isSelected = !binding.ivSelector.isSelected
bean.isSelect = binding.ivSelector.isSelected
notifyItemChanged(position, "sdd")
click.invoke(beanList.all { it.isSelect })
}
} else {
binding.ivSelector.isSelected = bean.isSelect
super.onBindViewHolder(holder, position, payloads)
}
} else {
binding.ivSelector.isSelected = bean.isSelect
super.onBindViewHolder(holder, position, payloads)
}
val binding = ItemMediaSelectBinding.bind(holder.itemView)
if (payloads.isEmpty()) {
Glide.with(context).load(bean.path).centerCrop().into(binding.iv)
binding.ivSelector.isSelected = bean.isSelect
binding.root.setOnClickListener {
binding.ivSelector.isSelected = !binding.ivSelector.isSelected
bean.isSelect = binding.ivSelector.isSelected
notifyItemChanged(position, "sdd")
click.invoke(beanList.all { it.isSelect })
}
} else {
binding.ivSelector.isSelected = bean.isSelect
super.onBindViewHolder(holder, position, payloads)
}
}
}
@SuppressLint("NotifyDataSetChanged")
......
......@@ -50,8 +50,6 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="3"
tools:listitem="@layout/item_media_select" />
<FrameLayout
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment