Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
D
Data Recovery White
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Data Recovery White
Commits
f375de24
Commit
f375de24
authored
Jul 08, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...ui
parent
7304dac9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
435 additions
and
435 deletions
+435
-435
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+12
-12
WhatsAppCleanerActivity.kt
...datarecovery/activity/whatsapp/WhatsAppCleanerActivity.kt
+137
-137
WhatsAppMessageCleanActivity.kt
...ecovery/activity/whatsapp/WhatsAppMessageCleanActivity.kt
+96
-96
WhatsAppCleanerAdapter.kt
...a/com/base/datarecovery/adapter/WhatsAppCleanerAdapter.kt
+82
-82
WhatsAppMediaAdapter.kt
...ava/com/base/datarecovery/adapter/WhatsAppMediaAdapter.kt
+108
-108
No files found.
app/src/main/AndroidManifest.xml
View file @
f375de24
...
@@ -34,18 +34,18 @@
...
@@ -34,18 +34,18 @@
android:launchMode=
"singleTop"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
<!-- <activity-->
android:name=
".activity.whatsapp.WhatsAppCleanerActivity"
<!-- android:name=".activity.whatsapp.WhatsAppCleanerActivity"-->
android:exported=
"false"
<!-- android:exported="false"-->
android:launchMode=
"singleTop"
<!-- android:launchMode="singleTop"-->
android:screenOrientation=
"portrait"
<!-- android:screenOrientation="portrait"-->
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/
>
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" />--
>
<
activity
<
!-- <activity-->
android:name=
".activity.whatsapp.WhatsAppMessageCleanActivity"
<!-- android:name=".activity.whatsapp.WhatsAppMessageCleanActivity"-->
android:exported=
"false"
<!-- android:exported="false"-->
android:launchMode=
"singleTop"
<!-- android:launchMode="singleTop"-->
android:screenOrientation=
"portrait"
<!-- android:screenOrientation="portrait"-->
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/
>
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" />--
>
<activity
<activity
android:name=
".activity.MainActivity"
android:name=
".activity.MainActivity"
android:exported=
"false"
android:exported=
"false"
...
...
app/src/main/java/com/base/datarecovery/activity/whatsapp/WhatsAppCleanerActivity.kt
View file @
f375de24
This diff is collapsed.
Click to expand it.
app/src/main/java/com/base/datarecovery/activity/whatsapp/WhatsAppMessageCleanActivity.kt
View file @
f375de24
package
com.base.datarecovery.activity.whatsapp
//package com.base.datarecovery.activity.whatsapp
//
import
android.content.Intent
//import android.content.Intent
import
android.graphics.Color
//import android.graphics.Color
import
androidx.activity.addCallback
//import androidx.activity.addCallback
import
androidx.recyclerview.widget.GridLayoutManager
//import androidx.recyclerview.widget.GridLayoutManager
import
androidx.recyclerview.widget.LinearLayoutManager
//import androidx.recyclerview.widget.LinearLayoutManager
import
com.base.datarecovery.adapter.WhatsAppMediaAdapter
//import com.base.datarecovery.adapter.WhatsAppMediaAdapter
import
com.base.datarecovery.ads.AdmobInterstitialUtils
//import com.base.datarecovery.ads.AdmobInterstitialUtils
import
com.base.datarecovery.ads.AdmobNativeUtils
//import com.base.datarecovery.ads.AdmobNativeUtils
import
com.base.datarecovery.bean.MediaBean
//import com.base.datarecovery.bean.MediaBean
import
com.base.datarecovery.databinding.ActivityWhatsAppMessageCleanBinding
//import com.base.datarecovery.databinding.ActivityWhatsAppMessageCleanBinding
import
com.base.datarecovery.help.BaseActivity
//import com.base.datarecovery.help.BaseActivity
import
com.base.datarecovery.help.KotlinExt.toFormatSize
//import com.base.datarecovery.help.KotlinExt.toFormatSize
import
com.base.datarecovery.utils.BarUtils
//import com.base.datarecovery.utils.BarUtils
import
com.google.gson.Gson
//import com.google.gson.Gson
import
java.io.File
//import java.io.File
//
class
WhatsAppMessageCleanActivity
:
BaseActivity
<
ActivityWhatsAppMessageCleanBinding
>()
{
//class WhatsAppMessageCleanActivity : BaseActivity<ActivityWhatsAppMessageCleanBinding>() {
//
private
val
pathList
by
lazy
{
// private val pathList by lazy {
val
json
=
intent
.
extras
?.
getString
(
"PathList"
)
// val json = intent.extras?.getString("PathList")
val
list
=
Gson
().
fromJson
(
json
,
Array
<
String
>
::
class
.
java
)
// val list = Gson().fromJson(json, Array<String>::class.java)
list
.
map
{
MediaBean
(
it
)
}
// list.map { MediaBean(it) }
}
// }
private
lateinit
var
adapter
:
WhatsAppMediaAdapter
// private lateinit var adapter: WhatsAppMediaAdapter
//
override
val
binding
:
ActivityWhatsAppMessageCleanBinding
by
lazy
{
// override val binding: ActivityWhatsAppMessageCleanBinding by lazy {
ActivityWhatsAppMessageCleanBinding
.
inflate
(
layoutInflater
)
// ActivityWhatsAppMessageCleanBinding.inflate(layoutInflater)
}
// }
//
//
override
fun
initView
()
{
// override fun initView() {
BarUtils
.
setStatusBarLightMode
(
this
,
true
)
// BarUtils.setStatusBarLightMode(this, true)
BarUtils
.
setStatusBarColor
(
this
,
Color
.
TRANSPARENT
)
// BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
//
val
tittle
=
intent
.
extras
?.
getString
(
"Tittle"
)
?:
""
// val tittle = intent.extras?.getString("Tittle") ?: ""
binding
.
tvTitle
.
text
=
tittle
// binding.tvTitle.text = tittle
//
var
isList
=
false
// var isList = false
when
(
tittle
)
{
// when (tittle) {
"Audio Messages"
->
{
// "Audio Messages" -> {
binding
.
rv
.
layoutManager
=
LinearLayoutManager
(
this
)
// binding.rv.layoutManager = LinearLayoutManager(this)
isList
=
true
// isList = true
}
// }
//
else
->
{
// else -> {
binding
.
rv
.
layoutManager
=
GridLayoutManager
(
this
,
3
)
// binding.rv.layoutManager = GridLayoutManager(this, 3)
}
// }
}
// }
//
adapter
=
WhatsAppMediaAdapter
(
isList
)
{
// adapter = WhatsAppMediaAdapter(isList) {
binding
.
llSelectAll
.
isSelected
=
it
// binding.llSelectAll.isSelected = it
binding
.
tvClean
.
isEnabled
=
adapter
.
getSelectData
().
isNotEmpty
()
// binding.tvClean.isEnabled = adapter.getSelectData().isNotEmpty()
val
split
=
adapter
.
getSelectDataSize
().
toFormatSize
().
split
(
" "
)
// val split = adapter.getSelectDataSize().toFormatSize().split(" ")
binding
.
tvSize
.
text
=
split
[
0
]
// binding.tvSize.text = split[0]
binding
.
tvUnit
.
text
=
split
[
1
]
// binding.tvUnit.text = split[1]
}
// }
binding
.
rv
.
adapter
=
adapter
// binding.rv.adapter = adapter
adapter
.
setData
(
pathList
)
// adapter.setData(pathList)
//
AdmobNativeUtils
.
showNativeAd
(
this
,
binding
.
flAd
)
// AdmobNativeUtils.showNativeAd(this, binding.flAd)
}
// }
//
override
fun
initListener
()
{
// override fun initListener() {
binding
.
flBack
.
setOnClickListener
{
// binding.flBack.setOnClickListener {
onBackPressedDispatcher
.
onBackPressed
()
// onBackPressedDispatcher.onBackPressed()
}
// }
onBackPressedDispatcher
.
addCallback
{
// onBackPressedDispatcher.addCallback {
AdmobInterstitialUtils
.
showInterstitialAd
(
this
@WhatsAppMessageCleanActivity
,
isShowInterVal
=
false
)
{
// AdmobInterstitialUtils.showInterstitialAd(this@WhatsAppMessageCleanActivity, isShowInterVal = false) {
finishToMain
()
// finishToMain()
}
// }
}
// }
binding
.
llSelectAll
.
setOnClickListener
{
// binding.llSelectAll.setOnClickListener {
it
.
isSelected
=
!
it
.
isSelected
// it.isSelected = !it.isSelected
adapter
.
toggleSelect
(
it
.
isSelected
)
// adapter.toggleSelect(it.isSelected)
binding
.
tvClean
.
isEnabled
=
it
.
isSelected
// binding.tvClean.isEnabled = it.isSelected
val
split
=
adapter
.
getSelectDataSize
().
toFormatSize
().
split
(
" "
)
// val split = adapter.getSelectDataSize().toFormatSize().split(" ")
binding
.
tvSize
.
text
=
split
[
0
]
// binding.tvSize.text = split[0]
binding
.
tvUnit
.
text
=
split
[
1
]
// binding.tvUnit.text = split[1]
}
// }
//
binding
.
tvClean
.
setOnClickListener
{
// binding.tvClean.setOnClickListener {
//
AdmobInterstitialUtils
.
showInterstitialAd
(
this
)
{
// AdmobInterstitialUtils.showInterstitialAd(this) {
val
list
=
adapter
.
getSelectData
()
// val list = adapter.getSelectData()
runCatching
{
// runCatching {
list
.
forEach
{
File
(
it
).
delete
()
}
// list.forEach { File(it).delete() }
}
// }
finish
()
// finish()
}
// }
}
// }
}
// }
//
//
}
//}
\ No newline at end of file
\ No newline at end of file
app/src/main/java/com/base/datarecovery/adapter/WhatsAppCleanerAdapter.kt
View file @
f375de24
package
com.base.datarecovery.adapter
//package com.base.datarecovery.adapter
//
import
android.annotation.SuppressLint
//import android.annotation.SuppressLint
import
android.graphics.Color
//import android.graphics.Color
import
android.view.View
//import android.view.View
import
android.view.ViewGroup
//import android.view.ViewGroup
import
androidx.core.content.ContextCompat
//import androidx.core.content.ContextCompat
import
androidx.recyclerview.widget.RecyclerView
//import androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView.ViewHolder
//import androidx.recyclerview.widget.RecyclerView.ViewHolder
import
com.base.datarecovery.R
//import com.base.datarecovery.R
import
com.base.datarecovery.bean.WhatsAppCleanerBean
//import com.base.datarecovery.bean.WhatsAppCleanerBean
import
com.base.datarecovery.databinding.ItemWhatsappBinding
//import com.base.datarecovery.databinding.ItemWhatsappBinding
import
com.base.datarecovery.help.KotlinExt.toFormatSize
//import com.base.datarecovery.help.KotlinExt.toFormatSize
import
com.base.datarecovery.utils.ScreenUtil.dpToPx
//import com.base.datarecovery.utils.ScreenUtil.dpToPx
import
com.base.datarecovery.view.XmlEx.inflate
//import com.base.datarecovery.view.XmlEx.inflate
import
com.bumptech.glide.Glide
//import com.bumptech.glide.Glide
import
com.bumptech.glide.load.resource.bitmap.CenterCrop
//import com.bumptech.glide.load.resource.bitmap.CenterCrop
import
com.bumptech.glide.load.resource.bitmap.RoundedCorners
//import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import
com.bumptech.glide.request.RequestOptions
//import com.bumptech.glide.request.RequestOptions
//
class
WhatsAppCleanerAdapter
(
val
click
:
(
bean
:
WhatsAppCleanerBean
)
->
Unit
)
:
RecyclerView
.
Adapter
<
WhatsAppCleanerAdapter
.
Whats
>()
{
//class WhatsAppCleanerAdapter(val click: (bean: WhatsAppCleanerBean) -> Unit) : RecyclerView.Adapter<WhatsAppCleanerAdapter.Whats>() {
//
private
val
beanList
=
arrayListOf
<
WhatsAppCleanerBean
>()
// private val beanList = arrayListOf<WhatsAppCleanerBean>()
//
class
Whats
(
view
:
View
)
:
ViewHolder
(
view
)
{
// class Whats(view: View) : ViewHolder(view) {
//
}
// }
//
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
Whats
{
// override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Whats {
return
Whats
(
R
.
layout
.
item_whatsapp
.
inflate
(
parent
))
// return Whats(R.layout.item_whatsapp.inflate(parent))
}
// }
//
override
fun
getItemCount
():
Int
{
// override fun getItemCount(): Int {
return
beanList
.
size
// return beanList.size
}
// }
//
override
fun
onBindViewHolder
(
holder
:
Whats
,
position
:
Int
)
{
// override fun onBindViewHolder(holder: Whats, position: Int) {
val
binding
=
ItemWhatsappBinding
.
bind
(
holder
.
itemView
)
// val binding = ItemWhatsappBinding.bind(holder.itemView)
val
context
=
holder
.
itemView
.
context
// val context = holder.itemView.context
val
bean
=
beanList
[
position
]
// val bean = beanList[position]
binding
.
iv
.
setImageDrawable
(
ContextCompat
.
getDrawable
(
context
,
bean
.
icon
))
// binding.iv.setImageDrawable(ContextCompat.getDrawable(context, bean.icon))
binding
.
tvTitle
.
text
=
bean
.
tittle
// binding.tvTitle.text = bean.tittle
if
(
bean
.
subFile
.
isEmpty
())
{
// if (bean.subFile.isEmpty()) {
binding
.
llIv
.
visibility
=
View
.
GONE
// binding.llIv.visibility = View.GONE
binding
.
tvSize
.
setTextColor
(
Color
.
parseColor
(
"#999999"
))
// binding.tvSize.setTextColor(Color.parseColor("#999999"))
binding
.
ivArrow
.
setImageDrawable
(
ContextCompat
.
getDrawable
(
context
,
R
.
mipmap
.
jianotu_whatsapp
))
// binding.ivArrow.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.jianotu_whatsapp))
binding
.
tvNoMessage
.
visibility
=
View
.
VISIBLE
// binding.tvNoMessage.visibility = View.VISIBLE
}
else
{
// } else {
binding
.
llIv
.
visibility
=
View
.
VISIBLE
// binding.llIv.visibility = View.VISIBLE
runCatching
{
// runCatching {
val
options
=
RequestOptions
().
transform
(
CenterCrop
(),
RoundedCorners
(
context
.
dpToPx
(
10
)))
// val options = RequestOptions().transform(CenterCrop(), RoundedCorners(context.dpToPx(10)))
val
image1
=
bean
.
subFile
[
0
]
// val image1 = bean.subFile[0]
Glide
.
with
(
context
).
load
(
image1
).
apply
(
options
).
into
(
binding
.
iv1
)
// Glide.with(context).load(image1).apply(options).into(binding.iv1)
//
val
image2
=
bean
.
subFile
[
1
]
// val image2 = bean.subFile[1]
Glide
.
with
(
context
).
load
(
image2
).
apply
(
options
).
into
(
binding
.
iv2
)
// Glide.with(context).load(image2).apply(options).into(binding.iv2)
//
val
image3
=
bean
.
subFile
[
2
]
// val image3 = bean.subFile[2]
Glide
.
with
(
context
).
load
(
image3
).
apply
(
options
).
into
(
binding
.
iv3
)
// Glide.with(context).load(image3).apply(options).into(binding.iv3)
}
// }
binding
.
tvSize
.
setTextColor
(
Color
.
parseColor
(
"#355BEA"
))
// binding.tvSize.setTextColor(Color.parseColor("#355BEA"))
binding
.
tvSize
.
text
=
bean
.
size
.
toFormatSize
()
// binding.tvSize.text = bean.size.toFormatSize()
binding
.
ivArrow
.
setImageDrawable
(
ContextCompat
.
getDrawable
(
context
,
R
.
mipmap
.
jianotul_whatsapp
))
// binding.ivArrow.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.jianotul_whatsapp))
binding
.
tvNoMessage
.
visibility
=
View
.
GONE
// binding.tvNoMessage.visibility = View.GONE
}
// }
binding
.
root
.
setOnClickListener
{
// binding.root.setOnClickListener {
if
(
bean
.
subFile
.
isEmpty
())
{
// if (bean.subFile.isEmpty()) {
return
@setOnClickListener
// return@setOnClickListener
}
// }
click
.
invoke
(
bean
)
// click.invoke(bean)
}
// }
}
// }
//
@SuppressLint
(
"NotifyDataSetChanged"
)
// @SuppressLint("NotifyDataSetChanged")
fun
setData
(
list
:
List
<
WhatsAppCleanerBean
>)
{
// fun setData(list: List<WhatsAppCleanerBean>) {
beanList
.
clear
()
// beanList.clear()
beanList
.
addAll
(
list
)
// beanList.addAll(list)
notifyDataSetChanged
()
// notifyDataSetChanged()
}
// }
//
//
}
//}
\ No newline at end of file
\ No newline at end of file
app/src/main/java/com/base/datarecovery/adapter/WhatsAppMediaAdapter.kt
View file @
f375de24
package
com.base.datarecovery.adapter
//package com.base.datarecovery.adapter
//
import
android.annotation.SuppressLint
//import android.annotation.SuppressLint
import
android.view.View
//import android.view.View
import
android.view.ViewGroup
//import android.view.ViewGroup
import
androidx.core.content.ContextCompat
//import androidx.core.content.ContextCompat
import
androidx.recyclerview.widget.RecyclerView
//import androidx.recyclerview.widget.RecyclerView
import
com.base.datarecovery.R
//import com.base.datarecovery.R
import
com.base.datarecovery.bean.MediaBean
//import com.base.datarecovery.bean.MediaBean
import
com.base.datarecovery.databinding.ItemMediaFileBinding
//import com.base.datarecovery.databinding.ItemMediaFileBinding
import
com.base.datarecovery.databinding.ItemMediaSelectBinding
//import com.base.datarecovery.databinding.ItemMediaSelectBinding
import
com.base.datarecovery.help.KotlinExt.toFormatSize
//import com.base.datarecovery.help.KotlinExt.toFormatSize
import
com.base.datarecovery.view.XmlEx.inflate
//import com.base.datarecovery.view.XmlEx.inflate
import
com.bumptech.glide.Glide
//import com.bumptech.glide.Glide
import
java.io.File
//import java.io.File
//
class
WhatsAppMediaAdapter
(
//class WhatsAppMediaAdapter(
private
val
isList
:
Boolean
=
false
,
// private val isList: Boolean = false,
private
val
click
:
(
allSelect
:
Boolean
)
->
Unit
// private val click: (allSelect: Boolean) -> Unit
)
:
RecyclerView
.
Adapter
<
WhatsAppMediaAdapter
.
WhatMedia
>()
{
//) : RecyclerView.Adapter<WhatsAppMediaAdapter.WhatMedia>() {
//
private
val
beanList
=
arrayListOf
<
MediaBean
>()
// private val beanList = arrayListOf<MediaBean>()
//
class
WhatMedia
(
view
:
View
)
:
RecyclerView
.
ViewHolder
(
view
)
// class WhatMedia(view: View) : RecyclerView.ViewHolder(view)
//
//
override
fun
getItemViewType
(
position
:
Int
):
Int
{
// override fun getItemViewType(position: Int): Int {
return
if
(
isList
)
0
else
1
// return if (isList) 0 else 1
}
// }
//
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
WhatMedia
{
// override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WhatMedia {
val
layout
=
if
(
viewType
==
0
)
R
.
layout
.
item_media_file
else
R
.
layout
.
item_media_select
// val layout = if (viewType == 0) R.layout.item_media_file else R.layout.item_media_select
return
WhatMedia
(
layout
.
inflate
(
parent
))
// return WhatMedia(layout.inflate(parent))
}
// }
//
override
fun
getItemCount
():
Int
{
// override fun getItemCount(): Int {
return
beanList
.
size
// return beanList.size
}
// }
//
override
fun
onBindViewHolder
(
holder
:
WhatMedia
,
position
:
Int
)
{
// override fun onBindViewHolder(holder: WhatMedia, position: Int) {
//
}
// }
//
override
fun
onBindViewHolder
(
holder
:
WhatMedia
,
position
:
Int
,
payloads
:
MutableList
<
Any
>)
{
// override fun onBindViewHolder(holder: WhatMedia, position: Int, payloads: MutableList<Any>) {
//
//
val
context
=
holder
.
itemView
.
context
// val context = holder.itemView.context
val
bean
=
beanList
[
position
]
// val bean = beanList[position]
//
if
(
isList
)
{
// if (isList) {
val
binding
=
ItemMediaFileBinding
.
bind
(
holder
.
itemView
)
// val binding = ItemMediaFileBinding.bind(holder.itemView)
//
if
(
payloads
.
isEmpty
())
{
// if (payloads.isEmpty()) {
binding
.
iv
.
setImageDrawable
(
ContextCompat
.
getDrawable
(
context
,
R
.
mipmap
.
audiomessages
))
// binding.iv.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.audiomessages))
val
file
=
File
(
bean
.
path
)
// val file = File(bean.path)
binding
.
tvName
.
text
=
file
.
name
// binding.tvName.text = file.name
binding
.
tvSize
.
text
=
file
.
length
().
toFormatSize
()
// binding.tvSize.text = file.length().toFormatSize()
binding
.
ivSelector
.
isSelected
=
bean
.
isSelect
// binding.ivSelector.isSelected = bean.isSelect
binding
.
root
.
setOnClickListener
{
// binding.root.setOnClickListener {
binding
.
ivSelector
.
isSelected
=
!
binding
.
ivSelector
.
isSelected
// binding.ivSelector.isSelected = !binding.ivSelector.isSelected
bean
.
isSelect
=
binding
.
ivSelector
.
isSelected
// bean.isSelect = binding.ivSelector.isSelected
notifyItemChanged
(
position
,
"sdd"
)
// notifyItemChanged(position, "sdd")
click
.
invoke
(
beanList
.
all
{
it
.
isSelect
})
// click.invoke(beanList.all { it.isSelect })
}
// }
}
else
{
// } else {
binding
.
ivSelector
.
isSelected
=
bean
.
isSelect
// binding.ivSelector.isSelected = bean.isSelect
super
.
onBindViewHolder
(
holder
,
position
,
payloads
)
// super.onBindViewHolder(holder, position, payloads)
}
// }
}
else
{
// } else {
val
binding
=
ItemMediaSelectBinding
.
bind
(
holder
.
itemView
)
// val binding = ItemMediaSelectBinding.bind(holder.itemView)
if
(
payloads
.
isEmpty
())
{
// if (payloads.isEmpty()) {
Glide
.
with
(
context
).
load
(
bean
.
path
).
centerCrop
().
into
(
binding
.
iv
)
// Glide.with(context).load(bean.path).centerCrop().into(binding.iv)
binding
.
ivSelector
.
isSelected
=
bean
.
isSelect
// binding.ivSelector.isSelected = bean.isSelect
binding
.
root
.
setOnClickListener
{
// binding.root.setOnClickListener {
binding
.
ivSelector
.
isSelected
=
!
binding
.
ivSelector
.
isSelected
// binding.ivSelector.isSelected = !binding.ivSelector.isSelected
bean
.
isSelect
=
binding
.
ivSelector
.
isSelected
// bean.isSelect = binding.ivSelector.isSelected
notifyItemChanged
(
position
,
"sdd"
)
// notifyItemChanged(position, "sdd")
click
.
invoke
(
beanList
.
all
{
it
.
isSelect
})
// click.invoke(beanList.all { it.isSelect })
}
// }
}
else
{
// } else {
binding
.
ivSelector
.
isSelected
=
bean
.
isSelect
// binding.ivSelector.isSelected = bean.isSelect
super
.
onBindViewHolder
(
holder
,
position
,
payloads
)
// super.onBindViewHolder(holder, position, payloads)
}
// }
//
}
// }
}
// }
//
@SuppressLint
(
"NotifyDataSetChanged"
)
// @SuppressLint("NotifyDataSetChanged")
fun
setData
(
pathList
:
List
<
MediaBean
>)
{
// fun setData(pathList: List<MediaBean>) {
beanList
.
clear
()
// beanList.clear()
beanList
.
addAll
(
pathList
)
// beanList.addAll(pathList)
notifyDataSetChanged
()
// notifyDataSetChanged()
}
// }
//
@SuppressLint
(
"NotifyDataSetChanged"
)
// @SuppressLint("NotifyDataSetChanged")
fun
toggleSelect
(
select
:
Boolean
)
{
// fun toggleSelect(select: Boolean) {
beanList
.
forEach
{
it
.
isSelect
=
select
}
// beanList.forEach { it.isSelect = select }
notifyDataSetChanged
()
// notifyDataSetChanged()
}
// }
//
fun
getSelectData
():
List
<
String
>
{
// fun getSelectData(): List<String> {
return
beanList
.
filter
{
it
.
isSelect
}.
map
{
it
.
path
}
// return beanList.filter { it.isSelect }.map { it.path }
}
// }
//
fun
getSelectDataSize
():
Long
{
// fun getSelectDataSize(): Long {
return
getSelectData
().
map
{
File
(
it
)
}.
sumOf
{
it
.
length
()
}
// return getSelectData().map { File(it) }.sumOf { it.length() }
}
// }
}
//}
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment