Commit aedfbc72 authored by yanglin's avatar yanglin

完善清理功能

parent a0fee49f
......@@ -32,11 +32,14 @@ import com.xm.test.myfilemaster.model.FileBean
import com.xm.test.myfilemaster.util.FileUtil
import java.io.File
class CleanActivity : AppCompatActivity() {
class CleanActivity : AppCompatActivity(), CleanAdapter2.IClean {
private var mQuitBtn: ImageView? = null
private var mHintTv: TextView? = null
private var mProgress: ProgressBar? = null
private lateinit var mListView: RecyclerView
private lateinit var mCleanSuccessView: View
private lateinit var mScaningView: View
private lateinit var mCleanSizeSuccessTv: TextView
// private var mCleanAdapter: CleanAdapter? = null
private var mCleanAdapter2: CleanAdapter2? = null
......@@ -72,7 +75,13 @@ class CleanActivity : AppCompatActivity() {
mAdView = findViewById(R.id.ad_layout)
mAnimation = findViewById(R.id.clean_animation)
mCleanBtn = findViewById(R.id.clean_click_text)
mCleanSuccessView = findViewById(R.id.clean_success_layout)
mScaningView = findViewById(R.id.battery_animation_btn)
mCleanSizeSuccessTv = findViewById(R.id.clean_success_size_text)
CleanAdapter.isCleanOver = false
mCleanBtn.text = "One-click cleanup of 0 B"
mCleanSizeSuccessTv.text = "Successfully cleaned up 1KB of junk!"
setViewOnclickListener()
var cleanBean = CleanBean()
......@@ -95,11 +104,13 @@ class CleanActivity : AppCompatActivity() {
cleanBean.typeName = "Other trash"
mCleanBeans.add(cleanBean)
// mCleanAdapter = CleanAdapter(mCleanBeans, this)
mCleanAdapter2 = CleanAdapter2()
mCleanAdapter2 = CleanAdapter2(this)
mListView.adapter = mCleanAdapter2
MyApplication.mCleanSdk?.startScan(junkScanCallback, false)
MyApplication.mCleanSdk?.timeout(60000)
mCleanAdapter2?.setData(mCleanBeans)
MyApplication.mCleanSdk?.startScan(junkScanCallback, true)
MyApplication.mCleanSdk?.timeout(30000)
val handler = Handler(Looper.getMainLooper())
......@@ -134,25 +145,20 @@ class CleanActivity : AppCompatActivity() {
startActivity(Intent(this, SimilarImagesActivity::class.java))
}
findViewById<View>(R.id.clean_click_text).setOnClickListener {
// mAnimation.visibility = View.VISIBLE
// Thread(Runnable {
// Thread.sleep(1000)
// for (fileBeans in mCleanAdapter?.mFileCheckedItemList!!) {
// for (fileBean in fileBeans) {
// try {
// MyApplication.mCleanSdk?.delete(File(fileBean.filePath))
// } catch (e: Exception) {
// e.printStackTrace()
// }
// }
// }
// runOnUiThread {
// mListView.visibility = View.GONE
// mAnimation.visibility = View.GONE
// findViewById<View>(R.id.clean_over_layout).visibility = View.VISIBLE
// }
// }).start()
// }
mAnimation.visibility = View.VISIBLE
Thread(Runnable {
Thread.sleep(1000)
mCleanAdapter2?.mFileCheckedItemList?.forEach {
MyApplication.mCleanSdk?.delete(File(it.filePath))
}
runOnUiThread {
mListView.visibility = View.GONE
mAnimation.visibility = View.GONE
findViewById<View>(R.id.ad_layout).visibility = View.GONE
findViewById<View>(R.id.over_layout).visibility = View.VISIBLE
mCleanSuccessView.visibility = View.VISIBLE
}
}).start()
}
}
fun initJunkScanCallBack() {
......@@ -198,7 +204,7 @@ class CleanActivity : AppCompatActivity() {
// mProgress?.setProgress(mCount)
mIsApkScanSuccess = true
setAdapter()
// setAdapter()
}
......@@ -218,7 +224,7 @@ class CleanActivity : AppCompatActivity() {
// mCount +=10
// mProgress?.setProgress(mCount)
mIsTmpScanSuccess = true
setAdapter()
// setAdapter()
}
......@@ -239,7 +245,7 @@ class CleanActivity : AppCompatActivity() {
// Log.e(TAG, "onLogJunkScanSucceed: ", )
// mCount += 10
// mProgress?.setProgress(mCount)
setAdapter()
// setAdapter()
}
override fun onCacheJunkEmitOne(p0: CacheBean?) {
......@@ -260,7 +266,7 @@ class CleanActivity : AppCompatActivity() {
// mCount +=10
// mProgress?.setProgress(mCount)
mIsCacheScanSuccess = true
setAdapter()
// setAdapter()
}
@SuppressLint("SetTextI18n")
......@@ -276,7 +282,7 @@ class CleanActivity : AppCompatActivity() {
// mCount +=10
// mProgress?.setProgress(mCount)
setAdapter()
// setAdapter()
}
override fun onThumbnailJunkEmitOne(p0: SDcardRubbishResult?) {
......@@ -290,7 +296,7 @@ class CleanActivity : AppCompatActivity() {
override fun onThumbnailJunkScanSucceed() {
// Log.e(TAG, "onThumbnailJunkScanSucceed: ", )
setAdapter()
// setAdapter()
}
......@@ -307,38 +313,44 @@ class CleanActivity : AppCompatActivity() {
override fun onTimeOut() {
// Log.e(TAG, "onTimeOut: ", )
setAdapter()
}
}
}
private fun setAdapter() {
if (mIsApkScanSuccess && mIsCacheScanSuccess && mIsTmpScanSuccess) {
// if (mIsApkScanSuccess && mIsCacheScanSuccess && mIsTmpScanSuccess) {
// MyApplication.mCleanSdk?.
findViewById<View>(R.id.battery_animation_btn).visibility = View.GONE
// findViewById<View>(R.id.battery_animation_btn).visibility = View.GONE
mCleanAdapter2?.setData(mCleanBeans)
CleanAdapter.isCleanOver = true
var allSize: Long = 0
// for (size in mCleanAdapter2?.mAllSizes!!) {
// allSize += size
// }
mCount = 0
mProgress?.setProgress(100)
mProgress?.visibility = View.GONE
mHintTv?.visibility = View.GONE
mScaningView.visibility = View.GONE
mCleanBtn.visibility = View.VISIBLE
mCleanBtn.text = if (allSize > 1024 * 1024 * 1024) {
"One-click cleanup of ${allSize / 1024 / 1024 / 1024} GB"
} else if (allSize > 1024 * 1024) {
"One-click cleanup of ${allSize / 1024 / 1024} MB"
} else if (allSize > 1024) {
"One-click cleanup of ${allSize / 1024} KB"
} else {
"One-click cleanup of ${allSize} B"
}
}
// }
}
override fun OnChekedItemListener(size: Long) {
val sizeStr = if (size > 1024 * 1024 * 1024) {
"${size / 1024 / 1024 / 1024}GB"
} else if (size > 1024 * 1024) {
"${size / 1024 / 1024}MB"
} else if (size > 1024) {
"${size / 1024}KB"
} else {
"${size}B"
}
mCleanBtn.text = "One-click cleanup of $sizeStr"
mCleanSizeSuccessTv.text = "Successfully cleaned up $sizeStr of junk!"
}
}
\ No newline at end of file
......@@ -6,11 +6,9 @@ import android.os.Bundle
import android.view.View
import android.widget.ImageView
import android.widget.VideoView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.test.mydemo3.R
import com.bumptech.glide.Glide
import com.xm.test.myfilemaster.R
import com.xm.test.myfilemaster.model.FileBean
class ImageShowActivity : AppCompatActivity() {
......@@ -21,11 +19,26 @@ class ImageShowActivity : AppCompatActivity() {
private lateinit var mDeleteBtn: View
private var mFileBean: FileBean? = null
private var mFileType: String = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_image_show)
mFileBean = intent.getSerializableExtra("fileBean") as FileBean ?: null
mFileType = intent.getStringExtra("fileType").toString() ?: ""
if (!mFileType.isEmpty()){
when(mFileType){
"image"->{
Glide.with(this).load(mFileBean?.filePath).centerCrop().into(mImageShowView)
}
"video"->{
// mVideoShowView.
// TODO
}
else ->{}
}
}
initView()
setOnClickListener()
......@@ -34,6 +47,7 @@ class ImageShowActivity : AppCompatActivity() {
private fun setOnClickListener() {
mShareBtn.setOnClickListener {
val uri = Uri.parse(mFileBean?.filePath)
shareFile(uri)
}
mDeleteBtn.setOnClickListener {
......
package com.xm.test.myfilemaster.activity
import android.annotation.SuppressLint
import android.content.Intent
import android.os.Bundle
import android.util.SparseBooleanArray
import android.view.View
......@@ -11,6 +12,7 @@ import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModelProvider
import com.kongzue.dialogx.dialogs.WaitDialog
import com.test.mydemo3.activity.ImageShowActivity
import com.xm.test.myfilemaster.R
import com.xm.test.myfilemaster.adapter.MediaAdapter
import com.xm.test.myfilemaster.adapter.MediaAdapter2
......@@ -34,14 +36,15 @@ class MediaActivity : AppCompatActivity() {
lateinit var mItemCheckedArray: SparseBooleanArray
private var mItemDataList = ArrayList<FileBean>()
private lateinit var binding: ActivityMediaBinding
// private lateinit var binding: ActivityMediaBinding
// private var mItemAdapter: MediaAdapter? = null
private var mItemAdapter: MediaAdapter2? = null
private var mItemAdapter: MediaAdapter? = null
// private var mItemAdapter: MediaAdapter2? = null
private var mDataList: ArrayList<String> = ArrayList<String>()
private var mCheckedDataList: ArrayList<String> = ArrayList<String>()
private var mCheckedNumber = 0
private var mFileType: String? = null
private lateinit var mModel: BaseActivityViewModel
......@@ -58,15 +61,16 @@ class MediaActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMediaBinding.inflate(layoutInflater)
setContentView(binding.root)
// binding = ActivityMediaBinding.inflate(layoutInflater)
// setContentView(binding.root)
setContentView(R.layout.activity_media)
initView()
}
@SuppressLint("ClickableViewAccessibility")
private fun initView() {
// mGridView = findViewById(R.id.image_item_grid)
mGridView = findViewById(R.id.image_item_grid)
mTitleBar = findViewById(R.id.title_bar)
mSelectBar = findViewById(R.id.switch_and_select_layout)
// mScrollView = findViewById(R.id.grid_view_scroll)
......@@ -86,14 +90,14 @@ class MediaActivity : AppCompatActivity() {
findViewById<TextView>(R.id.current_file_path).visibility = View.GONE
mItemCheckedArray = SparseBooleanArray()
val fileType = intent.getStringExtra("fileType").toString()
// mItemAdapter = MediaAdapter(mItemDataList, this, mItemCheckedArray, fileType, 118)
mItemAdapter = MediaAdapter2()
// mGridView.adapter = mItemAdapter
binding.imageItemGrid.adapter = mItemAdapter
mFileType = intent.getStringExtra("fileType").toString() ?: ""
mItemAdapter = MediaAdapter(mItemDataList, this, mItemCheckedArray, mFileType!!, 115)
// mItemAdapter = MediaAdapter2()
mGridView.adapter = mItemAdapter
// binding.imageItemGrid.adapter = mItemAdapter
Thread(Runnable {
WaitDialog.show("please wait..")
mItemDataList = FileUtil.getMediaFiles(this, fileType, 20)
mItemDataList = FileUtil.getMediaFiles(this, mFileType!!, 50)
runOnUiThread {
WaitDialog.dismiss()
for (fileBean in mItemDataList) {
......@@ -104,14 +108,13 @@ class MediaActivity : AppCompatActivity() {
}).start()
mTitleTv.text = fileType
mTitleTv.text = mFileType!!
mModel = ViewModelProvider(this)[BaseActivityViewModel::class.java]
mModel.setNumber(0)
mModel.myInt.observe(this) {
mSelectTv.text = String.format(getString(R.string.select_0, mCheckedNumber.toString()))
}
setOnGridViewItemClickListener()
setOnclickListener()
}
......@@ -137,15 +140,24 @@ class MediaActivity : AppCompatActivity() {
mIsCheckClick = !mIsCheckClick
selectAll()
}
mGridView.setOnItemClickListener { parent, view, position, id ->
if (isClickEditBtn) {
updateCheckBoxStatus(view, position)
} else {
//TODO 点击进入图片或视频播放
Intent(this, ImageShowActivity::class.java)
val bundle = Bundle()
bundle.putSerializable("fileBean", mItemDataList[position])
intent.putExtras(bundle)
intent.putExtra("fileType", mFileType)
startActivity(intent)
}
}
}
private fun setOnGridViewItemClickListener() {
// mGridView.setOnItemClickListener { parent, view, position, id ->
// if (isClickEditBtn) {
// updateCheckBoxStatus(view, position)
// } else {
// //TODO 点击进入图片或视频播放
// }
// }
}
......
......@@ -24,13 +24,13 @@ class CleanAdapter(
private var dataBeanList: ArrayList<CleanBean>
private var context: Context
private var inflater: LayoutInflater
var mFileCheckedItemList = ArrayList<ArrayList<FileBean>>()
private var sparseBooleanArray = ArrayList<SparseBooleanArray>()
private var itemAdapters = ArrayList<ItemAdapter>()
private lateinit var viewHolder: ViewHolder
var mFileCheckedItemList = ArrayList<ArrayList<FileBean>>()
var mAllSizes = ArrayList<Long>()
companion object{
......@@ -80,9 +80,7 @@ class CleanAdapter(
view.tag = viewHolder
}
viewHolder.itemNameTv?.text = dataBeanList[position].typeName
setOnclickListener(viewHolder)
sparseBooleanArray.add(SparseBooleanArray())
isClickAlls.add(false)
mFileCheckedItemList.add(ArrayList())
......@@ -90,7 +88,6 @@ class CleanAdapter(
itemAdapters.add(ItemAdapter(context, dataBeanList[position].fileBeans, sparseBooleanArray[position], position))
viewHolder.listView?.visibility = if (!isCleanOver) View.GONE else View.VISIBLE
viewHolder.unfoldImg?.visibility = if (!isCleanOver) View.GONE else View.VISIBLE
viewHolder.sizeTv?.visibility = if (!isCleanOver) View.GONE else View.VISIBLE
......@@ -121,7 +118,6 @@ class CleanAdapter(
}
// viewHolder.listView?.visibility = if (!dataBeanList[position].isListViewShow) View.GONE else View.VISIBLE
viewHolder.listView?.setOnItemClickListener { parent, view, itemPosition, id ->
if (isCleanOver)
updateCheckBoxStatus(position, view, itemPosition, viewHolder.listView!!, dataBeanList[position].fileBeans)
......@@ -164,15 +160,6 @@ class CleanAdapter(
}
private fun setOnclickListener(viewHolder: ViewHolder) {
viewHolder.moreImg?.setOnClickListener {
}
viewHolder.itemBar?.setOnClickListener {
}
}
class ViewHolder{
var itemNameTv: TextView? = null
var unfoldImg: ImageView? = null
......@@ -257,7 +244,6 @@ class CleanAdapter(
itemViewHolder.fileName.text = dataList[position].fileName
itemViewHolder.fileNone.text = dataList[position].filePath
}
}
itemViewHolder.fileIcon
itemViewHolder.fileName
......
package com.xm.test.myfilemaster.adapter
import android.util.SparseBooleanArray
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ListView
import androidx.recyclerview.widget.RecyclerView
import com.xm.test.myfilemaster.R
import com.xm.test.myfilemaster.activity.CleanActivity
import com.xm.test.myfilemaster.databinding.CleanListItemLayoutBinding
import com.xm.test.myfilemaster.databinding.FilesItemLayoutBinding
import com.xm.test.myfilemaster.model.CleanBean
import com.xm.test.myfilemaster.model.FileBean
class CleanAdapter2 : RecyclerView.Adapter<CleanAdapter2.AAA>() {
class CleanAdapter2(mIClean: IClean) : RecyclerView.Adapter<CleanAdapter2.AAA>() {
private val list = ArrayList<CleanBean>()
var mFileCheckedItemList = ArrayList<FileBean>()
private var sparseBooleanArray = ArrayList<SparseBooleanArray>()
private var itemAdapters = ArrayList<SubAdapter>()
var mAllSizes = ArrayList<Long>()
var mSwitchAll = ArrayList<Boolean>()
var mIClean : IClean
init {
this.mIClean = mIClean
}
fun Int.inflate(parent: ViewGroup, attachToRoot: Boolean = false): View {
return LayoutInflater.from(parent.context).inflate(this, parent, attachToRoot)
}
......@@ -32,34 +47,90 @@ class CleanAdapter2 : RecyclerView.Adapter<CleanAdapter2.AAA>() {
override fun onBindViewHolder(holder: AAA, position: Int) {
val data = list[position]
sparseBooleanArray.add(SparseBooleanArray())
itemAdapters.add(SubAdapter(position))
mSwitchAll.add(false)
holder.binding.cleanItemName.text = data.typeName
holder.binding.cleanItemCheckBox.isChecked = mSwitchAll[position]
holder.binding.cleanItemList.visibility = if (!CleanAdapter.isCleanOver) View.GONE else View.VISIBLE
holder.binding.cleanItemUnfold.visibility = if (!CleanAdapter.isCleanOver) View.GONE else View.VISIBLE
holder.binding.fileItemSize.visibility = if (!CleanAdapter.isCleanOver) View.GONE else View.VISIBLE
holder.binding.cleanItemCheckBox.visibility = if (!CleanAdapter.isCleanOver) View.GONE else View.VISIBLE
holder.binding.cleanItemMore.visibility = if (CleanAdapter.isCleanOver) View.GONE else View.VISIBLE
var allSize: Long = 0
for (fileBean in list[position].fileBeans){
allSize += fileBean.fileSize
}
holder.binding.fileItemSize.text = if (allSize > 1024 * 1024 * 1024){
"${allSize / 1024 / 1024 / 1024} GB"
}else if (allSize > 1024 * 1024){
"${allSize / 1024 / 1024} MB"
}else if (allSize > 1024){
"${allSize / 1024} KB"
}else{
"${allSize} B"
}
mAllSizes.add(allSize)
///展开逻辑
if (data.isListViewShow) {
holder.binding.cleanItemList.visibility = View.VISIBLE
val subAdapter = SubAdapter()
holder.binding.cleanItemList.adapter = subAdapter
subAdapter.setData(data.fileBeans)
holder.binding.cleanItemList.adapter = itemAdapters[position]
itemAdapters[position].setData(data.fileBeans)
} else {
holder.binding.cleanItemList.visibility = View.GONE
}
holder.binding.cleanItemUnfold.setOnClickListener {
holder.binding.cleanItemBar.setOnClickListener {
data.isListViewShow = !data.isListViewShow
notifyItemChanged(position)
}
holder.binding.cleanItemCheckBox.setOnClickListener {
if (CleanAdapter.isCleanOver){
mSwitchAll[position] = !mSwitchAll[position]
list[position].fileBeans.forEach {
it.isChecked = holder.binding.cleanItemCheckBox.isChecked
}
if (holder.binding.cleanItemCheckBox.isChecked){
mFileCheckedItemList.addAll(list[position].fileBeans)
}else{
mFileCheckedItemList.removeAll(list[position].fileBeans)
}
itemAdapters[position].setData(list[position].fileBeans)
notifyItemChanged(position)
changeSwitchSize()
}
}
//选中的逻辑,先外层通过data的属性值是否选中,点击事假更新子类表选中状态下
}
private fun changeSwitchSize() {
var size: Long = 0
mFileCheckedItemList.forEach {
size += it.fileSize
}
mIClean.OnChekedItemListener(size)
}
fun setData(datas: List<CleanBean>) {
list.clear()
list.addAll(datas)
notifyDataSetChanged()
}
inner class SubAdapter : RecyclerView.Adapter<SubAdapter.BBB>() {
inner class SubAdapter(itemPosition: Int) : RecyclerView.Adapter<SubAdapter.BBB>() {
private val sibList = ArrayList<FileBean>()
private var itemPosition: Int
init {
this.itemPosition = itemPosition
}
inner class BBB(view: View) : RecyclerView.ViewHolder(view) {
val binding = FilesItemLayoutBinding.bind(view)
......@@ -78,6 +149,47 @@ class CleanAdapter2 : RecyclerView.Adapter<CleanAdapter2.AAA>() {
holder.binding.fileItemName.text = data.fileName
//todo data通过状态值显示选中状态
// holder.binding.fileJoinToImg.isSelected=data.
holder.binding.fileJoinToImg.visibility = View.GONE
holder.binding.fileSelectSwitch.visibility = if (!CleanAdapter.isCleanOver) View.GONE else View.VISIBLE
holder.binding.fileSelectSwitch.isChecked = sibList[position].isChecked
holder.binding.fileSelectSwitch.setOnClickListener {
sibList[position].isChecked = !sibList[position].isChecked
if (holder.binding.fileSelectSwitch.isChecked){
mFileCheckedItemList.add(sibList[position])
}else{
mFileCheckedItemList.remove(sibList[position])
mSwitchAll[itemPosition] = false
}
changeSwitchSize()
notifyItemChanged(position)
}
when(itemPosition){
0 ->{
holder.binding.fileItemName.text = sibList[position].fileName
holder.binding.fileItemNone.text = sibList[position].filePath
}
1 ->{
holder.binding.filesItemIcon.setImageDrawable(sibList[position].drawable)
holder.binding.fileItemName.text = sibList[position].fileName
holder.binding.fileItemNone.text = sibList[position].filePath
}
3 ->{
// itemViewHolder.fileIcon.setImageDrawable(dataList[position].drawable)
holder.binding.filesItemIcon.setImageResource(R.drawable.ic_log_file)
holder.binding.fileItemName.text = sibList[position].fileName
holder.binding.fileItemNone.text = sibList[position].hint
}
4 ->{
holder.binding.filesItemIcon.setImageResource(R.drawable.ic_log_file)
holder.binding.fileItemName.text = sibList[position].fileName
holder.binding.fileItemNone.text = sibList[position].filePath
}
}
}
fun setData(datas: List<FileBean>) {
......@@ -86,4 +198,8 @@ class CleanAdapter2 : RecyclerView.Adapter<CleanAdapter2.AAA>() {
notifyDataSetChanged()
}
}
interface IClean{
fun OnChekedItemListener(size: Long)
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@ import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.CheckBox
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.xm.test.myfilemaster.R
import com.xm.test.myfilemaster.activity.MediaActivity
import com.xm.test.myfilemaster.model.FileBean
......@@ -67,10 +68,12 @@ class MediaAdapter(
if (mFileType.equals("image")){
// mViewHolder.image.setImageDrawable(mListData[position].drawable)
Glide.with(mContext).load(mListData[position].filePath).centerCrop().into(mViewHolder.image)
mViewHolder.image.layoutParams.height = dpToPx
}else{
mViewHolder.image.setImageResource(R.drawable.ic_video)
// mViewHolder.image.setImageResource(R.drawable.ic_video)
Glide.with(mContext).load(mListData[position].filePath).centerCrop().into(mViewHolder.image)
mViewHolder.image.layoutParams.height = dpToPx
}
......
......@@ -10,6 +10,7 @@ import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.CheckBox
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.cloud.cleanjunksdk.similar.PicInfo
import com.xm.test.myfilemaster.R
import com.xm.test.myfilemaster.activity.SimilarImagesActivity
......@@ -58,7 +59,8 @@ class SimilarGridAdapter(
}
// BitmapDrawable(context.resources, BitmapFactory.decodeFile(dataList[position].filePath))
itemHolder.checkBox.visibility = if (SimilarImagesActivity.isClickEditBtn) View.VISIBLE else View.GONE
itemHolder.imageView.setImageDrawable(BitmapDrawable(context.resources, BitmapFactory.decodeFile(dataList[position].path)))
Glide.with(context).load(dataList[position].path).centerCrop().into(itemHolder.imageView)
// itemHolder.imageView.setImageDrawable(BitmapDrawable(context.resources, BitmapFactory.decodeFile(dataList[position].path)))
itemHolder.imageView.layoutParams.height = FileUtil.dpToPx(83, context)
// if (DuplicateImagesActivity.isClickCheckBoxAllBtn){
......
......@@ -14,6 +14,7 @@ class FileBean : Serializable{
var fileSize: Long = 0
var fileBitmap: Bitmap? = null
var childList = ArrayList<FileBean>()
var isChecked = false
override fun toString(): String {
return "FileBean(fileName='$fileName', filePath='$filePath', isDir=$isDir, fileType='$fileType', childList=${childList.toString()})"
}
......
......@@ -479,7 +479,6 @@
android:id="@+id/battery_animation_view"
android:background="@color/style_background"
android:layout_width="match_parent"
android:visibility="gone"
android:layout_height="match_parent">
<ImageView
......@@ -504,7 +503,7 @@
android:id="@+id/battery_animation_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:lottie_rawRes="@raw/memory"
app:lottie_rawRes="@raw/dianchi"
app:lottie_autoPlay="true"
app:lottie_loop="true"/>
......
......@@ -53,7 +53,7 @@
<com.airbnb.lottie.LottieAnimationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:lottie_rawRes="@raw/memory"
app:lottie_rawRes="@raw/tupian"
app:lottie_autoPlay="true"
app:lottie_loop="true"/>
......
......@@ -20,16 +20,29 @@
<!-- android:layout_marginStart="16dp"-->
<!-- android:layout_marginEnd="16dp">-->
<androidx.recyclerview.widget.RecyclerView
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/image_item_grid"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginStart="16dp"-->
<!-- android:layout_marginTop="12dp"-->
<!-- android:layout_marginEnd="16dp"-->
<!-- android:padding="1dp"-->
<!-- app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"-->
<!-- app:spanCount="3" />-->
<GridView
android:id="@+id/image_item_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:padding="1dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="3" />
android:numColumns="3"
android:horizontalSpacing="2dp"
android:columnWidth="118dp"
android:scrollbars="none"
android:padding="1dp" />
<!-- </ScrollView>-->
......
......@@ -315,7 +315,6 @@ It is best to trust the app downloaded from the Play Store"/>
android:src="@mipmap/ad"/>
</FrameLayout>
</LinearLayout>
......
......@@ -2,7 +2,7 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:background="@color/black"
android:layout_marginStart="1dp"
android:layout_margin="2dp"
android:layout_height="wrap_content">
......
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
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