Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
A
appzxhy
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
appzxhy
Commits
a3f1b488
Commit
a3f1b488
authored
Jun 10, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
c651a87c
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
120 additions
and
36 deletions
+120
-36
build.gradle.kts
app/build.gradle.kts
+1
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+11
-5
GlobalConfig.kt
app/src/main/java/com/base/appzxhy/GlobalConfig.kt
+1
-1
MyApplication.kt
app/src/main/java/com/base/appzxhy/MyApplication.kt
+16
-18
BaseActivity.kt
app/src/main/java/com/base/appzxhy/base/BaseActivity.kt
+1
-1
PopupConfigBean.kt
...main/java/com/base/appzxhy/bean/config/PopupConfigBean.kt
+5
-5
AdsMgr.kt
app/src/main/java/com/base/appzxhy/business/ads/AdsMgr.kt
+1
-1
HomeFragment.kt
app/src/main/java/com/base/appzxhy/ui/main/HomeFragment.kt
+71
-2
MyAnimationUtils.kt
app/src/main/java/com/base/appzxhy/utils/MyAnimationUtils.kt
+1
-0
icon_jiantou_up.png
app/src/main/res/drawable-xxhdpi/icon_jiantou_up.png
+0
-0
fragment_home.xml
app/src/main/res/layout/fragment_home.xml
+10
-2
dimens.xml
app/src/main/res/values/dimens.xml
+2
-0
No files found.
app/build.gradle.kts
View file @
a3f1b488
...
...
@@ -26,7 +26,7 @@ android {
fun
Long
.
toFormatTime3
():
String
{
return
SimpleDateFormat
(
"yyyy-MM-dd-HH-mm-ss"
,
Locale
.
ENGLISH
).
format
(
this
)
}
setProperty
(
"archivesBaseName"
,
"
appzxhy
-v$versionName($versionCode)-${System.currentTimeMillis().toFormatTime3()}"
)
setProperty
(
"archivesBaseName"
,
"
master_malware_clean
-v$versionName($versionCode)-${System.currentTimeMillis().toFormatTime3()}"
)
ndk
{
// 设置支持的 ABI 架构
...
...
app/src/main/AndroidManifest.xml
View file @
a3f1b488
...
...
@@ -37,17 +37,23 @@
android:screenOrientation=
"portrait"
android:theme=
"@style/splash.theme"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
>
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity
android:name=
".ui.main.MainActivity"
android:exported=
"true"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=
".ui.main.MainActivity"
android:exported=
"false"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
".ui.language.LanguageActivity"
android:exported=
"false"
...
...
app/src/main/java/com/base/appzxhy/GlobalConfig.kt
View file @
a3f1b488
...
...
@@ -21,7 +21,7 @@ object GlobalConfig {
/**
* Url Privacy 隐私链接
*/
const
val
URL_PRIVACY
=
"
https://sites.google.com/view/dumpster-cleaner/dumpster-cleaner
"
const
val
URL_PRIVACY
=
""
/**
* Url Use 使用条款
...
...
app/src/main/java/com/base/appzxhy/MyApplication.kt
View file @
a3f1b488
...
...
@@ -42,6 +42,8 @@ import com.base.appzxhy.ui.batteryinfo.BatteryReceiver.Companion.registerBattery
import
com.base.appzxhy.ui.splash.SplashActivity
import
com.facebook.appevents.AppEventsLogger
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.MainScope
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.withContext
...
...
@@ -72,10 +74,10 @@ class MyApplication : Application() {
appContext
=
this
initUUid
()
initGid
()
initApp
()
initLanguage
()
//
initUUid()
//
initGid()
//
initApp()
//
initLanguage()
}
...
...
@@ -101,12 +103,10 @@ class MyApplication : Application() {
})
}
private
fun
initGid
()
{
Thread
{
val
info
:
AdvertisingIdClient
.
Info
=
AdvertisingIdClient
.
getAdvertisingIdInfo
(
applicationContext
)
val
advertisingId
=
info
.
id
AppPreferences
.
getInstance
().
put
(
"gid"
,
advertisingId
)
}.
start
()
private
fun
initGid
()
=
MainScope
().
launch
(
Dispatchers
.
IO
)
{
val
info
:
AdvertisingIdClient
.
Info
=
AdvertisingIdClient
.
getAdvertisingIdInfo
(
applicationContext
)
val
advertisingId
=
info
.
id
AppPreferences
.
getInstance
().
put
(
"gid"
,
advertisingId
)
}
override
fun
attachBaseContext
(
base
:
Context
?)
{
...
...
@@ -168,13 +168,11 @@ class MyApplication : Application() {
}
private
fun
initAppConfig
()
{
Thread
{
initConfig
()
initConfig
()
InstallHelps
.
init
{
initRemoteConfig
()
}
}.
start
()
InstallHelps
.
init
{
initRemoteConfig
()
}
}
private
var
lastTimePause
=
0L
...
...
@@ -255,8 +253,8 @@ class MyApplication : Application() {
}
private
fun
initConfig
(
config
:
String
=
spConfig
)
{
if
(
config
.
isEmpty
())
return
private
fun
initConfig
(
config
:
String
=
spConfig
)
=
MainScope
().
launch
(
Dispatchers
.
IO
)
{
if
(
config
.
isEmpty
())
return
@launch
// kotlin.runCatching {
val
configBean
=
Gson
().
fromJson
(
config
,
ConfigBean
::
class
.
java
)
...
...
app/src/main/java/com/base/appzxhy/base/BaseActivity.kt
View file @
a3f1b488
...
...
@@ -39,6 +39,7 @@ import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import
com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN
import
com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import
com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import
com.base.appzxhy.bean.FeatureBean.Companion.SETTINGS
import
com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import
com.base.appzxhy.bean.FileBean
import
com.base.appzxhy.bean.config.AdConfigBean
...
...
@@ -453,7 +454,6 @@ fun Activity.jumpAction(key: String) {
PHOTO_COMPRESSION
->
{
goToAc
(
PhotoCompressionActivity
::
class
.
java
)
}
}
}
...
...
app/src/main/java/com/base/appzxhy/bean/config/PopupConfigBean.kt
View file @
a3f1b488
...
...
@@ -3,7 +3,7 @@ package com.base.appzxhy.bean.config
class
PopupConfigBean
(
var
popupForegroundCanPush
:
Boolean
=
false
,
//前台是否可以推送
var
popupStatus
:
Boolean
=
tru
e
,
//推送总开关
var
popupStatus
:
Boolean
=
fals
e
,
//推送总开关
var
popupCount
:
Int
=
500
,
//推送总次数
var
isDifferNotificationId
:
Boolean
=
true
,
//推送使用不同的通知ID
var
popupLimitRangeTime
:
List
<
Int
>
=
listOf
(),
//推送限制时间
...
...
@@ -14,13 +14,13 @@ class PopupConfigBean(
var
popupHoverCount
:
Int
=
5
,
var
popupHoverDelay
:
Int
=
5000
,
var
timerS
:
Boolean
=
tru
e
,
//定时器触发推送
var
timerS
:
Boolean
=
fals
e
,
//定时器触发推送
var
timerDelay
:
Int
=
60
,
//定时器执行延迟 秒
var
timerInterval
:
Int
=
7
,
//定时器执行间隔 分钟
val
screenS
:
Boolean
=
tru
e
,
//解锁触发推送
val
alarmS
:
Boolean
=
tru
e
,
//是否闹钟触发推送
val
workS
:
Boolean
=
tru
e
,
//workManager触发推送
val
screenS
:
Boolean
=
fals
e
,
//解锁触发推送
val
alarmS
:
Boolean
=
fals
e
,
//是否闹钟触发推送
val
workS
:
Boolean
=
fals
e
,
//workManager触发推送
val
batteryS
:
Boolean
=
true
,
//电池触发通知开关
var
batteryInterval
:
Int
=
180
,
//电池推送间隔 秒(推送间隔一般大于总间隔才有意义)
...
...
app/src/main/java/com/base/appzxhy/business/ads/AdsMgr.kt
View file @
a3f1b488
...
...
@@ -94,7 +94,7 @@ object AdsMgr {
return
}
initAdmob
(
context
)
initMax
(
context
)
//
initMax(context)
}
...
...
app/src/main/java/com/base/appzxhy/ui/main/HomeFragment.kt
View file @
a3f1b488
package
com.base.appzxhy.ui.main
import
android.animation.ObjectAnimator
import
android.animation.ValueAnimator
import
android.view.View
import
android.view.animation.LinearInterpolator
import
androidx.core.animation.doOnEnd
import
androidx.core.graphics.toColorInt
import
com.base.appzxhy.R
import
com.base.appzxhy.base.BaseFragment
import
com.base.appzxhy.base.jumpAction
import
com.base.appzxhy.bean.FeatureBean
import
com.base.appzxhy.bean.FeatureBean.Companion.ANTIVIRUS
import
com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
...
...
@@ -15,6 +21,9 @@ import com.base.appzxhy.bean.FeatureBean.Companion.SETTINGS
import
com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import
com.base.appzxhy.databinding.FragmentHomeBinding
import
com.base.appzxhy.ui.dialog.permissionStorageJump
import
com.base.appzxhy.ui.set.SettingActivity
import
com.base.appzxhy.utils.MyAnimationUtils
class
HomeFragment
:
BaseFragment
<
FragmentHomeBinding
>(
FragmentHomeBinding
::
inflate
)
{
...
...
@@ -89,10 +98,70 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
}
binding
.
rv
.
adapter
=
adapter
adapter
.
submitList
(
featureList
)
startAnimation
()
}
override
fun
initListener
()
{
super
.
initListener
()
binding
.
tvClean
.
setOnClickListener
{
(
requireActivity
()
as
MainActivity
).
permissionStorageJump
(
JUNK_CLEAN
)
}
adapter
.
itemClick
=
{
when
(
it
.
key
)
{
JUNK_CLEAN
,
SCREENSHOT_CLEAN
,
LARGE_FILE_CLEAN
,
PHOTO_COMPRESSION
,
SIMILAR_PHOTOS
->
{
(
requireActivity
()
as
MainActivity
).
permissionStorageJump
(
it
.
key
)
}
BATTERY_INFO
->
{
(
requireActivity
()
as
MainActivity
).
jumpAction
(
it
.
key
)
}
SETTINGS
->
{
(
requireActivity
()
as
MainActivity
).
goToAc
(
SettingActivity
::
class
.
java
)
}
ANTIVIRUS
->
{
}
}
}
}
private
fun
startAnimation
()
{
MyAnimationUtils
.
rotation
(
binding
.
ivYuan
,
2000
)
binding
.
tvJunkFile
.
alpha
=
0f
ValueAnimator
.
ofFloat
(
0f
,
1f
).
apply
{
this
.
duration
=
1000
this
.
startDelay
=
1200
addUpdateListener
{
animation
->
val
value
=
animation
.
animatedValue
as
Float
binding
.
tvJunkFile
.
alpha
=
value
}
start
()
}
val
top
=
requireActivity
().
resources
.
getDimension
(
R
.
dimen
.
dp_6
)
ObjectAnimator
.
ofFloat
(
binding
.
ivUp
,
View
.
TRANSLATION_Y
,
0f
,
top
).
apply
{
duration
=
1000
interpolator
=
LinearInterpolator
()
repeatCount
=
ObjectAnimator
.
INFINITE
repeatMode
=
ValueAnimator
.
REVERSE
start
()
}
}
}
\ No newline at end of file
}
app/src/main/java/com/base/appzxhy/utils/MyAnimationUtils.kt
View file @
a3f1b488
...
...
@@ -8,6 +8,7 @@ import android.widget.ProgressBar
object
MyAnimationUtils
{
fun
rotation
(
view
:
View
,
durationTime
:
Long
=
2000
)
{
ValueAnimator
.
ofFloat
(
0f
,
360f
).
apply
{
duration
=
durationTime
...
...
app/src/main/res/drawable-xxhdpi/icon_jiantou_up.png
0 → 100644
View file @
a3f1b488
1.92 KB
app/src/main/res/layout/fragment_home.xml
View file @
a3f1b488
...
...
@@ -8,7 +8,7 @@
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_
45
0"
android:layout_height=
"@dimen/dp_
50
0"
android:background=
"@drawable/bg_2dd29e_6ff2a2"
app:layout_constraintTop_toTopOf=
"parent"
/>
...
...
@@ -33,6 +33,7 @@
android:id=
"@+id/nestedScrollView"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:background=
"@color/transparent"
android:overScrollMode=
"never"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/flTop"
>
...
...
@@ -40,6 +41,7 @@
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/transparent"
android:orientation=
"vertical"
>
<androidx.constraintlayout.widget.ConstraintLayout
...
...
@@ -56,6 +58,7 @@
app:layout_constraintTop_toTopOf=
"parent"
>
<androidx.appcompat.widget.AppCompatImageView
android:id=
"@+id/ivYuan"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
app:srcCompat=
"@drawable/clean"
/>
...
...
@@ -68,6 +71,7 @@
android:orientation=
"vertical"
>
<TextView
android:visibility=
"gone"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/white"
...
...
@@ -75,6 +79,7 @@
tools:text=
"96.6"
/>
<TextView
android:id=
"@+id/tvJunkFile"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_8"
...
...
@@ -170,6 +175,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id=
"@+id/tvClean"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
...
...
@@ -182,12 +188,14 @@
android:textStyle=
"bold"
/>
<androidx.appcompat.widget.AppCompatImageView
android:id=
"@+id/ivUp"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"@dimen/dp_12"
android:layout_marginBottom=
"@dimen/dp_8"
android:padding=
"@dimen/dp_8"
app:srcCompat=
"@drawable/icon_jiantou"
/>
app:srcCompat=
"@drawable/icon_jiantou
_up
"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
...
...
app/src/main/res/values/dimens.xml
View file @
a3f1b488
...
...
@@ -50,4 +50,6 @@
<dimen
name=
"dp_450"
>
450dp
</dimen>
<dimen
name=
"sp_30"
>
30sp
</dimen>
<dimen
name=
"dp_88"
>
88dp
</dimen>
<dimen
name=
"dp_550"
>
550dp
</dimen>
<dimen
name=
"dp_500"
>
500dp
</dimen>
</resources>
\ No newline at end of file
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