Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
F
Fast Cleaner Junk
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
Fast Cleaner Junk
Commits
328eac6a
Commit
328eac6a
authored
Jun 12, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交ui
parent
b6a1bb34
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
223 additions
and
84 deletions
+223
-84
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+1
-1
AppManagerActivity.kt
.../test/basd/fastcleanerjunk/activity/AppManagerActivity.kt
+0
-1
LargeFileCleanActivity.kt
...t/basd/fastcleanerjunk/activity/LargeFileCleanActivity.kt
+28
-20
PrepareScanActivity.kt
...test/basd/fastcleanerjunk/activity/PrepareScanActivity.kt
+27
-19
PreparedPhotoActivity.kt
...st/basd/fastcleanerjunk/activity/PreparedPhotoActivity.kt
+55
-22
RecentAppActivity.kt
...m/test/basd/fastcleanerjunk/activity/RecentAppActivity.kt
+0
-1
ResultActivity.kt
.../com/test/basd/fastcleanerjunk/activity/ResultActivity.kt
+1
-1
ScanJunkActivity.kt
...om/test/basd/fastcleanerjunk/activity/ScanJunkActivity.kt
+27
-14
ScreenShotActivity.kt
.../test/basd/fastcleanerjunk/activity/ScreenShotActivity.kt
+22
-0
SplashJumpUtils.kt
...t/basd/fastcleanerjunk/activity/splash/SplashJumpUtils.kt
+2
-2
ScreenShotAdapter.kt
...om/test/basd/fastcleanerjunk/adapter/ScreenShotAdapter.kt
+11
-0
ToolsFragment.kt
...a/com/test/basd/fastcleanerjunk/fragment/ToolsFragment.kt
+2
-2
BaseActivity.kt
.../java/com/test/basd/fastcleanerjunk/helps/BaseActivity.kt
+3
-0
PermissionHelp.kt
...ava/com/test/basd/fastcleanerjunk/helps/PermissionHelp.kt
+44
-0
activity_layout_large_file.xml
app/src/main/res/layout/activity_layout_large_file.xml
+0
-1
No files found.
app/src/main/AndroidManifest.xml
View file @
328eac6a
...
...
@@ -141,7 +141,7 @@
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
".activity.
Repeater
dPhotoActivity"
android:name=
".activity.
Prepare
dPhotoActivity"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/AppManagerActivity.kt
View file @
328eac6a
...
...
@@ -57,7 +57,6 @@ import java.util.concurrent.LinkedBlockingDeque
*/
class
AppManagerActivity
:
BaseActivity
<
ActivityAppManagerBinding
>()
{
override
val
isLightMode
=
true
private
lateinit
var
launcher
:
ActivityLauncher
private
val
dataList
=
ArrayList
<
AppBean
>()
private
val
pages
=
arrayListOf
<
Fragment
>()
private
lateinit
var
pagerAdapter
:
ScreenSlidePagerAdapter
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/LargeFileCleanActivity.kt
View file @
328eac6a
package
com.test.basd.fastcleanerjunk.activity
import
android.annotation.SuppressLint
import
android.content.Intent
import
android.graphics.Color
import
android.graphics.drawable.ColorDrawable
import
android.net.Uri
import
android.os.Build
import
android.os.Environment
import
android.provider.Settings
import
android.text.format.Formatter
import
android.view.View
import
android.view.ViewGroup
...
...
@@ -43,8 +46,11 @@ import com.test.basd.fastcleanerjunk.databinding.PopupwindowFileFilterBinding
import
com.test.basd.fastcleanerjunk.helps.BaseActivity
import
com.test.basd.fastcleanerjunk.helps.FileHelps
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.ads.AdmobUtils
import
com.test.basd.fastcleanerjunk.view.DialogViews
import
com.test.basd.fastcleanerjunk.view.FileDeleteDialog.showFileDeleteDialog
import
com.test.basd.fastcleanerjunk.view.FileDetailDialog.showFileDetailDialog
import
com.test.basd.fastcleanerjunk.view.XmlEx.inflate
...
...
@@ -165,29 +171,31 @@ class LargeFileCleanActivity : BaseActivity<ActivityLayoutLargeFileBinding>() {
binding
.
tvSize
.
text
=
filterSize
binding
.
tvTime
.
text
=
filterTime
val
flag
=
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
R
)
{
Environment
.
isExternalStorageManager
()
}
else
{
PermissionUtils
.
isGranted
(
PermissionConstants
.
STORAGE
)
}
if
(
flag
)
{
isplay
+=
1
if
(
checkStorePermission
())
{
playLottie
()
}
checkPermission
()
}
var
isplay
=
0
override
fun
onPermissionsResult
(
isGranted
:
Boolean
)
{
super
.
onPermissionsResult
(
isGranted
)
if
(
isGranted
)
{
isplay
+=
1
if
(
isplay
==
1
)
{
playLottie
()
}
initList
()
}
else
{
finishToMain
()
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
)
{
playLottie
()
initList
()
}
else
{
finishToMain
()
}
})
PermissionTripActivity
.
launch
(
this
)
}
else
{
finishToMain
()
}
},
{
finishToMain
()
})
}
}
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/PrepareScanActivity.kt
View file @
328eac6a
...
...
@@ -3,13 +3,18 @@ package com.test.basd.fastcleanerjunk.activity
import
android.animation.ValueAnimator
import
android.content.Intent
import
android.graphics.Color
import
android.net.Uri
import
android.provider.Settings
import
android.view.animation.LinearInterpolator
import
androidx.activity.OnBackPressedCallback
import
androidx.core.view.updatePadding
import
com.blankj.utilcode.util.BarUtils
import
com.test.basd.fastcleanerjunk.databinding.ActivityLayoutParepreScanBinding
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.view.DialogViews
/**
* 引导清理扫描页
...
...
@@ -32,26 +37,29 @@ class PrepareScanActivity : BaseActivity<ActivityLayoutParepreScanBinding>() {
finishToMain
()
}
})
}
override
fun
onStart
()
{
super
.
onStart
()
checkPermission
()
}
var
isplay
=
0
override
fun
onPermissionsResult
(
isGranted
:
Boolean
)
{
// Log.e("MXL", "权限回调: " + isGranted)
if
(
isGranted
)
{
isplay
+=
1
if
(
isplay
==
1
)
{
playLottie
()
}
if
(
checkStorePermission
())
{
playLottie
()
}
else
{
finishToMain
()
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
)
{
playLottie
()
}
else
{
finishToMain
()
}
})
PermissionTripActivity
.
launch
(
this
)
}
else
{
finishToMain
()
}
},
{
finishToMain
()
})
}
}
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/
Repeater
dPhotoActivity.kt
→
app/src/main/java/com/test/basd/fastcleanerjunk/activity/
Prepare
dPhotoActivity.kt
View file @
328eac6a
package
com.test.basd.fastcleanerjunk.activity
import
android.annotation.SuppressLint
import
android.content.Intent
import
android.graphics.Color
import
android.net.Uri
import
android.provider.Settings
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
...
...
@@ -20,9 +24,13 @@ import com.test.basd.fastcleanerjunk.databinding.ActivityLayoutRepeaterdPhotoBin
import
com.test.basd.fastcleanerjunk.helps.BaseActivity
import
com.test.basd.fastcleanerjunk.helps.BaseApplication
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.view.DialogViews
class
PreparedPhotoActivity
:
BaseActivity
<
ActivityLayoutRepeaterdPhotoBinding
>()
{
class
RepeaterdPhotoActivity
:
BaseActivity
<
ActivityLayoutRepeaterdPhotoBinding
>()
{
private
var
isSelectAll
=
false
override
val
binding
:
ActivityLayoutRepeaterdPhotoBinding
by
lazy
{
...
...
@@ -34,16 +42,40 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
BarUtils
.
setStatusBarColor
(
this
,
Color
.
TRANSPARENT
)
binding
.
root
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
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
{
onBackPressedDispatcher
.
onBackPressed
()
}
onBackPressedDispatcher
.
addCallback
(
object
:
OnBackPressedCallback
(
true
)
{
override
fun
handleOnBackPressed
()
{
AdmobUtils
.
showInterstitialAd
(
this
@
RepeaterdPhotoActivity
)
{
AdmobUtils
.
showInterstitialAd
(
this
@
PreparedPhotoActivity
)
{
finishToMain
()
}
...
...
@@ -65,7 +97,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
setTvStatus
()
}
binding
.
idTvDelete
.
setOnClickListener
{
AdmobUtils
.
showInterstitialAd
(
this
){
AdmobUtils
.
showInterstitialAd
(
this
)
{
val
list
=
fileList
.
toList
().
filter
{
it
.
isSelect
}
if
(
list
.
isNotEmpty
()
&&
list
.
all
{
FileUtils
.
delete
(
it
.
path
)
})
{
fileList
.
removeAll
(
list
)
...
...
@@ -80,34 +112,34 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
}
}
private
var
fileList
=
mutableListOf
<
ImageDataBean
>()
override
fun
onStart
()
{
super
.
onStart
()
checkPermission
()
}
override
fun
onPermissionsResult
(
isGranted
:
Boolean
)
{
if
(
isGranted
){
FileHelps
.
getImageFiles
{
AdmobUtils
.
showInterstitialAd
(
this
)
binding
.
idLlScaning
.
isVisible
=
false
binding
.
idLlResult
.
isVisible
=
true
fileList
=
FileHelps
.
similarImageList
binding
.
idTvNoData
.
isVisible
=
fileList
.
size
==
0
binding
.
idTvDelete
.
isVisible
=
fileList
.
size
>
0
binding
.
idTvAll
.
isVisible
=
fileList
.
size
>
0
binding
.
idImgSelect
.
isVisible
=
fileList
.
size
>
0
binding
.
idRlList
.
layoutManager
=
GridLayoutManager
(
this
,
3
)
binding
.
idRlList
.
adapter
=
mAdapter
}
}
else
{
finishToMain
()
private
fun
initData
()
{
FileHelps
.
getImageFiles
{
AdmobUtils
.
showInterstitialAd
(
this
)
binding
.
idLlScaning
.
isVisible
=
false
binding
.
idLlResult
.
isVisible
=
true
fileList
=
FileHelps
.
similarImageList
binding
.
idTvNoData
.
isVisible
=
fileList
.
size
==
0
binding
.
idTvDelete
.
isVisible
=
fileList
.
size
>
0
binding
.
idTvAll
.
isVisible
=
fileList
.
size
>
0
binding
.
idImgSelect
.
isVisible
=
fileList
.
size
>
0
binding
.
idRlList
.
layoutManager
=
GridLayoutManager
(
this
,
3
)
binding
.
idRlList
.
adapter
=
mAdapter
}
}
private
fun
setTvStatus
()
{
val
it
=
fileList
.
filter
{
it
.
isSelect
}
binding
.
idTvDelete
.
isEnabled
=
it
.
isNotEmpty
()
}
private
val
mAdapter
by
lazy
{
class
ViewHolder
(
view
:
View
)
:
RecyclerView
.
ViewHolder
(
view
)
{
val
ivImage
:
ImageView
...
...
@@ -121,7 +153,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
object
:
RecyclerView
.
Adapter
<
ViewHolder
>()
{
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ViewHolder
{
val
view
=
LayoutInflater
.
from
(
this
@
Repeater
dPhotoActivity
).
inflate
(
val
view
=
LayoutInflater
.
from
(
this
@
Prepare
dPhotoActivity
).
inflate
(
R
.
layout
.
item_layout_repeater_photo
,
parent
,
false
)
return
ViewHolder
(
view
)
...
...
@@ -129,6 +161,7 @@ class RepeaterdPhotoActivity: BaseActivity<ActivityLayoutRepeaterdPhotoBinding>(
override
fun
getItemCount
()
=
fileList
.
size
@SuppressLint
(
"SetTextI18n"
)
override
fun
onBindViewHolder
(
holder
:
ViewHolder
,
position
:
Int
)
{
val
item
=
fileList
[
position
]
Glide
.
with
(
BaseApplication
.
context
).
load
(
item
.
path
).
into
(
holder
.
ivImage
)
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/RecentAppActivity.kt
View file @
328eac6a
...
...
@@ -48,7 +48,6 @@ class RecentAppActivity : BaseActivity<ActivityRecentAppBinding>() {
private
lateinit
var
tabs
:
Array
<
String
>
private
var
dataList
=
ArrayList
<
AppBean
>()
private
lateinit
var
context
:
Context
private
lateinit
var
launcher
:
ActivityLauncher
override
val
binding
:
ActivityRecentAppBinding
by
lazy
{
ActivityRecentAppBinding
.
inflate
(
layoutInflater
)
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/ResultActivity.kt
View file @
328eac6a
...
...
@@ -66,7 +66,7 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() {
}
SIMILAR_PHOTOS
->
{
startActivity
(
Intent
(
this
,
Repeater
dPhotoActivity
::
class
.
java
))
startActivity
(
Intent
(
this
,
Prepare
dPhotoActivity
::
class
.
java
))
}
PHOTO_COMPRESS
->
{
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/ScanJunkActivity.kt
View file @
328eac6a
...
...
@@ -2,11 +2,16 @@ package com.test.basd.fastcleanerjunk.activity
import
android.animation.ValueAnimator
import
android.content.Intent
import
android.net.Uri
import
android.provider.Settings
import
android.view.animation.LinearInterpolator
import
androidx.activity.OnBackPressedCallback
import
com.test.basd.fastcleanerjunk.databinding.ActivityLayoutScanJunkBinding
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.view.DialogViews
class
ScanJunkActivity
:
BaseActivity
<
ActivityLayoutScanJunkBinding
>()
{
override
val
isLightMode
=
true
...
...
@@ -26,22 +31,30 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
}
})
}
override
fun
onStart
()
{
super
.
onStart
()
checkPermission
()
}
if
(
checkStorePermission
()){
playLottie
()
}
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
override
fun
onPermissionsResult
(
isGranted
:
Boolean
)
{
if
(
isGranted
)
{
isplay
+=
1
if
(
isplay
==
1
)
{
playLottie
()
}
}
else
{
finishToMain
()
if
(
intent
.
resolveActivity
(
packageManager
)
!=
null
)
{
requestStorePermission
(
launcher
,
jumpAction
=
{},
result
=
{
flag
->
if
(
flag
)
{
playLottie
()
}
else
{
finishToMain
()
}
})
PermissionTripActivity
.
launch
(
this
)
}
else
{
finishToMain
()
}
},
{
finishToMain
()
})
}
}
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/ScreenShotActivity.kt
View file @
328eac6a
...
...
@@ -2,6 +2,7 @@ package com.test.basd.fastcleanerjunk.activity
import
android.annotation.SuppressLint
import
android.os.Environment
import
androidx.lifecycle.lifecycleScope
import
com.ironsource.mediationsdk.f
import
com.test.basd.fastcleanerjunk.adapter.ScreenShotAdapter
import
com.test.basd.fastcleanerjunk.bean.ScreenPhotoBean
...
...
@@ -9,6 +10,11 @@ import com.test.basd.fastcleanerjunk.bean.ScreenshotBean
import
com.test.basd.fastcleanerjunk.databinding.ActivityScreenShotBinding
import
com.test.basd.fastcleanerjunk.helps.BaseActivity
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.text.SimpleDateFormat
import
java.util.Locale
...
...
@@ -62,6 +68,22 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
val
size
=
screenShotAdapter
.
getSelectDataSize
()
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
>
{
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/activity/splash/SplashJumpUtils.kt
View file @
328eac6a
...
...
@@ -9,7 +9,7 @@ import com.test.basd.fastcleanerjunk.activity.LargeFileCleanActivity
import
com.test.basd.fastcleanerjunk.activity.MainActivity
import
com.test.basd.fastcleanerjunk.activity.NetWorkActivity
import
com.test.basd.fastcleanerjunk.activity.RecentAppActivity
import
com.test.basd.fastcleanerjunk.activity.
Repeater
dPhotoActivity
import
com.test.basd.fastcleanerjunk.activity.
Prepare
dPhotoActivity
import
com.test.basd.fastcleanerjunk.activity.ScanJunkActivity
import
com.test.basd.fastcleanerjunk.activity.photocompress.photo.StartCompressionPhotoActivity
import
com.test.basd.fastcleanerjunk.bean.ConfigBean.Companion.ID_APP_MANAGER
...
...
@@ -73,7 +73,7 @@ object SplashJumpUtils {
}
ID_SIMILAR_IMAGE
->
{
context
.
startActivity
(
Intent
(
context
,
Repeater
dPhotoActivity
::
class
.
java
))
context
.
startActivity
(
Intent
(
context
,
Prepare
dPhotoActivity
::
class
.
java
))
}
//================================被动广播=========================================
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/adapter/ScreenShotAdapter.kt
View file @
328eac6a
...
...
@@ -12,6 +12,7 @@ import com.test.basd.fastcleanerjunk.bean.ScreenshotBean
import
com.test.basd.fastcleanerjunk.databinding.ItemScreenPhotoBinding
import
com.test.basd.fastcleanerjunk.databinding.ItemScreenshotBinding
import
com.test.basd.fastcleanerjunk.view.XmlEx.inflate
import
java.io.File
import
java.text.SimpleDateFormat
import
java.util.ArrayList
import
java.util.Locale
...
...
@@ -84,4 +85,14 @@ class ScreenShotAdapter(
fun
getSelectDataSize
():
Int
{
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
app/src/main/java/com/test/basd/fastcleanerjunk/fragment/ToolsFragment.kt
View file @
328eac6a
...
...
@@ -6,7 +6,7 @@ import com.test.basd.fastcleanerjunk.activity.BatteryInfoActivity
import
com.test.basd.fastcleanerjunk.activity.LargeFileCleanActivity
import
com.test.basd.fastcleanerjunk.activity.NetWorkActivity
import
com.test.basd.fastcleanerjunk.activity.RecentAppActivity
import
com.test.basd.fastcleanerjunk.activity.
Repeater
dPhotoActivity
import
com.test.basd.fastcleanerjunk.activity.
Prepare
dPhotoActivity
import
com.test.basd.fastcleanerjunk.activity.ScanJunkActivity
import
com.test.basd.fastcleanerjunk.activity.ScreenShotActivity
import
com.test.basd.fastcleanerjunk.activity.photocompress.photo.StartCompressionPhotoActivity
...
...
@@ -61,7 +61,7 @@ class ToolsFragment : BaseFragment<FragmentLayoutToolsBinding>() {
}
SIMILAR_PHOTOS
->
{
startActivity
(
Intent
(
requireContext
(),
Repeater
dPhotoActivity
::
class
.
java
))
startActivity
(
Intent
(
requireContext
(),
Prepare
dPhotoActivity
::
class
.
java
))
}
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/helps/BaseActivity.kt
View file @
328eac6a
...
...
@@ -27,7 +27,10 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
protected
open
val
isLightMode
:
Boolean
?
=
null
lateinit
var
launcher
:
ActivityLauncher
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
launcher
=
ActivityLauncher
(
this
)
super
.
onCreate
(
savedInstanceState
)
setContentView
(
binding
.
root
)
isLightMode
?.
let
{
...
...
app/src/main/java/com/test/basd/fastcleanerjunk/helps/PermissionHelp.kt
0 → 100644
View file @
328eac6a
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
app/src/main/res/layout/activity_layout_large_file.xml
View file @
328eac6a
...
...
@@ -208,7 +208,6 @@
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/ll_lottie"
android:layout_width=
"match_parent"
...
...
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