Commit 152b3f4b authored by wanglei's avatar wanglei

...ui

parent 87954c51
......@@ -3,15 +3,26 @@ package com.base.datarecovery.activity
import android.graphics.Color
import android.icu.util.MeasureUnit
import android.view.View
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope
import com.base.datarecovery.adapter.MediaAdapter
import com.base.datarecovery.adapter.MediaSubAdapter
import com.base.datarecovery.bean.MediaBean
import com.base.datarecovery.bean.MediaTimeBean
import com.base.datarecovery.databinding.ActivityRepeatBinding
import com.base.datarecovery.help.BaseActivity
import com.base.datarecovery.help.KotlinExt.toFormatSize
import com.base.datarecovery.help.KotlinExt.toFormatTime
import com.base.datarecovery.help.MediaStoreHelp.getImageMedia
import com.base.datarecovery.help.PermissionHelp.checkStorePermission
import com.base.datarecovery.help.PermissionHelp.requestStorePermission
import com.base.datarecovery.utils.BarUtils
import com.base.datarecovery.view.DialogViews.showGerPermission
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.jacoco.core.internal.analysis.filter.IFilter
import java.io.File
class RepeatActivity : BaseActivity<ActivityRepeatBinding>() {
......@@ -19,20 +30,72 @@ class RepeatActivity : BaseActivity<ActivityRepeatBinding>() {
override val binding: ActivityRepeatBinding by lazy {
ActivityRepeatBinding.inflate(layoutInflater)
}
private lateinit var mediaAdapter: MediaAdapter
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
mediaAdapter = MediaAdapter {
binding.ivSelectAll.isSelected = it.first
binding.tvClean.isEnabled = it.second.isNotEmpty()
runCatching {
val split = it.second.sumOf { bean -> File(bean.path).length() }.toFormatSize().split(" ")
binding.tvSize.text = split[0]
binding.tvUnit.text = split[1]
}
}
binding.rv.adapter = mediaAdapter
if (checkStorePermission()) {
initData()
} else {
showGerPermission(null, deny = { finishToMain() }, allow = {
requestStorePermission(launcher, result = {
if (it) {
initData()
} else {
finishToMain()
}
})
})
}
}
override fun initListener() {
onBackPressedDispatcher.addCallback {
}
binding.flBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.llSelectAll.setOnClickListener {
binding.ivSelectAll.isSelected = !binding.ivSelectAll.isSelected
mediaAdapter.toggleAllSelect(binding.ivSelectAll.isSelected)
}
}
fun initData() {
private fun initData() {
binding.progressBar.visibility = View.VISIBLE
lifecycleScope.launch(Dispatchers.IO) {
val list = arrayListOf<MediaBean>()
getImageMedia(list)
val hashMap = HashMap<String, ArrayList<MediaBean>>()
list.forEach {
val time = it.time.toFormatTime()
if (hashMap[time] == null) {
hashMap[time] = arrayListOf()
}
hashMap[time]?.add(it)
}
val beanList = hashMap.map { MediaTimeBean(it.key, it.value) }
launch(Dispatchers.Main) {
binding.progressBar.visibility = View.GONE
mediaAdapter.setData(beanList)
}
}
}
......
......@@ -7,6 +7,7 @@ import android.content.Intent
import android.view.View
import android.view.animation.AccelerateDecelerateInterpolator
import com.base.datarecovery.activity.FileScanActivity
import com.base.datarecovery.activity.RepeatActivity
import com.base.datarecovery.activity.ScreenShotActivity
import com.base.datarecovery.activity.privacyspace.PrivacyPinOneActivity
import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity
......@@ -61,7 +62,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
startActivity(Intent(requireContext(), ScreenShotActivity::class.java))
}
binding.cardRepeatPhotos.setOnClickListener {
startActivity(Intent(requireContext(), RepeatActivity::class.java))
}
}
@SuppressLint("Recycle")
......
......@@ -150,6 +150,7 @@
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/iv_select_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
......
......@@ -217,10 +217,13 @@
android:orientation="horizontal">
<androidx.cardview.widget.CardView
android:id="@+id/card_repeat_photos"
android:layout_width="0dp"
android:layout_height="70dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
app:cardBackgroundColor="#F8F8F8"
app:cardCornerRadius="10dp"
app:cardElevation="0dp">
......
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