Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
Super File Manager
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
Super File Manager
Commits
579c5771
Commit
579c5771
authored
Jun 08, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
========节日加班==========
parent
6d47c8fc
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
297 additions
and
154 deletions
+297
-154
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+7
-7
CleanJunkActivity.kt
...a/com/base/superfilemanager/activity/CleanJunkActivity.kt
+9
-33
PermissionManagerActivity.kt
...se/superfilemanager/activity/PermissionManagerActivity.kt
+2
-2
SettingActivity.kt
...ava/com/base/superfilemanager/activity/SettingActivity.kt
+60
-0
NewSplashActivity.kt
...ase/superfilemanager/activity/splash/NewSplashActivity.kt
+1
-11
PrivacyAgreementManager.kt
...perfilemanager/activity/splash/PrivacyAgreementManager.kt
+1
-1
SplashJumpUtils.kt
.../base/superfilemanager/activity/splash/SplashJumpUtils.kt
+2
-22
ConfigBean.kt
...rc/main/java/com/base/superfilemanager/bean/ConfigBean.kt
+0
-10
ActionBroadcast.kt
...java/com/base/superfilemanager/display/ActionBroadcast.kt
+0
-25
NotificationHelper.kt
...a/com/base/superfilemanager/display/NotificationHelper.kt
+0
-29
PushStrategy.kt
...in/java/com/base/superfilemanager/display/PushStrategy.kt
+0
-2
FcmHelper.kt
...n/java/com/base/superfilemanager/display/fcm/FcmHelper.kt
+11
-5
MyFirebaseMessagingReceiver.kt
...perfilemanager/display/fcm/MyFirebaseMessagingReceiver.kt
+2
-2
NotificationJobService.kt
...se/superfilemanager/display/fcm/NotificationJobService.kt
+14
-0
HomeFragment.kt
...n/java/com/base/superfilemanager/fragment/HomeFragment.kt
+4
-0
ConfigHelper.kt
...main/java/com/base/superfilemanager/helps/ConfigHelper.kt
+16
-2
EventHelper.kt
.../main/java/com/base/superfilemanager/helps/EventHelper.kt
+4
-0
color_switch_track_selector.xml
app/src/main/res/color/color_switch_track_selector.xml
+5
-0
bg_switch_thumb_ffffff.xml
app/src/main/res/drawable/bg_switch_thumb_ffffff.xml
+14
-0
bg_switch_track.xml
app/src/main/res/drawable/bg_switch_track.xml
+10
-0
activity_setting.xml
app/src/main/res/layout/activity_setting.xml
+123
-0
fragment_layout_home.xml
app/src/main/res/layout/fragment_layout_home.xml
+12
-3
setting_home.png
app/src/main/res/mipmap-xxhdpi/setting_home.png
+0
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
579c5771
...
...
@@ -52,6 +52,12 @@
</intent-filter>
</activity>
<activity
android:name=
".activity.SettingActivity"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
>
</activity>
<activity
android:name=
".activity.FileCategoryActivity"
android:exported=
"false"
...
...
@@ -94,13 +100,7 @@
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
"com.base.superfilemanager.activity.MainActivity"
android:exported=
"true"
>
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
android:exported=
"true"
></activity>
<activity
android:name=
"com.base.superfilemanager.activity.ScanJunkActivity"
android:screenOrientation=
"portrait"
...
...
app/src/main/java/com/base/superfilemanager/activity/CleanJunkActivity.kt
View file @
579c5771
...
...
@@ -57,8 +57,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
)
}
// private val child1 = ArrayList<ChildBean>()
// private val child2 = ArrayList<ChildBean>()
private
val
child3
=
ArrayList
<
ChildBean
>()
private
val
child4
=
ArrayList
<
ChildBean
>()
private
val
child5
=
ArrayList
<
ChildBean
>()
...
...
@@ -110,22 +108,12 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
FileHelps
.
getFileList
({
},
{
// if (mData.isEmpty()) {
//
//
// }
FileHelps
.
fileList
.
toList
().
let
{
it
->
if
(
it
.
isNotEmpty
())
{
// child3.clear()
// child4.clear()
// child5.clear()
// sizes[0] = 0
// sizes[1] = 0
// sizes[2] = 0
val
a
=
it
.
filter
{
it
.
isApk
()
}
val
halfSize
=
if
(
a
.
size
%
2
==
1
)
a
.
size
/
2
+
1
else
a
.
size
/
2
val
firstHalf
=
a
.
subList
(
0
,
halfSize
)
firstHalf
.
forEach
{
l
->
a
.
forEach
{
l
->
sizes
[
0
]
+=
l
.
size
// junkList.add(p0.path)
val
bean
=
ChildBean
(
R
.
mipmap
.
apk
,
l
.
name
,
l
.
path
,
l
.
size
)
...
...
@@ -133,11 +121,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
}
ScanCount
+=
1
updateSize
(
doneIndex
=
0
)
// mData.addAll(it)
val
b
=
it
.
filter
{
it
.
isJunk
()
}
val
b
h
alfSize
=
if
(
b
.
size
%
2
==
1
)
b
.
size
/
2
+
1
else
b
.
size
/
2
val
b
firstHalf
=
b
.
subList
(
0
,
bh
alfSize
)
b
firstHalf
.
forEach
{
l
->
val
b
H
alfSize
=
if
(
b
.
size
%
2
==
1
)
b
.
size
/
2
+
1
else
b
.
size
/
2
val
b
FirstHalf
=
b
.
subList
(
0
,
bH
alfSize
)
b
.
forEach
{
l
->
sizes
[
1
]
+=
l
.
size
// junkList.add(p0.path)
val
bean
=
ChildBean
(
null
,
l
.
name
,
l
.
path
,
l
.
size
)
...
...
@@ -146,11 +133,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
ScanCount
+=
1
updateSize
(
doneIndex
=
1
)
val
c
=
it
.
filter
{
it
.
isOtherTrash
()
}
val
c
h
alfSize
=
if
(
c
.
size
%
2
==
1
)
c
.
size
/
2
+
1
else
c
.
size
/
2
val
c
firstHalf
=
c
.
subList
(
0
,
ch
alfSize
)
c
firstHalf
.
forEach
{
l
->
val
c
H
alfSize
=
if
(
c
.
size
%
2
==
1
)
c
.
size
/
2
+
1
else
c
.
size
/
2
val
c
FirstHalf
=
c
.
subList
(
0
,
cH
alfSize
)
c
.
forEach
{
l
->
sizes
[
2
]
+=
l
.
size
// junkList.add(p0.path)
val
bean
=
ChildBean
(
null
,
l
.
name
,
l
.
path
,
l
.
size
)
child5
.
add
(
bean
)
}
...
...
@@ -173,7 +159,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
selectSize
=
0L
for
(
i
in
parentList
.
indices
)
{
if
(
parentList
[
i
].
childItem
.
isNotEmpty
())
{
val
child
s
ize
=
parentList
[
i
].
childItem
.
filter
{
val
child
S
ize
=
parentList
[
i
].
childItem
.
filter
{
it
.
isChildSelected
}.
sumOf
{
it
.
childSize
...
...
@@ -187,7 +173,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
}
}
}
selectSize
+=
child
s
ize
selectSize
+=
child
S
ize
}
else
{
if
(
parentList
[
i
].
isParentSelected
)
{
selectSize
+=
parentList
[
i
].
parentSize
...
...
@@ -263,12 +249,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
it
.
isChildSelected
}.
map
{
it
.
chilepath
})
}
// for (item in parentList) {
// if (item.isParentSelected) {
// Log.e("MXL", "updateView: " + item)
// }
// }
}
private
val
mAdapter
by
lazy
{
...
...
@@ -375,10 +355,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
val
childType
=
parentList
[
groupPosition
].
childItem
[
childPosition
]
when
(
groupPosition
)
{
0
->
{
// val c = ConfigHelper.appList?.firstOrNull {
// it.name == childType.childname
// }
// viewHolder.binding.idImgIcon.setImageDrawable(c?.icon)
val
packageManager
:
PackageManager
=
this
@CleanJunkActivity
.
packageManager
val
apkFilePath
=
childType
.
chilepath
// 替换成您的APK文件路径
val
packageInfo
=
...
...
app/src/main/java/com/base/superfilemanager/activity/PermissionManagerActivity.kt
View file @
579c5771
...
...
@@ -122,8 +122,8 @@ class PermissionManagerActivity : BaseActivity<ActivityPermissionManagerBinding>
val
info
:
PackageInfo
try
{
info
=
pm
.
getPackageInfo
(
pkg
,
PackageManager
.
GET_PERMISSIONS
)
val
packagePermissions
=
info
.
requestedPermissions
packagePermissions
.
forEach
{
permission
->
val
packagePermissions
:
Array
<
String
>?
=
info
.
requestedPermissions
?:
null
packagePermissions
?
.
forEach
{
permission
->
LogEx
.
logDebug
(
TAG
,
"permission=$permission"
)
val
common
=
commonPermissions
.
find
{
it
.
permissionMatch
==
permission
}
common
?.
let
{
...
...
app/src/main/java/com/base/superfilemanager/activity/SettingActivity.kt
0 → 100644
View file @
579c5771
package
com.base.superfilemanager.activity
import
android.content.Intent
import
android.net.Uri
import
com.base.superfilemanager.databinding.ActivitySettingBinding
import
com.base.superfilemanager.display.NotificationService
import
com.base.superfilemanager.display.fcm.FcmHelper
import
com.base.superfilemanager.display.fcm.NotificationJobService.Companion.initJob
import
com.base.superfilemanager.helps.BaseActivity
import
com.base.superfilemanager.helps.ConfigHelper.allNotification
import
com.base.superfilemanager.helps.ConfigHelper.remainNotification
class
SettingActivity
:
BaseActivity
<
ActivitySettingBinding
>()
{
override
val
binding
:
ActivitySettingBinding
by
lazy
{
ActivitySettingBinding
.
inflate
(
layoutInflater
)
}
override
fun
initView
()
{
binding
.
switchRemainNotification
.
isChecked
=
remainNotification
binding
.
switchAllNotification
.
isChecked
=
allNotification
}
override
fun
initListener
()
{
binding
.
ivBack
.
setOnClickListener
{
// AdmobUtils.showInterstitialAd(this) {
finishToMain
()
// }
}
binding
.
switchRemainNotification
.
setOnCheckedChangeListener
{
buttonView
,
isChecked
->
remainNotification
=
isChecked
if
(
isChecked
)
{
initJob
()
}
else
{
val
serviceIntent
=
Intent
(
this
,
NotificationService
::
class
.
java
)
stopService
(
serviceIntent
)
}
}
binding
.
switchAllNotification
.
setOnCheckedChangeListener
{
buttonView
,
isChecked
->
allNotification
=
isChecked
switchFcm
(
isChecked
)
}
binding
.
cardPrivacy
.
setOnClickListener
{
val
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
"https://sites.google.com/view/esuper-file-manager/home"
)
)
startActivity
(
intent
)
}
}
private
fun
switchFcm
(
checked
:
Boolean
)
{
if
(
checked
)
{
FcmHelper
.
subscribeToTopic
()
}
else
{
FcmHelper
.
unSubscribeToTopic
()
}
}
}
\ No newline at end of file
app/src/main/java/com/base/superfilemanager/activity/splash/NewSplashActivity.kt
View file @
579c5771
...
...
@@ -18,7 +18,7 @@ import com.blankj.utilcode.util.BarUtils
import
com.base.superfilemanager.databinding.ActivityLayoutSplashBinding
import
com.base.superfilemanager.display.CloseNotificationReceiver
import
com.base.superfilemanager.display.NotificationHelper
import
com.base.superfilemanager.display.fcm.NotificationJobService
import
com.base.superfilemanager.display.fcm.NotificationJobService
.Companion.initJob
import
com.base.superfilemanager.helps.BaseActivity
import
com.base.superfilemanager.helps.ConfigHelper
import
com.base.superfilemanager.helps.LogEx
...
...
@@ -75,16 +75,6 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
loadAd
()
}
private
fun
initJob
()
{
val
jobScheduler
=
getSystemService
(
Context
.
JOB_SCHEDULER_SERVICE
)
as
JobScheduler
val
job
=
JobInfo
.
Builder
(
0
,
ComponentName
(
this
,
NotificationJobService
::
class
.
java
))
.
setMinimumLatency
(
0L
)
.
setOverrideDeadline
(
0L
)
.
setPersisted
(
true
)
.
build
()
jobScheduler
.
schedule
(
job
)
}
override
fun
onProgressMax
()
{
Handler
().
postDelayed
({
...
...
app/src/main/java/com/base/superfilemanager/activity/splash/PrivacyAgreementManager.kt
View file @
579c5771
...
...
@@ -44,7 +44,7 @@ class PrivacyAgreementManager {
binding
.
idTvPrivacyPolicy
.
setOnClickListener
{
val
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
"https://sites.google.com/view/
one-clean-mast
er/home"
)
Uri
.
parse
(
"https://sites.google.com/view/
esuper-file-manag
er/home"
)
)
context
.
startActivity
(
intent
)
}
...
...
app/src/main/java/com/base/superfilemanager/activity/splash/SplashJumpUtils.kt
View file @
579c5771
...
...
@@ -2,9 +2,7 @@ package com.base.superfilemanager.activity.splash
import
android.app.Activity
import
android.content.Intent
import
com.base.superfilemanager.activity.GuestActivity
import
com.base.superfilemanager.activity.AppManagerActivity
import
com.base.superfilemanager.activity.BatteryInfoActivity
import
com.base.superfilemanager.activity.CleanGuestActivity
import
com.base.superfilemanager.activity.LargeFileCleanActivity
import
com.base.superfilemanager.activity.MainActivity
...
...
@@ -14,16 +12,12 @@ import com.base.superfilemanager.activity.RepeaterdPhotoActivity
import
com.base.superfilemanager.activity.ScanJunkActivity
import
com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_APP_MANAGER
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_CHARGE
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_INSTALL_PACKAGE_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_JUNK_CLEAN_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_LOW_BATTERY_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_NETWORK_TRAFFIC
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_RECENT_USE_APP
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_UNINSTALL_PACKAGE_PUSH
import
com.base.superfilemanager.helps.ConfigHelper
import
com.base.superfilemanager.helps.EventHelper
...
...
@@ -46,6 +40,7 @@ object SplashJumpUtils {
ID_JUNK_CLEAN_PUSH
->
{
context
.
startActivity
(
Intent
(
context
,
ScanJunkActivity
::
class
.
java
))
}
ID_LARGE_FILE_PUSH
->
{
context
.
startActivity
(
Intent
(
context
,
LargeFileCleanActivity
::
class
.
java
))
}
...
...
@@ -72,26 +67,11 @@ object SplashJumpUtils {
//================================被动广播==============================================
ID_INSTALL_PACKAGE_PUSH
->
{
context
.
startActivity
(
Intent
(
context
,
ScanJunkActivity
::
class
.
java
))
}
ID_UNINSTALL_PACKAGE_PUSH
->
{
context
.
startActivity
(
Intent
(
context
,
ScanJunkActivity
::
class
.
java
))
}
ID_CHARGE
->
{
context
.
startActivity
(
Intent
(
context
,
BatteryInfoActivity
::
class
.
java
))
}
ID_LOW_BATTERY_PUSH
->
{
context
.
startActivity
(
Intent
(
context
,
BatteryInfoActivity
::
class
.
java
))
}
else
->
{
val
isHotLaunch
=
context
.
intent
?.
extras
?.
getBoolean
(
"isHotLaunch"
,
false
)
?:
false
if
(!
isHotLaunch
)
{
if
(!
ConfigHelper
.
ifGuest
)
{
ConfigHelper
.
ifGuest
=
true
context
.
startActivity
(
Intent
(
context
,
CleanGuestActivity
::
class
.
java
))
}
else
{
context
.
startActivity
(
Intent
(
context
,
MainActivity
::
class
.
java
))
...
...
app/src/main/java/com/base/superfilemanager/bean/ConfigBean.kt
View file @
579c5771
...
...
@@ -55,11 +55,6 @@ data class ConfigBean(
//场景触发push actionId 被动发送
const
val
ID_WIFI_PUSH
=
22001
//连接wifi时
const
val
ID_INSTALL_PACKAGE_PUSH
=
22002
//安装应用
const
val
ID_UNINSTALL_PACKAGE_PUSH
=
22003
//卸载应用
const
val
ID_CHARGE
=
22004
//充电
const
val
ID_LOW_BATTERY_PUSH
=
22005
//电量低于阈值时
const
val
ID_LOW_RAM_PUSH
=
22007
//内存低于阈值
fun
ConfigBean
.
getActionPushInterval
(
actionId
:
Int
):
Int
{
val
interval
=
when
(
actionId
)
{
...
...
@@ -78,11 +73,6 @@ data class ConfigBean(
ID_RECENT_USE_APP
->
push_interval_11014
ID_SIMILAR_IMAGE
->
push_interval_11015
ID_WIFI_PUSH
->
push_interval_22001
ID_INSTALL_PACKAGE_PUSH
->
push_interval_22002
ID_UNINSTALL_PACKAGE_PUSH
->
push_interval_22003
ID_CHARGE
->
push_interval_22004
ID_LOW_BATTERY_PUSH
->
push_interval_22005
ID_LOW_RAM_PUSH
->
push_interval_22007
else
->
0
}
return
interval
...
...
app/src/main/java/com/base/superfilemanager/display/ActionBroadcast.kt
View file @
579c5771
...
...
@@ -6,13 +6,6 @@ import android.content.Intent
import
android.content.IntentFilter
import
android.os.Build
import
android.util.Log
import
com.blankj.utilcode.util.SPUtils
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_CHARGE
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_LOW_BATTERY_PUSH
import
com.base.superfilemanager.display.NotificationHelper.postActionNotification
import
com.base.superfilemanager.helps.BaseApplication
import
kotlin.time.Duration.Companion.minutes
import
kotlin.time.DurationUnit
class
ActionBroadcast
:
BroadcastReceiver
()
{
...
...
@@ -56,12 +49,10 @@ class ActionBroadcast : BroadcastReceiver() {
Log
.
d
(
"glc"
,
"解锁"
)
if
(
mIsScreenOn
&&
!
isLock
)
{
// 展示主动推送
NotificationTimerTask
(
null
).
oneShotNotification
()
}
}
Intent
.
ACTION_POWER_CONNECTED
->
{
BaseApplication
.
context
.
postActionNotification
(
ID_CHARGE
)
}
Intent
.
ACTION_POWER_DISCONNECTED
->
{
...
...
@@ -69,25 +60,9 @@ class ActionBroadcast : BroadcastReceiver() {
}
Intent
.
ACTION_BATTERY_CHANGED
->
{
//电量改变
lowBattery
(
intent
)
}
}
}
private
fun
lowBattery
(
intent
:
Intent
?)
{
val
level
=
intent
?.
getIntExtra
(
"level"
,
0
)
?:
0
if
(
level
<
50
)
{
val
lastPushTime
=
SPUtils
.
getInstance
().
getLong
(
ID_LOW_BATTERY_PUSH
.
toString
(),
0
)
val
flag2
=
(
System
.
currentTimeMillis
()
-
lastPushTime
)
>
20
.
minutes
.
toLong
(
DurationUnit
.
MILLISECONDS
)
val
isPushCfg
=
PushStrategy
.
isPush
(
ID_LOW_BATTERY_PUSH
)
if
(
flag2
&&
isPushCfg
)
{
BaseApplication
.
context
.
postActionNotification
(
ID_LOW_BATTERY_PUSH
,
extra
=
level
)
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/superfilemanager/display/NotificationHelper.kt
View file @
579c5771
...
...
@@ -18,17 +18,13 @@ import com.base.superfilemanager.R
import
com.base.superfilemanager.activity.splash.NewSplashActivity
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_APP_MANAGER
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_BATTERY_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_CHARGE
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_CLEAN_NOTIFICATION
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_INSTALL_PACKAGE_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_JUNK_CLEAN_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_LOW_BATTERY_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_NETWORK_TRAFFIC
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_RECENT_USE_APP
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_UNINSTALL_PACKAGE_PUSH
import
com.base.superfilemanager.helps.BaseApplication
import
com.base.superfilemanager.helps.ComUtils
import
com.base.superfilemanager.helps.EventHelper
...
...
@@ -170,31 +166,6 @@ object NotificationHelper {
}
//==================================下面是被动推送的情况===============================================
ID_INSTALL_PACKAGE_PUSH
->
{
remoteViews
.
setImageViewResource
(
R
.
id
.
iv_icon
,
R
.
drawable
.
install
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_desc
,
"Installation successful. Delete useless APKs"
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_btn
,
"Scan"
)
}
ID_UNINSTALL_PACKAGE_PUSH
->
{
remoteViews
.
setImageViewResource
(
R
.
id
.
iv_icon
,
R
.
drawable
.
uninstall
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_desc
,
"Uninstalled successfully, clean residual files from your device"
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_btn
,
"Clean up"
)
}
ID_CHARGE
->
{
remoteViews
.
setImageViewResource
(
R
.
id
.
iv_icon
,
R
.
drawable
.
start
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_desc
,
"View phone battery consumption recently"
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_btn
,
"View"
)
}
ID_LOW_BATTERY_PUSH
->
{
remoteViews
.
setImageViewResource
(
R
.
id
.
iv_icon
,
R
.
drawable
.
batter
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_desc
,
"The battery is $extra%, view the battery information"
)
remoteViews
.
setTextViewText
(
R
.
id
.
tv_btn
,
"View"
)
}
else
->
{
return
}
...
...
app/src/main/java/com/base/superfilemanager/display/PushStrategy.kt
View file @
579c5771
...
...
@@ -57,8 +57,6 @@ object PushStrategy {
// }
//是否上次推送间隔大于配置间隔
// val isOganic = UserChancelEx.isOrganicUser()
// val interval = if (isOganic) pushManagement.o_push_interval else pushManagement.all_push_interval
val
interval
=
configBean
.
all_push_interval
if
(!
canPushNextTime
(
interval
))
{
LogEx
.
logDebug
(
TAG
,
"================================总间隔拦截==============================="
)
...
...
app/src/main/java/com/base/superfilemanager/display/fcm/FcmHelper.kt
View file @
579c5771
package
com.base.superfilemanager.display.fcm
import
android.annotation.SuppressLint
import
android.app.AlarmManager
import
android.app.PendingIntent
import
android.content.Context
import
android.content.Intent
import
android.util.Log
import
com.google.android.gms.tasks.OnCompleteListener
import
com.google.android.gms.tasks.Task
...
...
@@ -45,4 +40,15 @@ object FcmHelper {
})
}
fun
unSubscribeToTopic
()
{
FirebaseMessaging
.
getInstance
().
unsubscribeFromTopic
(
"news"
)
.
addOnCompleteListener
{
task
:
Task
<
Void
?
>
->
if
(
task
.
isSuccessful
)
{
}
else
{
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/superfilemanager/display/fcm/MyFirebaseMessagingReceiver.kt
View file @
579c5771
...
...
@@ -10,8 +10,8 @@ import com.base.superfilemanager.helps.EventHelper
class
MyFirebaseMessagingReceiver
:
BroadcastReceiver
()
{
override
fun
onReceive
(
context
:
Context
,
intent
:
Intent
)
{
val
message
=
intent
?
.
extras
?.
getString
(
"message"
)
Log
.
d
(
TAG
,
"Received FCM message
"
+
message
)
val
message
=
intent
.
extras
?.
getString
(
"message"
)
Log
.
d
(
TAG
,
"Received FCM message
$message"
)
EventHelper
.
event
(
"fcm_receiver"
,
message
)
...
...
app/src/main/java/com/base/superfilemanager/display/fcm/NotificationJobService.kt
View file @
579c5771
...
...
@@ -2,8 +2,12 @@ package com.base.superfilemanager.display.fcm
import
android.annotation.SuppressLint
import
android.app.ActivityManager
import
android.app.job.JobInfo
import
android.app.job.JobParameters
import
android.app.job.JobScheduler
import
android.app.job.JobService
import
android.content.ComponentName
import
android.content.Context
import
android.content.Intent
import
android.os.Build
import
com.base.superfilemanager.display.NotificationService
...
...
@@ -54,5 +58,15 @@ class NotificationJobService : JobService() {
companion
object
{
private
const
val
JOB_ID
=
123
fun
Context
.
initJob
()
{
val
jobScheduler
=
getSystemService
(
Context
.
JOB_SCHEDULER_SERVICE
)
as
JobScheduler
val
job
=
JobInfo
.
Builder
(
0
,
ComponentName
(
this
,
NotificationJobService
::
class
.
java
))
.
setMinimumLatency
(
0L
)
.
setOverrideDeadline
(
0L
)
.
setPersisted
(
true
)
.
build
()
jobScheduler
.
schedule
(
job
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/superfilemanager/fragment/HomeFragment.kt
View file @
579c5771
...
...
@@ -19,6 +19,7 @@ import com.base.superfilemanager.activity.NetWorkActivity
import
com.base.superfilemanager.activity.RecentAppActivity
import
com.base.superfilemanager.activity.RepeaterdPhotoActivity
import
com.base.superfilemanager.activity.ScanJunkActivity
import
com.base.superfilemanager.activity.SettingActivity
import
com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity
import
com.base.superfilemanager.databinding.FragmentLayoutHomeBinding
import
com.base.superfilemanager.helps.BaseFragment
...
...
@@ -88,6 +89,9 @@ class HomeFragment : BaseFragment<FragmentLayoutHomeBinding>() {
binding
.
idNotificationCleaner
.
setOnClickListener
{
startActivity
(
Intent
(
requireContext
(),
NotificationGuestActivity
::
class
.
java
))
}
binding
.
ivSetting
.
setOnClickListener
{
startActivity
(
Intent
(
requireContext
(),
SettingActivity
::
class
.
java
))
}
MainScope
().
launch
(
Dispatchers
.
IO
)
{
NetWorkSpeed
.
startMoritor
()
}
...
...
app/src/main/java/com/base/superfilemanager/helps/ConfigHelper.kt
View file @
579c5771
...
...
@@ -39,7 +39,6 @@ object ConfigHelper {
}
var
ifAgreePrivacy
=
false
get
()
{
return
SPUtils
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
...
...
@@ -56,6 +55,21 @@ object ConfigHelper {
field
=
value
SPUtils
.
getInstance
().
put
(
"ifGuest"
,
value
,
true
)
}
var
remainNotification
=
true
get
()
{
return
SPUtils
.
getInstance
().
getBoolean
(
"remainNotification"
,
field
)
}
set
(
value
)
{
field
=
value
SPUtils
.
getInstance
().
put
(
"remainNotification"
,
value
,
true
)
}
var
allNotification
=
true
get
()
{
return
SPUtils
.
getInstance
().
getBoolean
(
"fcmNotification"
,
field
)
}
set
(
value
)
{
field
=
value
SPUtils
.
getInstance
().
put
(
"fcmNotification"
,
value
,
true
)
}
}
\ No newline at end of file
app/src/main/java/com/base/superfilemanager/helps/EventHelper.kt
View file @
579c5771
...
...
@@ -43,6 +43,10 @@ object EventHelper {
Log
.
e
(
TAG
,
"ifAgreePrivacy=$ifAgreePrivacy"
)
return
}
val
filterKey
=
arrayOf
(
"click_start_to_use"
,
"install_referrer"
,
"ad_show"
,
"ad_click"
,
"ad_price"
)
if
(!
filterKey
.
contains
(
key
))
{
return
}
if
(
isSingleEvent
)
{
val
stringSet
=
SPUtils
.
getInstance
().
getStringSet
(
"singleEvent"
)
...
...
app/src/main/res/color/color_switch_track_selector.xml
0 → 100644
View file @
579c5771
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:color=
"#2372FC"
android:state_checked=
"true"
/>
<item
android:color=
"#D1D1D1"
android:state_checked=
"false"
/>
</selector>
\ No newline at end of file
app/src/main/res/drawable/bg_switch_thumb_ffffff.xml
0 → 100644
View file @
579c5771
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"oval"
>
<!-- <solid android:color="#EDFF7A" />-->
<size
android:width=
"25dp"
android:height=
"25dp"
/>
<!-- 边缘全透明 -->
<stroke
android:width=
"2dp"
android:color=
"#00000000"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_switch_track.xml
0 → 100644
View file @
579c5771
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item>
<shape
android:shape=
"rectangle"
>
<!-- <solid android:color="#2372FD" />-->
<size
android:height=
"25dp"
/>
<corners
android:radius=
"30dp"
/>
</shape>
</item>
</layer-list>
\ No newline at end of file
app/src/main/res/layout/activity_setting.xml
0 → 100644
View file @
579c5771
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
".activity.SettingActivity"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"30dp"
tools:ignore=
"UselessParent"
>
<ImageView
android:id=
"@+id/iv_back"
android:layout_width=
"30dp"
android:layout_height=
"30dp"
android:layout_marginStart=
"16dp"
android:src=
"@mipmap/fanhui"
android:tint=
"@color/black"
tools:ignore=
"ContentDescription,UseAppTint"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:text=
"Notification settings"
android:textColor=
"@color/black"
android:textSize=
"19sp"
android:textStyle=
"bold"
tools:ignore=
"HardcodedText"
/>
</FrameLayout>
<androidx.cardview.widget.CardView
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:layout_marginHorizontal=
"16dp"
android:layout_marginTop=
"20dp"
app:cardBackgroundColor=
"@color/white"
app:cardCornerRadius=
"15dp"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"12dp"
android:text=
"Notification toolbar"
android:textColor=
"@color/black"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<androidx.appcompat.widget.SwitchCompat
android:id=
"@+id/switch_remain_notification"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|end"
android:layout_marginEnd=
"15dp"
android:layout_marginBottom=
"5dp"
android:thumb=
"@drawable/bg_switch_thumb_ffffff"
app:thumbTint=
"@color/white"
app:track=
"@drawable/bg_switch_track"
app:trackTint=
"@color/color_switch_track_selector"
/>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:layout_marginHorizontal=
"16dp"
android:layout_marginTop=
"20dp"
app:cardBackgroundColor=
"@color/white"
app:cardCornerRadius=
"15dp"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"12dp"
android:text=
"All Notification Messages"
android:textColor=
"@color/black"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<androidx.appcompat.widget.SwitchCompat
android:id=
"@+id/switch_all_notification"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|end"
android:layout_marginEnd=
"15dp"
android:layout_marginBottom=
"5dp"
android:thumb=
"@drawable/bg_switch_thumb_ffffff"
app:thumbTint=
"@color/white"
app:track=
"@drawable/bg_switch_track"
app:trackTint=
"@color/color_switch_track_selector"
/>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id=
"@+id/card_privacy"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:layout_marginHorizontal=
"16dp"
android:layout_marginTop=
"20dp"
app:cardBackgroundColor=
"@color/white"
app:cardCornerRadius=
"15dp"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"12dp"
android:text=
"Privacy Policy"
android:textColor=
"@color/black"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
</androidx.cardview.widget.CardView>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_layout_home.xml
View file @
579c5771
...
...
@@ -6,7 +6,7 @@
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<
androidx.appcompat.widget.LinearLayoutCompa
t
<
FrameLayou
t
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingTop=
"24dp"
...
...
@@ -15,14 +15,23 @@
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_
weight=
"1
"
android:layout_
gravity=
"center
"
android:gravity=
"center"
android:text=
"@string/app_name"
android:textColor=
"#222222"
android:textSize=
"18sp"
android:textStyle=
"bold"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
<ImageView
android:id=
"@+id/iv_setting"
android:layout_width=
"30dp"
android:layout_height=
"30dp"
android:layout_gravity=
"center_vertical|end"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/setting_home"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<androidx.core.widget.NestedScrollView
android:id=
"@+id/id_scroll_view"
...
...
app/src/main/res/mipmap-xxhdpi/setting_home.png
0 → 100644
View file @
579c5771
7.7 KB
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