Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
B
Browser White
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
Browser White
Commits
90b0c31f
Commit
90b0c31f
authored
Sep 06, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
316b3021
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
211 additions
and
2 deletions
+211
-2
ConstObject.kt
app/src/main/java/com/base/browserwhite/bean/ConstObject.kt
+2
-1
NotificationUiUtil.kt
...main/java/com/base/browserwhite/fcm/NotificationUiUtil.kt
+8
-0
HomeFragment.kt
...in/java/com/base/browserwhite/ui/fragment/HomeFragment.kt
+3
-1
ColorProgressBar.kt
...n/java/com/base/browserwhite/ui/views/ColorProgressBar.kt
+142
-0
notification_usage_report_small.xml
app/src/main/res/layout/notification_usage_report_small.xml
+56
-0
No files found.
app/src/main/java/com/base/browserwhite/bean/ConstObject.kt
View file @
90b0c31f
...
@@ -19,7 +19,8 @@ object ConstObject {
...
@@ -19,7 +19,8 @@ object ConstObject {
const
val
ID_APP_PROCESS_1
=
12004
const
val
ID_APP_PROCESS_1
=
12004
const
val
ID_APP_PROCESS_2
=
12014
const
val
ID_APP_PROCESS_2
=
12014
const
val
ID_WEATHER
=
12012
const
val
ID_WEATHER
=
12012
const
val
ID_CONSTELLATION
=
13000
const
val
ID_CONSTELLATION
=
13000
const
val
ID_USAGE_REPORT
=
15000
const
val
JUNK_CLEANER
=
"Junk Cleaner"
const
val
JUNK_CLEANER
=
"Junk Cleaner"
const
val
NEWS
=
"News"
const
val
NEWS
=
"News"
...
...
app/src/main/java/com/base/browserwhite/fcm/NotificationUiUtil.kt
View file @
90b0c31f
...
@@ -24,6 +24,7 @@ import com.base.browserwhite.bean.ConstObject.ID_INSTALL_APP
...
@@ -24,6 +24,7 @@ import com.base.browserwhite.bean.ConstObject.ID_INSTALL_APP
import
com.base.browserwhite.bean.ConstObject.ID_JUNK_CLEANER
import
com.base.browserwhite.bean.ConstObject.ID_JUNK_CLEANER
import
com.base.browserwhite.bean.ConstObject.ID_NEWS
import
com.base.browserwhite.bean.ConstObject.ID_NEWS
import
com.base.browserwhite.bean.ConstObject.ID_UNINSTALL_APP
import
com.base.browserwhite.bean.ConstObject.ID_UNINSTALL_APP
import
com.base.browserwhite.bean.ConstObject.ID_USAGE_REPORT
import
com.base.browserwhite.bean.ConstObject.ID_WEATHER
import
com.base.browserwhite.bean.ConstObject.ID_WEATHER
import
com.base.browserwhite.bean.NewsBean
import
com.base.browserwhite.bean.NewsBean
import
com.base.browserwhite.bean.WeatherBean
import
com.base.browserwhite.bean.WeatherBean
...
@@ -195,6 +196,13 @@ object NotificationUiUtil {
...
@@ -195,6 +196,13 @@ object NotificationUiUtil {
}
}
ID_USAGE_REPORT
->
{
//使用报告
val
smallRemoteViews
=
RemoteViews
(
context
.
packageName
,
R
.
layout
.
notification_usage_report_small
)
val
bigRemoteViews
=
RemoteViews
(
context
.
packageName
,
R
.
layout
.
notification_usage_report_small
)
sendNotificationUI
(
context
,
actionId
,
bigRemoteViews
,
smallRemoteViews
)
}
else
->
{
else
->
{
}
}
}
}
...
...
app/src/main/java/com/base/browserwhite/ui/fragment/HomeFragment.kt
View file @
90b0c31f
...
@@ -16,6 +16,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
...
@@ -16,6 +16,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import
com.base.browserwhite.R
import
com.base.browserwhite.R
import
com.base.browserwhite.ads.admob.AdmobNativeUtils
import
com.base.browserwhite.ads.admob.AdmobNativeUtils
import
com.base.browserwhite.bean.BookmarkBean
import
com.base.browserwhite.bean.BookmarkBean
import
com.base.browserwhite.bean.ConstObject
import
com.base.browserwhite.bean.ConstObject.APP_PROCESS
import
com.base.browserwhite.bean.ConstObject.APP_PROCESS
import
com.base.browserwhite.bean.ConstObject.BAIDU
import
com.base.browserwhite.bean.ConstObject.BAIDU
import
com.base.browserwhite.bean.ConstObject.BING
import
com.base.browserwhite.bean.ConstObject.BING
...
@@ -37,6 +38,7 @@ import com.base.browserwhite.databinding.FragmentHomeBinding
...
@@ -37,6 +38,7 @@ import com.base.browserwhite.databinding.FragmentHomeBinding
import
com.base.browserwhite.fcm.NotificationHelp
import
com.base.browserwhite.fcm.NotificationHelp
import
com.base.browserwhite.fcm.NotificationPushUtil
import
com.base.browserwhite.fcm.NotificationPushUtil
import
com.base.browserwhite.fcm.NotificationPushUtil.sendNotificationWhere
import
com.base.browserwhite.fcm.NotificationPushUtil.sendNotificationWhere
import
com.base.browserwhite.fcm.NotificationUiUtil
import
com.base.browserwhite.fcm.PackageBroadcastReceiver.Companion.registerPackageBroadcastReceiver
import
com.base.browserwhite.fcm.PackageBroadcastReceiver.Companion.registerPackageBroadcastReceiver
import
com.base.browserwhite.help.Constants
import
com.base.browserwhite.help.Constants
import
com.base.browserwhite.help.NewsUtils.requestNews
import
com.base.browserwhite.help.NewsUtils.requestNews
...
@@ -370,7 +372,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
...
@@ -370,7 +372,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
// i++
// i++
// lastClickTime = System.currentTimeMillis()
// lastClickTime = System.currentTimeMillis()
// requireContext().sendNotificationWhere(ID_WEATHER,""
)
NotificationUiUtil
.
sendNotification
(
requireContext
(),
ConstObject
.
ID_USAGE_REPORT
)
}
}
binding
.
ivUp
.
setOnClickListener
{
binding
.
ivUp
.
setOnClickListener
{
binding
.
rv
.
scrollToPosition
(
0
)
binding
.
rv
.
scrollToPosition
(
0
)
...
...
app/src/main/java/com/base/browserwhite/ui/views/ColorProgressBar.kt
0 → 100644
View file @
90b0c31f
package
com.base.browserwhite.ui.views
import
android.animation.Animator
import
android.animation.ValueAnimator
import
android.content.Context
import
android.graphics.Canvas
import
android.graphics.Color
import
android.graphics.Paint
import
android.graphics.RectF
import
android.util.AttributeSet
import
android.view.animation.LinearInterpolator
import
android.widget.ProgressBar
import
com.base.browserwhite.R
class
ColorProgressBar
:
ProgressBar
{
private
lateinit
var
ringPaint
:
Paint
//圆环笔
private
var
centerX
=
0f
private
var
centerY
=
0f
private
var
radius
=
0f
private
var
strokeWidth
=
0f
// 圆环的宽度
private
var
margin
=
10f
private
lateinit
var
ringRectF
:
RectF
private
lateinit
var
progressRectF
:
RectF
private
lateinit
var
progressPaint
:
Paint
private
var
listProgressBean
:
List
<
ProgressBean
>
=
listOf
()
private
var
currentAngle
=
0f
var
finishAnimation
:
(()
->
Unit
)?
=
null
constructor
(
context
:
Context
)
:
super
(
context
){
initPaint
(
context
)
}
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?)
:
super
(
context
,
attrs
){
initPaint
(
context
)
}
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?,
defStyleAttr
:
Int
)
:
super
(
context
,
attrs
,
defStyleAttr
){
initPaint
(
context
)
}
private
fun
initPaint
(
context
:
Context
)
{
strokeWidth
=
context
.
resources
.
getDimension
(
R
.
dimen
.
dp_9
)
ringPaint
=
Paint
()
ringPaint
.
isAntiAlias
=
true
ringPaint
.
style
=
Paint
.
Style
.
STROKE
ringPaint
.
setColor
(
Color
.
parseColor
(
"#E6E7EC"
))
ringPaint
.
strokeWidth
=
strokeWidth
progressPaint
=
Paint
()
progressPaint
.
isAntiAlias
=
true
progressPaint
.
style
=
Paint
.
Style
.
STROKE
progressPaint
.
strokeWidth
=
strokeWidth
progressPaint
.
strokeCap
=
Paint
.
Cap
.
ROUND
// 初始化圆的中心点和半径
centerX
=
width
/
2.0f
centerY
=
height
/
2.0f
radius
=
(
centerX
.
coerceAtMost
(
centerY
)
-
strokeWidth
/
2
)
-
margin
}
override
fun
onSizeChanged
(
w
:
Int
,
h
:
Int
,
oldw
:
Int
,
oldh
:
Int
)
{
super
.
onSizeChanged
(
w
,
h
,
oldw
,
oldh
)
centerX
=
w
/
2.0f
centerY
=
h
/
2.0f
radius
=
(
centerX
.
coerceAtMost
(
centerY
)
-
strokeWidth
/
2
)
-
margin
ringRectF
=
RectF
(
centerX
-
radius
,
centerY
-
radius
,
centerX
+
radius
,
centerY
+
radius
)
progressRectF
=
RectF
(
centerX
-
radius
,
centerY
-
radius
,
centerX
+
radius
,
centerY
+
radius
)
}
override
fun
onDraw
(
canvas
:
Canvas
)
{
super
.
onDraw
(
canvas
)
// // 绘制圆环
// canvas.drawOval(ringRectF, ringPaint)
//
//
// listProgressBean.forEachIndexed { index, progressBean ->
// progressPaint.setColor(Color.parseColor(progressBean.color))
//
// if (index != 0) {
// val lastProgressBean: ProgressBean = listProgressBean[index - 1]
//
// if (currentAngle <= progressBean.sweepAngle) {
// canvas.drawArc(progressRectF, -90f, currentAngle, false, progressPaint)
// progressBean.draw = true
// } else if (lastProgressBean.draw) {
// canvas.drawArc(progressRectF, -90f, progressBean.sweepAngle, false, progressPaint)
// progressBean.draw = true
// }
// } else {
// if (currentAngle >= progressBean.startAngle) {
// canvas.drawArc(progressRectF, -90f, currentAngle, false, progressPaint)
// progressBean.draw = true
// }
// }
// }
}
private
fun
setProgress
(
angle
:
Float
)
{
currentAngle
=
angle
invalidate
()
}
fun
animateProgress
(
list
:
List
<
ProgressBean
>)
{
listProgressBean
=
list
val
totalAngle
=
list
.
maxOf
{
it
.
sweepAngle
}
val
progressAnimator
=
ValueAnimator
.
ofFloat
(
0f
,
totalAngle
)
progressAnimator
.
interpolator
=
LinearInterpolator
()
// 平滑插值器
progressAnimator
.
setDuration
(
1500
)
// 动画持续时间1000毫秒
progressAnimator
.
addUpdateListener
{
animation
->
val
animatedValue
=
animation
.
getAnimatedValue
()
as
Float
setProgress
(
animatedValue
)
}
progressAnimator
.
addListener
(
object
:
Animator
.
AnimatorListener
{
override
fun
onAnimationStart
(
animation
:
Animator
)
{
}
override
fun
onAnimationEnd
(
animation
:
Animator
)
{
finishAnimation
?.
invoke
()
}
override
fun
onAnimationCancel
(
animation
:
Animator
)
{
}
override
fun
onAnimationRepeat
(
animation
:
Animator
)
{
}
})
progressAnimator
.
start
()
}
}
\ No newline at end of file
app/src/main/res/layout/notification_usage_report_small.xml
0 → 100644
View file @
90b0c31f
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"@drawable/bg_ffffff_15"
>
<com.base.browserwhite.ui.views.ColorProgressBar
android:layout_width=
"34dp"
android:layout_height=
"34dp"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"15dp"
android:src=
"@mipmap/clean"
tools:ignore=
"ContentDescription"
/>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"6dp"
android:layout_weight=
"1"
android:orientation=
"vertical"
tools:ignore=
"HardcodedText"
>
<TextView
android:id=
"@+id/tv_tittle_1"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:textColor=
"@color/black"
android:textSize=
"14sp"
tools:text=
"2024/09/02 Usage Report"
/>
<TextView
android:id=
"@+id/tv_tittle_2"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:textColor=
"#898989"
android:textSize=
"12sp"
tools:text=
"View the apps that generate the most garbage"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_btn"
android:layout_width=
"69dp"
android:layout_height=
"34dp"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"12dp"
android:background=
"@drawable/bg_0571ed_25"
android:gravity=
"center"
android:text=
"Clean"
android:textColor=
"@color/white"
android:textSize=
"15sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
\ 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