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 @@
...
@@ -52,6 +52,12 @@
</intent-filter>
</intent-filter>
</activity>
</activity>
<activity
android:name=
".activity.SettingActivity"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
>
</activity>
<activity
<activity
android:name=
".activity.FileCategoryActivity"
android:name=
".activity.FileCategoryActivity"
android:exported=
"false"
android:exported=
"false"
...
@@ -94,13 +100,7 @@
...
@@ -94,13 +100,7 @@
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
<activity
android:name=
"com.base.superfilemanager.activity.MainActivity"
android:name=
"com.base.superfilemanager.activity.MainActivity"
android:exported=
"true"
>
android:exported=
"true"
></activity>
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity
<activity
android:name=
"com.base.superfilemanager.activity.ScanJunkActivity"
android:name=
"com.base.superfilemanager.activity.ScanJunkActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
...
...
app/src/main/java/com/base/superfilemanager/activity/CleanJunkActivity.kt
View file @
579c5771
...
@@ -57,8 +57,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -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
child3
=
ArrayList
<
ChildBean
>()
private
val
child4
=
ArrayList
<
ChildBean
>()
private
val
child4
=
ArrayList
<
ChildBean
>()
private
val
child5
=
ArrayList
<
ChildBean
>()
private
val
child5
=
ArrayList
<
ChildBean
>()
...
@@ -110,22 +108,12 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -110,22 +108,12 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
FileHelps
.
getFileList
({
FileHelps
.
getFileList
({
},
{
},
{
// if (mData.isEmpty()) {
//
//
// }
FileHelps
.
fileList
.
toList
().
let
{
it
->
FileHelps
.
fileList
.
toList
().
let
{
it
->
if
(
it
.
isNotEmpty
())
{
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
a
=
it
.
filter
{
it
.
isApk
()
}
val
halfSize
=
if
(
a
.
size
%
2
==
1
)
a
.
size
/
2
+
1
else
a
.
size
/
2
val
halfSize
=
if
(
a
.
size
%
2
==
1
)
a
.
size
/
2
+
1
else
a
.
size
/
2
val
firstHalf
=
a
.
subList
(
0
,
halfSize
)
val
firstHalf
=
a
.
subList
(
0
,
halfSize
)
firstHalf
.
forEach
{
l
->
a
.
forEach
{
l
->
sizes
[
0
]
+=
l
.
size
sizes
[
0
]
+=
l
.
size
// junkList.add(p0.path)
// junkList.add(p0.path)
val
bean
=
ChildBean
(
R
.
mipmap
.
apk
,
l
.
name
,
l
.
path
,
l
.
size
)
val
bean
=
ChildBean
(
R
.
mipmap
.
apk
,
l
.
name
,
l
.
path
,
l
.
size
)
...
@@ -133,11 +121,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -133,11 +121,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
}
}
ScanCount
+=
1
ScanCount
+=
1
updateSize
(
doneIndex
=
0
)
updateSize
(
doneIndex
=
0
)
// mData.addAll(it)
val
b
=
it
.
filter
{
it
.
isJunk
()
}
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
H
alfSize
=
if
(
b
.
size
%
2
==
1
)
b
.
size
/
2
+
1
else
b
.
size
/
2
val
b
firstHalf
=
b
.
subList
(
0
,
bh
alfSize
)
val
b
FirstHalf
=
b
.
subList
(
0
,
bH
alfSize
)
b
firstHalf
.
forEach
{
l
->
b
.
forEach
{
l
->
sizes
[
1
]
+=
l
.
size
sizes
[
1
]
+=
l
.
size
// junkList.add(p0.path)
// junkList.add(p0.path)
val
bean
=
ChildBean
(
null
,
l
.
name
,
l
.
path
,
l
.
size
)
val
bean
=
ChildBean
(
null
,
l
.
name
,
l
.
path
,
l
.
size
)
...
@@ -146,11 +133,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -146,11 +133,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
ScanCount
+=
1
ScanCount
+=
1
updateSize
(
doneIndex
=
1
)
updateSize
(
doneIndex
=
1
)
val
c
=
it
.
filter
{
it
.
isOtherTrash
()
}
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
H
alfSize
=
if
(
c
.
size
%
2
==
1
)
c
.
size
/
2
+
1
else
c
.
size
/
2
val
c
firstHalf
=
c
.
subList
(
0
,
ch
alfSize
)
val
c
FirstHalf
=
c
.
subList
(
0
,
cH
alfSize
)
c
firstHalf
.
forEach
{
l
->
c
.
forEach
{
l
->
sizes
[
2
]
+=
l
.
size
sizes
[
2
]
+=
l
.
size
// junkList.add(p0.path)
val
bean
=
ChildBean
(
null
,
l
.
name
,
l
.
path
,
l
.
size
)
val
bean
=
ChildBean
(
null
,
l
.
name
,
l
.
path
,
l
.
size
)
child5
.
add
(
bean
)
child5
.
add
(
bean
)
}
}
...
@@ -173,7 +159,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -173,7 +159,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
selectSize
=
0L
selectSize
=
0L
for
(
i
in
parentList
.
indices
)
{
for
(
i
in
parentList
.
indices
)
{
if
(
parentList
[
i
].
childItem
.
isNotEmpty
())
{
if
(
parentList
[
i
].
childItem
.
isNotEmpty
())
{
val
child
s
ize
=
parentList
[
i
].
childItem
.
filter
{
val
child
S
ize
=
parentList
[
i
].
childItem
.
filter
{
it
.
isChildSelected
it
.
isChildSelected
}.
sumOf
{
}.
sumOf
{
it
.
childSize
it
.
childSize
...
@@ -187,7 +173,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -187,7 +173,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
}
}
}
}
}
}
selectSize
+=
child
s
ize
selectSize
+=
child
S
ize
}
else
{
}
else
{
if
(
parentList
[
i
].
isParentSelected
)
{
if
(
parentList
[
i
].
isParentSelected
)
{
selectSize
+=
parentList
[
i
].
parentSize
selectSize
+=
parentList
[
i
].
parentSize
...
@@ -263,12 +249,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -263,12 +249,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
it
.
isChildSelected
it
.
isChildSelected
}.
map
{
it
.
chilepath
})
}.
map
{
it
.
chilepath
})
}
}
// for (item in parentList) {
// if (item.isParentSelected) {
// Log.e("MXL", "updateView: " + item)
// }
// }
}
}
private
val
mAdapter
by
lazy
{
private
val
mAdapter
by
lazy
{
...
@@ -375,10 +355,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
...
@@ -375,10 +355,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
val
childType
=
parentList
[
groupPosition
].
childItem
[
childPosition
]
val
childType
=
parentList
[
groupPosition
].
childItem
[
childPosition
]
when
(
groupPosition
)
{
when
(
groupPosition
)
{
0
->
{
0
->
{
// val c = ConfigHelper.appList?.firstOrNull {
// it.name == childType.childname
// }
// viewHolder.binding.idImgIcon.setImageDrawable(c?.icon)
val
packageManager
:
PackageManager
=
this
@CleanJunkActivity
.
packageManager
val
packageManager
:
PackageManager
=
this
@CleanJunkActivity
.
packageManager
val
apkFilePath
=
childType
.
chilepath
// 替换成您的APK文件路径
val
apkFilePath
=
childType
.
chilepath
// 替换成您的APK文件路径
val
packageInfo
=
val
packageInfo
=
...
...
app/src/main/java/com/base/superfilemanager/activity/PermissionManagerActivity.kt
View file @
579c5771
...
@@ -122,8 +122,8 @@ class PermissionManagerActivity : BaseActivity<ActivityPermissionManagerBinding>
...
@@ -122,8 +122,8 @@ class PermissionManagerActivity : BaseActivity<ActivityPermissionManagerBinding>
val
info
:
PackageInfo
val
info
:
PackageInfo
try
{
try
{
info
=
pm
.
getPackageInfo
(
pkg
,
PackageManager
.
GET_PERMISSIONS
)
info
=
pm
.
getPackageInfo
(
pkg
,
PackageManager
.
GET_PERMISSIONS
)
val
packagePermissions
=
info
.
requestedPermissions
val
packagePermissions
:
Array
<
String
>?
=
info
.
requestedPermissions
?:
null
packagePermissions
.
forEach
{
permission
->
packagePermissions
?
.
forEach
{
permission
->
LogEx
.
logDebug
(
TAG
,
"permission=$permission"
)
LogEx
.
logDebug
(
TAG
,
"permission=$permission"
)
val
common
=
commonPermissions
.
find
{
it
.
permissionMatch
==
permission
}
val
common
=
commonPermissions
.
find
{
it
.
permissionMatch
==
permission
}
common
?.
let
{
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
...
@@ -18,7 +18,7 @@ import com.blankj.utilcode.util.BarUtils
import
com.base.superfilemanager.databinding.ActivityLayoutSplashBinding
import
com.base.superfilemanager.databinding.ActivityLayoutSplashBinding
import
com.base.superfilemanager.display.CloseNotificationReceiver
import
com.base.superfilemanager.display.CloseNotificationReceiver
import
com.base.superfilemanager.display.NotificationHelper
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.BaseActivity
import
com.base.superfilemanager.helps.ConfigHelper
import
com.base.superfilemanager.helps.ConfigHelper
import
com.base.superfilemanager.helps.LogEx
import
com.base.superfilemanager.helps.LogEx
...
@@ -75,16 +75,6 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
...
@@ -75,16 +75,6 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
loadAd
()
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
()
{
override
fun
onProgressMax
()
{
Handler
().
postDelayed
({
Handler
().
postDelayed
({
...
...
app/src/main/java/com/base/superfilemanager/activity/splash/PrivacyAgreementManager.kt
View file @
579c5771
...
@@ -44,7 +44,7 @@ class PrivacyAgreementManager {
...
@@ -44,7 +44,7 @@ class PrivacyAgreementManager {
binding
.
idTvPrivacyPolicy
.
setOnClickListener
{
binding
.
idTvPrivacyPolicy
.
setOnClickListener
{
val
intent
=
Intent
(
val
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
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
)
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
...
@@ -2,9 +2,7 @@ package com.base.superfilemanager.activity.splash
import
android.app.Activity
import
android.app.Activity
import
android.content.Intent
import
android.content.Intent
import
com.base.superfilemanager.activity.GuestActivity
import
com.base.superfilemanager.activity.AppManagerActivity
import
com.base.superfilemanager.activity.AppManagerActivity
import
com.base.superfilemanager.activity.BatteryInfoActivity
import
com.base.superfilemanager.activity.CleanGuestActivity
import
com.base.superfilemanager.activity.CleanGuestActivity
import
com.base.superfilemanager.activity.LargeFileCleanActivity
import
com.base.superfilemanager.activity.LargeFileCleanActivity
import
com.base.superfilemanager.activity.MainActivity
import
com.base.superfilemanager.activity.MainActivity
...
@@ -14,16 +12,12 @@ import com.base.superfilemanager.activity.RepeaterdPhotoActivity
...
@@ -14,16 +12,12 @@ import com.base.superfilemanager.activity.RepeaterdPhotoActivity
import
com.base.superfilemanager.activity.ScanJunkActivity
import
com.base.superfilemanager.activity.ScanJunkActivity
import
com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity
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_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_JUNK_CLEAN_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_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_NETWORK_TRAFFIC
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS
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_RECENT_USE_APP
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE
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.ConfigHelper
import
com.base.superfilemanager.helps.EventHelper
import
com.base.superfilemanager.helps.EventHelper
...
@@ -46,6 +40,7 @@ object SplashJumpUtils {
...
@@ -46,6 +40,7 @@ object SplashJumpUtils {
ID_JUNK_CLEAN_PUSH
->
{
ID_JUNK_CLEAN_PUSH
->
{
context
.
startActivity
(
Intent
(
context
,
ScanJunkActivity
::
class
.
java
))
context
.
startActivity
(
Intent
(
context
,
ScanJunkActivity
::
class
.
java
))
}
}
ID_LARGE_FILE_PUSH
->
{
ID_LARGE_FILE_PUSH
->
{
context
.
startActivity
(
Intent
(
context
,
LargeFileCleanActivity
::
class
.
java
))
context
.
startActivity
(
Intent
(
context
,
LargeFileCleanActivity
::
class
.
java
))
}
}
...
@@ -72,26 +67,11 @@ object SplashJumpUtils {
...
@@ -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
->
{
else
->
{
val
isHotLaunch
=
context
.
intent
?.
extras
?.
getBoolean
(
"isHotLaunch"
,
false
)
?:
false
val
isHotLaunch
=
context
.
intent
?.
extras
?.
getBoolean
(
"isHotLaunch"
,
false
)
?:
false
if
(!
isHotLaunch
)
{
if
(!
isHotLaunch
)
{
if
(!
ConfigHelper
.
ifGuest
)
{
if
(!
ConfigHelper
.
ifGuest
)
{
ConfigHelper
.
ifGuest
=
true
context
.
startActivity
(
Intent
(
context
,
CleanGuestActivity
::
class
.
java
))
context
.
startActivity
(
Intent
(
context
,
CleanGuestActivity
::
class
.
java
))
}
else
{
}
else
{
context
.
startActivity
(
Intent
(
context
,
MainActivity
::
class
.
java
))
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(
...
@@ -55,11 +55,6 @@ data class ConfigBean(
//场景触发push actionId 被动发送
//场景触发push actionId 被动发送
const
val
ID_WIFI_PUSH
=
22001
//连接wifi时
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
{
fun
ConfigBean
.
getActionPushInterval
(
actionId
:
Int
):
Int
{
val
interval
=
when
(
actionId
)
{
val
interval
=
when
(
actionId
)
{
...
@@ -78,11 +73,6 @@ data class ConfigBean(
...
@@ -78,11 +73,6 @@ data class ConfigBean(
ID_RECENT_USE_APP
->
push_interval_11014
ID_RECENT_USE_APP
->
push_interval_11014
ID_SIMILAR_IMAGE
->
push_interval_11015
ID_SIMILAR_IMAGE
->
push_interval_11015
ID_WIFI_PUSH
->
push_interval_22001
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
else
->
0
}
}
return
interval
return
interval
...
...
app/src/main/java/com/base/superfilemanager/display/ActionBroadcast.kt
View file @
579c5771
...
@@ -6,13 +6,6 @@ import android.content.Intent
...
@@ -6,13 +6,6 @@ import android.content.Intent
import
android.content.IntentFilter
import
android.content.IntentFilter
import
android.os.Build
import
android.os.Build
import
android.util.Log
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
()
{
class
ActionBroadcast
:
BroadcastReceiver
()
{
...
@@ -56,12 +49,10 @@ class ActionBroadcast : BroadcastReceiver() {
...
@@ -56,12 +49,10 @@ class ActionBroadcast : BroadcastReceiver() {
Log
.
d
(
"glc"
,
"解锁"
)
Log
.
d
(
"glc"
,
"解锁"
)
if
(
mIsScreenOn
&&
!
isLock
)
{
if
(
mIsScreenOn
&&
!
isLock
)
{
// 展示主动推送
// 展示主动推送
NotificationTimerTask
(
null
).
oneShotNotification
()
}
}
}
}
Intent
.
ACTION_POWER_CONNECTED
->
{
Intent
.
ACTION_POWER_CONNECTED
->
{
BaseApplication
.
context
.
postActionNotification
(
ID_CHARGE
)
}
}
Intent
.
ACTION_POWER_DISCONNECTED
->
{
Intent
.
ACTION_POWER_DISCONNECTED
->
{
...
@@ -69,25 +60,9 @@ class ActionBroadcast : BroadcastReceiver() {
...
@@ -69,25 +60,9 @@ class ActionBroadcast : BroadcastReceiver() {
}
}
Intent
.
ACTION_BATTERY_CHANGED
->
{
//电量改变
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
...
@@ -18,17 +18,13 @@ import com.base.superfilemanager.R
import
com.base.superfilemanager.activity.splash.NewSplashActivity
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_APP_MANAGER
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_BATTERY_PUSH
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_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_JUNK_CLEAN_PUSH
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_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_NETWORK_TRAFFIC
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS
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_RECENT_USE_APP
import
com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE
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.BaseApplication
import
com.base.superfilemanager.helps.ComUtils
import
com.base.superfilemanager.helps.ComUtils
import
com.base.superfilemanager.helps.EventHelper
import
com.base.superfilemanager.helps.EventHelper
...
@@ -170,31 +166,6 @@ object NotificationHelper {
...
@@ -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
->
{
else
->
{
return
return
}
}
...
...
app/src/main/java/com/base/superfilemanager/display/PushStrategy.kt
View file @
579c5771
...
@@ -57,8 +57,6 @@ object PushStrategy {
...
@@ -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
val
interval
=
configBean
.
all_push_interval
if
(!
canPushNextTime
(
interval
))
{
if
(!
canPushNextTime
(
interval
))
{
LogEx
.
logDebug
(
TAG
,
"================================总间隔拦截==============================="
)
LogEx
.
logDebug
(
TAG
,
"================================总间隔拦截==============================="
)
...
...
app/src/main/java/com/base/superfilemanager/display/fcm/FcmHelper.kt
View file @
579c5771
package
com.base.superfilemanager.display.fcm
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
android.util.Log
import
com.google.android.gms.tasks.OnCompleteListener
import
com.google.android.gms.tasks.OnCompleteListener
import
com.google.android.gms.tasks.Task
import
com.google.android.gms.tasks.Task
...
@@ -45,4 +40,15 @@ object FcmHelper {
...
@@ -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
...
@@ -10,8 +10,8 @@ import com.base.superfilemanager.helps.EventHelper
class
MyFirebaseMessagingReceiver
:
BroadcastReceiver
()
{
class
MyFirebaseMessagingReceiver
:
BroadcastReceiver
()
{
override
fun
onReceive
(
context
:
Context
,
intent
:
Intent
)
{
override
fun
onReceive
(
context
:
Context
,
intent
:
Intent
)
{
val
message
=
intent
?
.
extras
?.
getString
(
"message"
)
val
message
=
intent
.
extras
?.
getString
(
"message"
)
Log
.
d
(
TAG
,
"Received FCM message
"
+
message
)
Log
.
d
(
TAG
,
"Received FCM message
$message"
)
EventHelper
.
event
(
"fcm_receiver"
,
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
...
@@ -2,8 +2,12 @@ package com.base.superfilemanager.display.fcm
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.ActivityManager
import
android.app.ActivityManager
import
android.app.job.JobInfo
import
android.app.job.JobParameters
import
android.app.job.JobParameters
import
android.app.job.JobScheduler
import
android.app.job.JobService
import
android.app.job.JobService
import
android.content.ComponentName
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
import
android.os.Build
import
android.os.Build
import
com.base.superfilemanager.display.NotificationService
import
com.base.superfilemanager.display.NotificationService
...
@@ -54,5 +58,15 @@ class NotificationJobService : JobService() {
...
@@ -54,5 +58,15 @@ class NotificationJobService : JobService() {
companion
object
{
companion
object
{
private
const
val
JOB_ID
=
123
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
...
@@ -19,6 +19,7 @@ import com.base.superfilemanager.activity.NetWorkActivity
import
com.base.superfilemanager.activity.RecentAppActivity
import
com.base.superfilemanager.activity.RecentAppActivity
import
com.base.superfilemanager.activity.RepeaterdPhotoActivity
import
com.base.superfilemanager.activity.RepeaterdPhotoActivity
import
com.base.superfilemanager.activity.ScanJunkActivity
import
com.base.superfilemanager.activity.ScanJunkActivity
import
com.base.superfilemanager.activity.SettingActivity
import
com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity
import
com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity
import
com.base.superfilemanager.databinding.FragmentLayoutHomeBinding
import
com.base.superfilemanager.databinding.FragmentLayoutHomeBinding
import
com.base.superfilemanager.helps.BaseFragment
import
com.base.superfilemanager.helps.BaseFragment
...
@@ -88,6 +89,9 @@ class HomeFragment : BaseFragment<FragmentLayoutHomeBinding>() {
...
@@ -88,6 +89,9 @@ class HomeFragment : BaseFragment<FragmentLayoutHomeBinding>() {
binding
.
idNotificationCleaner
.
setOnClickListener
{
binding
.
idNotificationCleaner
.
setOnClickListener
{
startActivity
(
Intent
(
requireContext
(),
NotificationGuestActivity
::
class
.
java
))
startActivity
(
Intent
(
requireContext
(),
NotificationGuestActivity
::
class
.
java
))
}
}
binding
.
ivSetting
.
setOnClickListener
{
startActivity
(
Intent
(
requireContext
(),
SettingActivity
::
class
.
java
))
}
MainScope
().
launch
(
Dispatchers
.
IO
)
{
MainScope
().
launch
(
Dispatchers
.
IO
)
{
NetWorkSpeed
.
startMoritor
()
NetWorkSpeed
.
startMoritor
()
}
}
...
...
app/src/main/java/com/base/superfilemanager/helps/ConfigHelper.kt
View file @
579c5771
...
@@ -39,7 +39,6 @@ object ConfigHelper {
...
@@ -39,7 +39,6 @@ object ConfigHelper {
}
}
var
ifAgreePrivacy
=
false
var
ifAgreePrivacy
=
false
get
()
{
get
()
{
return
SPUtils
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
return
SPUtils
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
...
@@ -56,6 +55,21 @@ object ConfigHelper {
...
@@ -56,6 +55,21 @@ object ConfigHelper {
field
=
value
field
=
value
SPUtils
.
getInstance
().
put
(
"ifGuest"
,
value
,
true
)
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 {
...
@@ -43,6 +43,10 @@ object EventHelper {
Log
.
e
(
TAG
,
"ifAgreePrivacy=$ifAgreePrivacy"
)
Log
.
e
(
TAG
,
"ifAgreePrivacy=$ifAgreePrivacy"
)
return
return
}
}
val
filterKey
=
arrayOf
(
"click_start_to_use"
,
"install_referrer"
,
"ad_show"
,
"ad_click"
,
"ad_price"
)
if
(!
filterKey
.
contains
(
key
))
{
return
}
if
(
isSingleEvent
)
{
if
(
isSingleEvent
)
{
val
stringSet
=
SPUtils
.
getInstance
().
getStringSet
(
"singleEvent"
)
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 @@
...
@@ -6,7 +6,7 @@
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<
androidx.appcompat.widget.LinearLayoutCompa
t
<
FrameLayou
t
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:paddingTop=
"24dp"
android:paddingTop=
"24dp"
...
@@ -15,14 +15,23 @@
...
@@ -15,14 +15,23 @@
<TextView
<TextView
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_
weight=
"1
"
android:layout_
gravity=
"center
"
android:gravity=
"center"
android:gravity=
"center"
android:text=
"@string/app_name"
android:text=
"@string/app_name"
android:textColor=
"#222222"
android:textColor=
"#222222"
android:textSize=
"18sp"
android:textSize=
"18sp"
android:textStyle=
"bold"
/>
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
<androidx.core.widget.NestedScrollView
android:id=
"@+id/id_scroll_view"
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