Commit 328eac6a authored by wanglei's avatar wanglei

提交ui

parent b6a1bb34
...@@ -141,7 +141,7 @@ ...@@ -141,7 +141,7 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.RepeaterdPhotoActivity" android:name=".activity.PreparedPhotoActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
......
...@@ -57,7 +57,6 @@ import java.util.concurrent.LinkedBlockingDeque ...@@ -57,7 +57,6 @@ import java.util.concurrent.LinkedBlockingDeque
*/ */
class AppManagerActivity : BaseActivity<ActivityAppManagerBinding>() { class AppManagerActivity : BaseActivity<ActivityAppManagerBinding>() {
override val isLightMode = true override val isLightMode = true
private lateinit var launcher: ActivityLauncher
private val dataList = ArrayList<AppBean>() private val dataList = ArrayList<AppBean>()
private val pages = arrayListOf<Fragment>() private val pages = arrayListOf<Fragment>()
private lateinit var pagerAdapter: ScreenSlidePagerAdapter private lateinit var pagerAdapter: ScreenSlidePagerAdapter
......
package com.test.basd.fastcleanerjunk.activity package com.test.basd.fastcleanerjunk.activity
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Environment import android.os.Environment
import android.provider.Settings
import android.text.format.Formatter import android.text.format.Formatter
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
...@@ -43,8 +46,11 @@ import com.test.basd.fastcleanerjunk.databinding.PopupwindowFileFilterBinding ...@@ -43,8 +46,11 @@ import com.test.basd.fastcleanerjunk.databinding.PopupwindowFileFilterBinding
import com.test.basd.fastcleanerjunk.helps.BaseActivity import com.test.basd.fastcleanerjunk.helps.BaseActivity
import com.test.basd.fastcleanerjunk.helps.FileHelps import com.test.basd.fastcleanerjunk.helps.FileHelps
import com.test.basd.fastcleanerjunk.helps.LogEx import com.test.basd.fastcleanerjunk.helps.LogEx
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.checkStorePermission
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.requestStorePermission
import com.test.basd.fastcleanerjunk.helps.TimeUtils import com.test.basd.fastcleanerjunk.helps.TimeUtils
import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils
import com.test.basd.fastcleanerjunk.view.DialogViews
import com.test.basd.fastcleanerjunk.view.FileDeleteDialog.showFileDeleteDialog import com.test.basd.fastcleanerjunk.view.FileDeleteDialog.showFileDeleteDialog
import com.test.basd.fastcleanerjunk.view.FileDetailDialog.showFileDetailDialog import com.test.basd.fastcleanerjunk.view.FileDetailDialog.showFileDetailDialog
import com.test.basd.fastcleanerjunk.view.XmlEx.inflate import com.test.basd.fastcleanerjunk.view.XmlEx.inflate
...@@ -165,30 +171,32 @@ class LargeFileCleanActivity : BaseActivity<ActivityLayoutLargeFileBinding>() { ...@@ -165,30 +171,32 @@ class LargeFileCleanActivity : BaseActivity<ActivityLayoutLargeFileBinding>() {
binding.tvSize.text = filterSize binding.tvSize.text = filterSize
binding.tvTime.text = filterTime binding.tvTime.text = filterTime
val flag = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (checkStorePermission()) {
Environment.isExternalStorageManager()
} else {
PermissionUtils.isGranted(PermissionConstants.STORAGE)
}
if (flag) {
isplay += 1
playLottie() playLottie()
} initList()
checkPermission() } else {
} DialogViews.showGerPermission(this, {
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.addCategory("android.intent.category.DEFAULT")
intent.data = Uri.parse("package:${packageName}")
var isplay = 0 if (intent.resolveActivity(packageManager) != null) {
override fun onPermissionsResult(isGranted: Boolean) { requestStorePermission(launcher, jumpAction = {}, result = { flag ->
super.onPermissionsResult(isGranted) if (flag) {
if (isGranted) {
isplay += 1
if (isplay == 1) {
playLottie() playLottie()
}
initList() initList()
} else { } else {
finishToMain() finishToMain()
} }
})
PermissionTripActivity.launch(this)
} else {
finishToMain()
}
}, {
finishToMain()
})
}
} }
private fun initList() { private fun initList() {
......
...@@ -3,13 +3,18 @@ package com.test.basd.fastcleanerjunk.activity ...@@ -3,13 +3,18 @@ package com.test.basd.fastcleanerjunk.activity
import android.animation.ValueAnimator import android.animation.ValueAnimator
import android.content.Intent import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.net.Uri
import android.provider.Settings
import android.view.animation.LinearInterpolator import android.view.animation.LinearInterpolator
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.blankj.utilcode.util.BarUtils import com.blankj.utilcode.util.BarUtils
import com.test.basd.fastcleanerjunk.databinding.ActivityLayoutParepreScanBinding import com.test.basd.fastcleanerjunk.databinding.ActivityLayoutParepreScanBinding
import com.test.basd.fastcleanerjunk.helps.BaseActivity import com.test.basd.fastcleanerjunk.helps.BaseActivity
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.checkStorePermission
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.requestStorePermission
import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils
import com.test.basd.fastcleanerjunk.view.DialogViews
/** /**
* 引导清理扫描页 * 引导清理扫描页
...@@ -32,27 +37,30 @@ class PrepareScanActivity : BaseActivity<ActivityLayoutParepreScanBinding>() { ...@@ -32,27 +37,30 @@ class PrepareScanActivity : BaseActivity<ActivityLayoutParepreScanBinding>() {
finishToMain() finishToMain()
} }
}) })
} if (checkStorePermission()) {
playLottie()
} else {
override fun onStart() { DialogViews.showGerPermission(this, {
super.onStart() val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
checkPermission() intent.addCategory("android.intent.category.DEFAULT")
} intent.data = Uri.parse("package:${packageName}")
var isplay = 0
override fun onPermissionsResult(isGranted: Boolean) { if (intent.resolveActivity(packageManager) != null) {
// Log.e("MXL", "权限回调: " + isGranted) requestStorePermission(launcher, jumpAction = {}, result = { flag ->
if (isGranted) { if (flag) {
isplay += 1
if (isplay == 1) {
playLottie() playLottie()
} else {
finishToMain()
} }
})
PermissionTripActivity.launch(this)
} else { } else {
finishToMain() finishToMain()
} }
}, {
finishToMain()
})
}
} }
private fun playLottie() { private fun playLottie() {
......
package com.test.basd.fastcleanerjunk.activity package com.test.basd.fastcleanerjunk.activity
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.net.Uri
import android.provider.Settings
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
...@@ -20,9 +24,13 @@ import com.test.basd.fastcleanerjunk.databinding.ActivityLayoutRepeaterdPhotoBin ...@@ -20,9 +24,13 @@ import com.test.basd.fastcleanerjunk.databinding.ActivityLayoutRepeaterdPhotoBin
import com.test.basd.fastcleanerjunk.helps.BaseActivity import com.test.basd.fastcleanerjunk.helps.BaseActivity
import com.test.basd.fastcleanerjunk.helps.BaseApplication import com.test.basd.fastcleanerjunk.helps.BaseApplication
import com.test.basd.fastcleanerjunk.helps.FileHelps import com.test.basd.fastcleanerjunk.helps.FileHelps
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.checkStorePermission
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.requestStorePermission
import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils
import com.test.basd.fastcleanerjunk.view.DialogViews
class PreparedPhotoActivity : BaseActivity<ActivityLayoutRepeaterdPhotoBinding>() {
class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>() {
private var isSelectAll = false private var isSelectAll = false
override val binding: ActivityLayoutRepeaterdPhotoBinding by lazy { override val binding: ActivityLayoutRepeaterdPhotoBinding by lazy {
...@@ -34,16 +42,40 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>( ...@@ -34,16 +42,40 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
binding.idTvDelete.isEnabled = false binding.idTvDelete.isEnabled = false
initListener()
if (checkStorePermission()) {
initData()
} else {
DialogViews.showGerPermission(this, {
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.addCategory("android.intent.category.DEFAULT")
intent.data = Uri.parse("package:${packageName}")
if (intent.resolveActivity(packageManager) != null) {
requestStorePermission(launcher, jumpAction = {}, result = { flag ->
if (flag) {
initData()
} else {
finishToMain()
}
})
PermissionTripActivity.launch(this)
} else {
finishToMain()
}
}, {
finishToMain()
})
}
} }
override fun initListener(){ override fun initListener() {
binding.idBack.setOnClickListener { binding.idBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
} }
onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) { onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() { override fun handleOnBackPressed() {
AdmobUtils.showInterstitialAd(this@RepeaterdPhotoActivity){ AdmobUtils.showInterstitialAd(this@PreparedPhotoActivity) {
finishToMain() finishToMain()
} }
...@@ -65,7 +97,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>( ...@@ -65,7 +97,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
setTvStatus() setTvStatus()
} }
binding.idTvDelete.setOnClickListener { binding.idTvDelete.setOnClickListener {
AdmobUtils.showInterstitialAd(this){ AdmobUtils.showInterstitialAd(this) {
val list = fileList.toList().filter { it.isSelect } val list = fileList.toList().filter { it.isSelect }
if (list.isNotEmpty() && list.all { FileUtils.delete(it.path) }) { if (list.isNotEmpty() && list.all { FileUtils.delete(it.path) }) {
fileList.removeAll(list) fileList.removeAll(list)
...@@ -80,14 +112,15 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>( ...@@ -80,14 +112,15 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
} }
} }
private var fileList = mutableListOf<ImageDataBean>() private var fileList = mutableListOf<ImageDataBean>()
override fun onStart() { override fun onStart() {
super.onStart() super.onStart()
checkPermission() checkPermission()
} }
override fun onPermissionsResult(isGranted: Boolean) { private fun initData() {
if(isGranted){
FileHelps.getImageFiles { FileHelps.getImageFiles {
AdmobUtils.showInterstitialAd(this) AdmobUtils.showInterstitialAd(this)
binding.idLlScaning.isVisible = false binding.idLlScaning.isVisible = false
...@@ -100,14 +133,13 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>( ...@@ -100,14 +133,13 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
binding.idRlList.layoutManager = GridLayoutManager(this, 3) binding.idRlList.layoutManager = GridLayoutManager(this, 3)
binding.idRlList.adapter = mAdapter binding.idRlList.adapter = mAdapter
} }
}else{
finishToMain()
}
} }
private fun setTvStatus() { private fun setTvStatus() {
val it = fileList.filter { it.isSelect } val it = fileList.filter { it.isSelect }
binding.idTvDelete.isEnabled = it.isNotEmpty() binding.idTvDelete.isEnabled = it.isNotEmpty()
} }
private val mAdapter by lazy { private val mAdapter by lazy {
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val ivImage: ImageView val ivImage: ImageView
...@@ -121,7 +153,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>( ...@@ -121,7 +153,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
object : RecyclerView.Adapter<ViewHolder>() { object : RecyclerView.Adapter<ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(this@RepeaterdPhotoActivity).inflate( val view = LayoutInflater.from(this@PreparedPhotoActivity).inflate(
R.layout.item_layout_repeater_photo, parent, false R.layout.item_layout_repeater_photo, parent, false
) )
return ViewHolder(view) return ViewHolder(view)
...@@ -129,6 +161,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>( ...@@ -129,6 +161,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
override fun getItemCount() = fileList.size override fun getItemCount() = fileList.size
@SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ViewHolder, position: Int) { override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = fileList[position] val item = fileList[position]
Glide.with(BaseApplication.context).load(item.path).into(holder.ivImage) Glide.with(BaseApplication.context).load(item.path).into(holder.ivImage)
......
...@@ -48,7 +48,6 @@ class RecentAppActivity : BaseActivity<ActivityRecentAppBinding>() { ...@@ -48,7 +48,6 @@ class RecentAppActivity : BaseActivity<ActivityRecentAppBinding>() {
private lateinit var tabs: Array<String> private lateinit var tabs: Array<String>
private var dataList = ArrayList<AppBean>() private var dataList = ArrayList<AppBean>()
private lateinit var context: Context private lateinit var context: Context
private lateinit var launcher: ActivityLauncher
override val binding: ActivityRecentAppBinding by lazy { override val binding: ActivityRecentAppBinding by lazy {
ActivityRecentAppBinding.inflate(layoutInflater) ActivityRecentAppBinding.inflate(layoutInflater)
......
...@@ -66,7 +66,7 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() { ...@@ -66,7 +66,7 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() {
} }
SIMILAR_PHOTOS -> { SIMILAR_PHOTOS -> {
startActivity(Intent(this, RepeaterdPhotoActivity::class.java)) startActivity(Intent(this, PreparedPhotoActivity::class.java))
} }
PHOTO_COMPRESS -> { PHOTO_COMPRESS -> {
......
...@@ -2,11 +2,16 @@ package com.test.basd.fastcleanerjunk.activity ...@@ -2,11 +2,16 @@ package com.test.basd.fastcleanerjunk.activity
import android.animation.ValueAnimator import android.animation.ValueAnimator
import android.content.Intent import android.content.Intent
import android.net.Uri
import android.provider.Settings
import android.view.animation.LinearInterpolator import android.view.animation.LinearInterpolator
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import com.test.basd.fastcleanerjunk.databinding.ActivityLayoutScanJunkBinding import com.test.basd.fastcleanerjunk.databinding.ActivityLayoutScanJunkBinding
import com.test.basd.fastcleanerjunk.helps.BaseActivity import com.test.basd.fastcleanerjunk.helps.BaseActivity
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.checkStorePermission
import com.test.basd.fastcleanerjunk.helps.PermissionHelp.requestStorePermission
import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils
import com.test.basd.fastcleanerjunk.view.DialogViews
class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() { class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
override val isLightMode = true override val isLightMode = true
...@@ -26,23 +31,31 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() { ...@@ -26,23 +31,31 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
} }
}) })
}
override fun onStart() { if (checkStorePermission()){
super.onStart() playLottie()
checkPermission() }else{
} DialogViews.showGerPermission(this, {
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.addCategory("android.intent.category.DEFAULT")
intent.data = Uri.parse("package:${packageName}")
var isplay = 0 if (intent.resolveActivity(packageManager) != null) {
override fun onPermissionsResult(isGranted: Boolean) { requestStorePermission(launcher, jumpAction = {}, result = { flag ->
if (isGranted) { if (flag) {
isplay += 1
if (isplay == 1) {
playLottie() playLottie()
} else {
finishToMain()
} }
})
PermissionTripActivity.launch(this)
} else { } else {
finishToMain() finishToMain()
} }
}, {
finishToMain()
})
}
} }
private fun playLottie() { private fun playLottie() {
......
...@@ -2,6 +2,7 @@ package com.test.basd.fastcleanerjunk.activity ...@@ -2,6 +2,7 @@ package com.test.basd.fastcleanerjunk.activity
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Environment import android.os.Environment
import androidx.lifecycle.lifecycleScope
import com.ironsource.mediationsdk.f import com.ironsource.mediationsdk.f
import com.test.basd.fastcleanerjunk.adapter.ScreenShotAdapter import com.test.basd.fastcleanerjunk.adapter.ScreenShotAdapter
import com.test.basd.fastcleanerjunk.bean.ScreenPhotoBean import com.test.basd.fastcleanerjunk.bean.ScreenPhotoBean
...@@ -9,6 +10,11 @@ import com.test.basd.fastcleanerjunk.bean.ScreenshotBean ...@@ -9,6 +10,11 @@ import com.test.basd.fastcleanerjunk.bean.ScreenshotBean
import com.test.basd.fastcleanerjunk.databinding.ActivityScreenShotBinding import com.test.basd.fastcleanerjunk.databinding.ActivityScreenShotBinding
import com.test.basd.fastcleanerjunk.helps.BaseActivity import com.test.basd.fastcleanerjunk.helps.BaseActivity
import com.test.basd.fastcleanerjunk.helps.KotlinExt.toFormatSize import com.test.basd.fastcleanerjunk.helps.KotlinExt.toFormatSize
import com.test.basd.fastcleanerjunk.view.FileDeleteDialog.showFileDeleteDialog
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
import okhttp3.internal.wait
import java.io.File import java.io.File
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
...@@ -62,6 +68,22 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() { ...@@ -62,6 +68,22 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
val size = screenShotAdapter.getSelectDataSize() val size = screenShotAdapter.getSelectDataSize()
setCleanUpUi(size) setCleanUpUi(size)
} }
binding.tvClean.setOnClickListener {
val files = screenShotAdapter.getSelectData()
showFileDeleteDialog {
lifecycleScope.launch(Dispatchers.Main) {
async {
files.forEach { file ->
runCatching {
if (file.exists()) file.delete()
}
}
}.wait()
}
screenShotAdapter.removeData(files)
}
}
} }
private fun getScreenshotBean(): ArrayList<ScreenshotBean> { private fun getScreenshotBean(): ArrayList<ScreenshotBean> {
......
...@@ -9,7 +9,7 @@ import com.test.basd.fastcleanerjunk.activity.LargeFileCleanActivity ...@@ -9,7 +9,7 @@ import com.test.basd.fastcleanerjunk.activity.LargeFileCleanActivity
import com.test.basd.fastcleanerjunk.activity.MainActivity import com.test.basd.fastcleanerjunk.activity.MainActivity
import com.test.basd.fastcleanerjunk.activity.NetWorkActivity import com.test.basd.fastcleanerjunk.activity.NetWorkActivity
import com.test.basd.fastcleanerjunk.activity.RecentAppActivity import com.test.basd.fastcleanerjunk.activity.RecentAppActivity
import com.test.basd.fastcleanerjunk.activity.RepeaterdPhotoActivity import com.test.basd.fastcleanerjunk.activity.PreparedPhotoActivity
import com.test.basd.fastcleanerjunk.activity.ScanJunkActivity import com.test.basd.fastcleanerjunk.activity.ScanJunkActivity
import com.test.basd.fastcleanerjunk.activity.photocompress.photo.StartCompressionPhotoActivity import com.test.basd.fastcleanerjunk.activity.photocompress.photo.StartCompressionPhotoActivity
import com.test.basd.fastcleanerjunk.bean.ConfigBean.Companion.ID_APP_MANAGER import com.test.basd.fastcleanerjunk.bean.ConfigBean.Companion.ID_APP_MANAGER
...@@ -73,7 +73,7 @@ object SplashJumpUtils { ...@@ -73,7 +73,7 @@ object SplashJumpUtils {
} }
ID_SIMILAR_IMAGE -> { ID_SIMILAR_IMAGE -> {
context.startActivity(Intent(context, RepeaterdPhotoActivity::class.java)) context.startActivity(Intent(context, PreparedPhotoActivity::class.java))
} }
//================================被动广播========================================= //================================被动广播=========================================
......
...@@ -12,6 +12,7 @@ import com.test.basd.fastcleanerjunk.bean.ScreenshotBean ...@@ -12,6 +12,7 @@ import com.test.basd.fastcleanerjunk.bean.ScreenshotBean
import com.test.basd.fastcleanerjunk.databinding.ItemScreenPhotoBinding import com.test.basd.fastcleanerjunk.databinding.ItemScreenPhotoBinding
import com.test.basd.fastcleanerjunk.databinding.ItemScreenshotBinding import com.test.basd.fastcleanerjunk.databinding.ItemScreenshotBinding
import com.test.basd.fastcleanerjunk.view.XmlEx.inflate import com.test.basd.fastcleanerjunk.view.XmlEx.inflate
import java.io.File
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.ArrayList import java.util.ArrayList
import java.util.Locale import java.util.Locale
...@@ -84,4 +85,14 @@ class ScreenShotAdapter( ...@@ -84,4 +85,14 @@ class ScreenShotAdapter(
fun getSelectDataSize(): Int { fun getSelectDataSize(): Int {
return beans.sumOf { bean -> bean.screenPhotoBean.filter { it.isSelect }.size } return beans.sumOf { bean -> bean.screenPhotoBean.filter { it.isSelect }.size }
} }
fun getSelectData(): List<File> {
return beans.flatMap { bean -> bean.screenPhotoBean.filter { it.isSelect }.map { s -> s.file } }
}
fun removeData(files: List<File>) {
beans.forEach {
}
}
} }
\ No newline at end of file
...@@ -6,7 +6,7 @@ import com.test.basd.fastcleanerjunk.activity.BatteryInfoActivity ...@@ -6,7 +6,7 @@ import com.test.basd.fastcleanerjunk.activity.BatteryInfoActivity
import com.test.basd.fastcleanerjunk.activity.LargeFileCleanActivity import com.test.basd.fastcleanerjunk.activity.LargeFileCleanActivity
import com.test.basd.fastcleanerjunk.activity.NetWorkActivity import com.test.basd.fastcleanerjunk.activity.NetWorkActivity
import com.test.basd.fastcleanerjunk.activity.RecentAppActivity import com.test.basd.fastcleanerjunk.activity.RecentAppActivity
import com.test.basd.fastcleanerjunk.activity.RepeaterdPhotoActivity import com.test.basd.fastcleanerjunk.activity.PreparedPhotoActivity
import com.test.basd.fastcleanerjunk.activity.ScanJunkActivity import com.test.basd.fastcleanerjunk.activity.ScanJunkActivity
import com.test.basd.fastcleanerjunk.activity.ScreenShotActivity import com.test.basd.fastcleanerjunk.activity.ScreenShotActivity
import com.test.basd.fastcleanerjunk.activity.photocompress.photo.StartCompressionPhotoActivity import com.test.basd.fastcleanerjunk.activity.photocompress.photo.StartCompressionPhotoActivity
...@@ -61,7 +61,7 @@ class ToolsFragment : BaseFragment<FragmentLayoutToolsBinding>() { ...@@ -61,7 +61,7 @@ class ToolsFragment : BaseFragment<FragmentLayoutToolsBinding>() {
} }
SIMILAR_PHOTOS -> { SIMILAR_PHOTOS -> {
startActivity(Intent(requireContext(), RepeaterdPhotoActivity::class.java)) startActivity(Intent(requireContext(), PreparedPhotoActivity::class.java))
} }
......
...@@ -27,7 +27,10 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -27,7 +27,10 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
protected open val isLightMode: Boolean? = null protected open val isLightMode: Boolean? = null
lateinit var launcher: ActivityLauncher
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
launcher = ActivityLauncher(this)
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(binding.root) setContentView(binding.root)
isLightMode?.let { isLightMode?.let {
......
package com.test.basd.fastcleanerjunk.helps
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Environment
import android.provider.Settings
import com.blankj.utilcode.constant.PermissionConstants
import com.blankj.utilcode.util.PermissionUtils
object PermissionHelp {
fun checkStorePermission(): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
Environment.isExternalStorageManager()
} else {
PermissionUtils.isGranted(PermissionConstants.STORAGE)
}
}
fun Context.requestStorePermission(
launcher: ActivityLauncher,
jumpAction: (() -> Unit)? = null,
result: (flag: Boolean) -> Unit
) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val intent =
Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.addCategory("android.intent.category.DEFAULT")
intent.data = Uri.parse("package:${packageName}")
jumpAction?.invoke()
launcher.launch(intent) {
result.invoke(checkStorePermission())
}
} else {
PermissionUtils.permissionGroup(PermissionConstants.STORAGE).callback { isAllGranted, _, _, _ ->
result.invoke(isAllGranted)
}
}
}
}
\ No newline at end of file
...@@ -208,7 +208,6 @@ ...@@ -208,7 +208,6 @@
</LinearLayout> </LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ll_lottie" android:id="@+id/ll_lottie"
android:layout_width="match_parent" android:layout_width="match_parent"
......
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