Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
E
Easy 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
Easy File Manager
Commits
311ed22d
Commit
311ed22d
authored
Jun 24, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重写电池信息页面
parent
003faa1b
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
450 additions
and
49 deletions
+450
-49
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+4
-2
BatteryActivity.kt
...java/com/base/easyfilemanager/activity/BatteryActivity.kt
+123
-0
SplashJumpUtils.kt
...m/base/easyfilemanager/activity/splash/SplashJumpUtils.kt
+2
-1
FileBrowseAdapter.kt
...ava/com/base/easyfilemanager/adapter/FileBrowseAdapter.kt
+6
-0
FileManagerAdapter.kt
...va/com/base/easyfilemanager/adapter/FileManagerAdapter.kt
+6
-7
FIleBean.kt
app/src/main/java/com/base/easyfilemanager/bean/FIleBean.kt
+16
-27
BaseActivity.kt
.../main/java/com/base/easyfilemanager/helps/BaseActivity.kt
+2
-4
MediaStoreEx.kt
.../main/java/com/base/easyfilemanager/helps/MediaStoreEx.kt
+0
-8
battery_bg.xml
app/src/main/res/drawable/battery_bg.xml
+6
-0
battery_bg_lv.xml
app/src/main/res/drawable/battery_bg_lv.xml
+6
-0
battery_bg_red.xml
app/src/main/res/drawable/battery_bg_red.xml
+6
-0
battery_bg_yellow.xml
app/src/main/res/drawable/battery_bg_yellow.xml
+6
-0
battery_clip_lv.xml
app/src/main/res/drawable/battery_clip_lv.xml
+7
-0
battery_clip_red.xml
app/src/main/res/drawable/battery_clip_red.xml
+7
-0
battery_clip_yellow.xml
app/src/main/res/drawable/battery_clip_yellow.xml
+7
-0
bg_4772ff_corners25.xml
app/src/main/res/drawable/bg_4772ff_corners25.xml
+5
-0
activity_battery.xml
app/src/main/res/layout/activity_battery.xml
+241
-0
battery_lv.png
app/src/main/res/mipmap-xxhdpi/battery_lv.png
+0
-0
battery_red.png
app/src/main/res/mipmap-xxhdpi/battery_red.png
+0
-0
battery_yellow.png
app/src/main/res/mipmap-xxhdpi/battery_yellow.png
+0
-0
chongdian.png
app/src/main/res/mipmap-xxhdpi/chongdian.png
+0
-0
power.png
app/src/main/res/mipmap-xxhdpi/power.png
+0
-0
temperature.png
app/src/main/res/mipmap-xxhdpi/temperature.png
+0
-0
voltage.png
app/src/main/res/mipmap-xxhdpi/voltage.png
+0
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
311ed22d
...
@@ -3,11 +3,11 @@
...
@@ -3,11 +3,11 @@
xmlns:tools=
"http://schemas.android.com/tools"
>
xmlns:tools=
"http://schemas.android.com/tools"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.MANAGE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.MANAGE_EXTERNAL_STORAGE"
/>
<application
<application
android:name=
".MyApplication"
android:name=
".MyApplication"
android:allowBackup=
"true"
android:allowBackup=
"true"
...
@@ -19,7 +19,9 @@
...
@@ -19,7 +19,9 @@
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/Theme.EasyFileManager"
android:theme=
"@style/Theme.EasyFileManager"
tools:targetApi=
"31"
>
tools:targetApi=
"31"
>
<activity
android:name=
".activity.BatteryActivity"
android:exported=
"false"
/>
<activity
<activity
android:name=
".activity.splash.SplashActivity"
android:name=
".activity.splash.SplashActivity"
android:exported=
"true"
android:exported=
"true"
...
...
app/src/main/java/com/base/easyfilemanager/activity/BatteryActivity.kt
0 → 100644
View file @
311ed22d
package
com.base.easyfilemanager.activity
import
android.content.BroadcastReceiver
import
android.content.Context
import
android.content.Intent
import
android.content.IntentFilter
import
android.graphics.Color
import
android.graphics.drawable.ClipDrawable
import
android.os.BatteryManager
import
android.view.View
import
androidx.activity.addCallback
import
androidx.core.content.ContextCompat
import
com.base.easyfilemanager.R
import
com.base.easyfilemanager.databinding.ActivityBatteryBinding
import
com.base.easyfilemanager.helps.BarUtils
import
com.base.easyfilemanager.helps.BaseActivity
import
com.base.easyfilemanager.helps.LogEx
import
com.base.easyfilemanager.helps.ads.AdmobUtils
import
kotlin.math.roundToInt
/**
* 充电中50以上绿色 50-20黄色 20以下红色
*/
class
BatteryActivity
:
BaseActivity
<
ActivityBatteryBinding
>()
{
private
val
TAG
=
"BatteryActivity"
private
lateinit
var
receiver
:
BatteryReceiver
override
val
binding
:
ActivityBatteryBinding
by
lazy
{
ActivityBatteryBinding
.
inflate
(
layoutInflater
)
}
override
fun
initView
()
{
BarUtils
.
setStatusBarColor
(
this
,
Color
.
TRANSPARENT
)
BarUtils
.
setStatusBarLightMode
(
this
,
true
)
val
clipDrawable
=
binding
.
ivBatteryClip
.
drawable
as
ClipDrawable
clipDrawable
.
level
=
10000
receiver
=
BatteryReceiver
()
val
filter
=
IntentFilter
(
Intent
.
ACTION_BATTERY_CHANGED
)
registerReceiver
(
receiver
,
filter
)
val
bm
=
getSystemService
(
Context
.
BATTERY_SERVICE
)
as
BatteryManager
val
chargeCounter
=
bm
.
getIntProperty
(
BatteryManager
.
BATTERY_PROPERTY_CHARGE_COUNTER
)
val
pCapacity
=
bm
.
getIntProperty
(
BatteryManager
.
BATTERY_PROPERTY_CAPACITY
)
LogEx
.
logDebug
(
TAG
,
"chargeCounter=$chargeCounter pCapacity=$pCapacity"
)
if
(
chargeCounter
!=
Int
.
MIN_VALUE
&&
pCapacity
!=
Int
.
MIN_VALUE
)
{
val
value
=
(
chargeCounter
/
(
pCapacity
.
toFloat
()
/
100f
))
/
1000f
binding
.
tvPower
.
text
=
"${value.toInt()} mAh"
}
AdmobUtils
.
showNativeAd
(
this
,
binding
.
flAd
)
}
override
fun
initListener
()
{
onBackPressedDispatcher
.
addCallback
{
AdmobUtils
.
showInterstitialAd
(
this
@BatteryActivity
)
{
finishToMain
()
}
}
binding
.
tvGotIt
.
setOnClickListener
{
onBackPressedDispatcher
.
onBackPressed
()
}
}
override
fun
onDestroy
()
{
unregisterReceiver
(
receiver
)
}
private
inner
class
BatteryReceiver
:
BroadcastReceiver
()
{
override
fun
onReceive
(
context
:
Context
?,
intent
:
Intent
?)
{
val
current
=
intent
?.
extras
?.
getInt
(
"level"
)
?:
0
val
total
=
intent
?.
extras
?.
getInt
(
"scale"
)
?:
0
var
percent
=
current
*
100
/
total
binding
.
tvPercent
.
text
=
"$percent %"
var
clipDrawable
:
ClipDrawable
?
=
null
when
(
percent
)
{
in
0
..
19
->
{
clipDrawable
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
drawable
.
battery_clip_red
)
as
ClipDrawable
binding
.
ivBatteryClip
.
setImageDrawable
(
clipDrawable
)
binding
.
flBattery
.
background
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
mipmap
.
battery_red
)
}
in
20
..
50
->
{
clipDrawable
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
drawable
.
battery_clip_yellow
)
as
ClipDrawable
binding
.
ivBatteryClip
.
setImageDrawable
(
clipDrawable
)
binding
.
flBattery
.
background
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
mipmap
.
battery_yellow
)
}
in
51
..
100
->
{
clipDrawable
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
drawable
.
battery_clip_lv
)
as
ClipDrawable
binding
.
ivBatteryClip
.
setImageDrawable
(
clipDrawable
)
binding
.
flBattery
.
background
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
mipmap
.
battery_lv
)
}
}
val
voltage
=
intent
?.
getIntExtra
(
"voltage"
,
0
)
?.
toFloat
()
?.
roundToInt
()
?:
0
val
voltageValue
=
voltage
/
1000f
binding
.
tvVoltage
.
text
=
"${String.format("
%.
1f
", voltageValue)} V"
val
temperature
=
intent
?.
getIntExtra
(
"temperature"
,
0
)
?.
toFloat
()
?.
roundToInt
()
?:
0
binding
.
tvTemperature
.
text
=
"${temperature / 10f}°C"
val
batteryChargeState
=
intent
?.
getIntExtra
(
BatteryManager
.
EXTRA_PLUGGED
,
0
)
?:
0
LogEx
.
logDebug
(
TAG
,
"batteryChargeState=$batteryChargeState"
)
if
(
batteryChargeState
!=
0
)
{
clipDrawable
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
drawable
.
battery_clip_lv
)
as
ClipDrawable
binding
.
ivBatteryClip
.
setImageDrawable
(
clipDrawable
)
binding
.
flBattery
.
background
=
ContextCompat
.
getDrawable
(
this
@BatteryActivity
,
R
.
mipmap
.
battery_lv
)
binding
.
ivChongdian
.
visibility
=
View
.
VISIBLE
}
else
{
binding
.
ivChongdian
.
visibility
=
View
.
GONE
}
clipDrawable
?.
level
=
current
*
10000
/
total
}
}
}
\ No newline at end of file
app/src/main/java/com/base/easyfilemanager/activity/splash/SplashJumpUtils.kt
View file @
311ed22d
...
@@ -2,12 +2,13 @@ package com.base.easyfilemanager.activity.splash
...
@@ -2,12 +2,13 @@ package com.base.easyfilemanager.activity.splash
import
android.app.Activity
import
android.app.Activity
import
android.content.Intent
import
android.content.Intent
import
com.base.easyfilemanager.activity.BatteryActivity
import
com.base.easyfilemanager.activity.MainActivity
import
com.base.easyfilemanager.activity.MainActivity
object
SplashJumpUtils
{
object
SplashJumpUtils
{
fun
jumpNextPage
(
context
:
Activity
)
{
fun
jumpNextPage
(
context
:
Activity
)
{
context
.
startActivity
(
Intent
(
context
,
Main
Activity
::
class
.
java
))
context
.
startActivity
(
Intent
(
context
,
Battery
Activity
::
class
.
java
))
context
.
finish
()
context
.
finish
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/easyfilemanager/adapter/FileBrowseAdapter.kt
View file @
311ed22d
...
@@ -10,6 +10,12 @@ import androidx.recyclerview.widget.RecyclerView
...
@@ -10,6 +10,12 @@ import androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView.ViewHolder
import
androidx.recyclerview.widget.RecyclerView.ViewHolder
import
com.base.easyfilemanager.R
import
com.base.easyfilemanager.R
import
com.base.easyfilemanager.bean.FileBean
import
com.base.easyfilemanager.bean.FileBean
import
com.base.easyfilemanager.bean.FileBean.Companion.isApk
import
com.base.easyfilemanager.bean.FileBean.Companion.isAudio
import
com.base.easyfilemanager.bean.FileBean.Companion.isEmptyFile
import
com.base.easyfilemanager.bean.FileBean.Companion.isImage
import
com.base.easyfilemanager.bean.FileBean.Companion.isVideo
import
com.base.easyfilemanager.bean.FileBean.Companion.isZip
import
com.base.easyfilemanager.databinding.ItemFileListBinding
import
com.base.easyfilemanager.databinding.ItemFileListBinding
import
com.base.easyfilemanager.helps.XmlEx.inflate
import
com.base.easyfilemanager.helps.XmlEx.inflate
import
com.bumptech.glide.Glide
import
com.bumptech.glide.Glide
...
...
app/src/main/java/com/base/easyfilemanager/adapter/FileManagerAdapter.kt
View file @
311ed22d
...
@@ -56,20 +56,19 @@ class FileManagerAdapter(
...
@@ -56,20 +56,19 @@ class FileManagerAdapter(
}
}
private
fun
bindIcon
(
data
:
FileBean
,
iv
:
ImageView
)
{
private
fun
bindIcon
(
data
:
FileBean
,
iv
:
ImageView
)
{
val
file
=
File
(
data
.
path
)
when
{
when
{
isDir
(
file
)
->
iv
.
setImageResource
(
R
.
mipmap
.
dir
)
data
.
isDir
(
)
->
iv
.
setImageResource
(
R
.
mipmap
.
dir
)
isImage
(
file
)
or
isVideo
(
file
)
->
{
data
.
isImage
()
or
data
.
isVideo
(
)
->
{
Glide
.
with
(
iv
.
context
)
Glide
.
with
(
iv
.
context
)
.
load
(
data
.
path
)
.
load
(
data
.
path
)
.
centerCrop
()
.
centerCrop
()
.
into
(
iv
)
.
into
(
iv
)
}
}
isAudio
(
file
)
->
iv
.
setImageResource
(
R
.
mipmap
.
audio
)
data
.
isAudio
(
)
->
iv
.
setImageResource
(
R
.
mipmap
.
audio
)
isZip
(
file
)
->
iv
.
setImageResource
(
R
.
mipmap
.
zip
)
data
.
isZip
(
)
->
iv
.
setImageResource
(
R
.
mipmap
.
zip
)
isApk
(
file
)
->
iv
.
setImageResource
(
R
.
mipmap
.
apk
)
data
.
isApk
(
)
->
iv
.
setImageResource
(
R
.
mipmap
.
apk
)
isDocument
(
file
)
->
iv
.
setImageResource
(
R
.
mipmap
.
file
)
data
.
isDocument
(
)
->
iv
.
setImageResource
(
R
.
mipmap
.
file
)
else
->
iv
.
setImageResource
(
R
.
mipmap
.
file
)
else
->
iv
.
setImageResource
(
R
.
mipmap
.
file
)
}
}
}
}
...
...
app/src/main/java/com/base/easyfilemanager/bean/FIleBean.kt
View file @
311ed22d
...
@@ -6,42 +6,31 @@ data class FileBean(
...
@@ -6,42 +6,31 @@ data class FileBean(
var
name
:
String
=
""
,
var
name
:
String
=
""
,
var
path
:
String
,
var
path
:
String
,
val
size
:
Long
,
val
size
:
Long
,
val
isDir
:
Boolean
=
false
,
var
type
:
String
=
""
,
var
type
:
String
=
""
,
val
time
:
Long
=
0L
,
val
time
:
Long
=
0L
,
var
isSelect
:
Boolean
=
false
var
isSelect
:
Boolean
=
false
)
{
)
{
fun
isEmptyFile
()
=
!
isDir
&&
(
File
(
path
).
length
()
==
0L
)
fun
isEmptyDir
()
=
isDir
fun
isImage
()
=
!
isDir
&&
type
in
listOf
(
"png"
,
"jpg"
,
"gif"
)
fun
isVideo
()
=
!
isDir
&&
type
in
listOf
(
"mp4"
)
fun
isAudio
()
=
!
isDir
&&
type
in
listOf
(
"mp3"
)
fun
isZip
()
=
!
isDir
&&
type
in
listOf
(
"zip"
,
"tar"
,
"7z"
)
fun
isApk
()
=
!
isDir
&&
type
in
listOf
(
"apk"
)
companion
object
{
companion
object
{
fun
isDir
(
file
:
File
):
Boolean
{
fun
FileBean
.
isDir
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
isDirectory
return
file
.
isDirectory
}
}
fun
isEmptyFile
(
file
:
File
):
Boolean
{
fun
FileBean
.
isEmptyFile
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
isFile
&&
file
.
length
()
==
0L
return
file
.
isFile
&&
file
.
length
()
==
0L
}
}
fun
isImage
(
file
:
File
):
Boolean
{
fun
FileBean
.
isImage
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
name
.
contains
(
".jpg"
)
or
return
file
.
name
.
contains
(
".jpg"
)
or
file
.
name
.
contains
(
".png"
)
or
file
.
name
.
contains
(
".png"
)
or
file
.
name
.
contains
(
".gif"
)
file
.
name
.
contains
(
".gif"
)
}
}
fun
isVideo
(
file
:
File
):
Boolean
{
fun
FileBean
.
isVideo
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
name
.
contains
(
".mp4"
)
or
return
file
.
name
.
contains
(
".mp4"
)
or
file
.
name
.
contains
(
".avi"
)
or
file
.
name
.
contains
(
".avi"
)
or
file
.
name
.
contains
(
".flv"
)
or
file
.
name
.
contains
(
".flv"
)
or
...
@@ -49,7 +38,8 @@ data class FileBean(
...
@@ -49,7 +38,8 @@ data class FileBean(
file
.
name
.
contains
(
".mkv"
)
file
.
name
.
contains
(
".mkv"
)
}
}
fun
isAudio
(
file
:
File
):
Boolean
{
fun
FileBean
.
isAudio
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
name
.
contains
(
".mp3"
)
or
return
file
.
name
.
contains
(
".mp3"
)
or
file
.
name
.
contains
(
".aac"
)
or
file
.
name
.
contains
(
".aac"
)
or
file
.
name
.
contains
(
".ogg"
)
or
file
.
name
.
contains
(
".ogg"
)
or
...
@@ -57,20 +47,19 @@ data class FileBean(
...
@@ -57,20 +47,19 @@ data class FileBean(
file
.
name
.
contains
(
".aac"
)
file
.
name
.
contains
(
".aac"
)
}
}
fun
isLargeFile
(
file
:
File
):
Boolean
{
return
file
.
length
()
>=
10
*
1024
*
1024
}
fun
isZip
(
file
:
File
):
Boolean
{
fun
FileBean
.
isZip
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
name
.
contains
(
".zip"
)
return
file
.
name
.
contains
(
".zip"
)
}
}
fun
isApk
(
file
:
File
):
Boolean
{
fun
FileBean
.
isApk
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
name
.
contains
(
".apk"
)
return
file
.
name
.
contains
(
".apk"
)
}
}
fun
isDocument
(
file
:
File
):
Boolean
{
fun
FileBean
.
isDocument
():
Boolean
{
val
file
=
File
(
path
)
return
file
.
name
.
contains
(
".doc"
)
or
return
file
.
name
.
contains
(
".doc"
)
or
file
.
name
.
contains
(
".docx"
)
or
file
.
name
.
contains
(
".docx"
)
or
file
.
name
.
contains
(
".ppt"
)
or
file
.
name
.
contains
(
".ppt"
)
or
...
...
app/src/main/java/com/base/easyfilemanager/helps/BaseActivity.kt
View file @
311ed22d
...
@@ -2,6 +2,7 @@ package com.base.easyfilemanager.helps
...
@@ -2,6 +2,7 @@ package com.base.easyfilemanager.helps
import
android.app.Dialog
import
android.app.Dialog
import
android.content.Intent
import
android.content.Intent
import
android.graphics.Color
import
android.os.Bundle
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
androidx.viewbinding.ViewBinding
import
androidx.viewbinding.ViewBinding
...
@@ -12,7 +13,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
...
@@ -12,7 +13,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
protected
abstract
val
binding
:
T
protected
abstract
val
binding
:
T
protected
open
val
isLightMode
:
Boolean
?
=
null
lateinit
var
launcher
:
ActivityLauncher
lateinit
var
launcher
:
ActivityLauncher
...
@@ -20,9 +21,6 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
...
@@ -20,9 +21,6 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
launcher
=
ActivityLauncher
(
this
)
launcher
=
ActivityLauncher
(
this
)
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
setContentView
(
binding
.
root
)
setContentView
(
binding
.
root
)
isLightMode
?.
let
{
BarUtils
.
setStatusBarLightMode
(
this
,
it
)
}
initView
()
initView
()
initListener
()
initListener
()
...
...
app/src/main/java/com/base/easyfilemanager/helps/MediaStoreEx.kt
View file @
311ed22d
...
@@ -82,10 +82,7 @@ object MediaStoreEx {
...
@@ -82,10 +82,7 @@ object MediaStoreEx {
val
projection
=
arrayOf
(
val
projection
=
arrayOf
(
MediaStore
.
Audio
.
Media
.
_ID
,
MediaStore
.
Audio
.
Media
.
_ID
,
MediaStore
.
Audio
.
Media
.
TITLE
,
MediaStore
.
Audio
.
Media
.
TITLE
,
MediaStore
.
Audio
.
Media
.
ARTIST
,
MediaStore
.
Audio
.
Media
.
ALBUM
,
MediaStore
.
Audio
.
Media
.
DATA
,
MediaStore
.
Audio
.
Media
.
DATA
,
MediaStore
.
Audio
.
Media
.
DURATION
,
MediaStore
.
Audio
.
Media
.
SIZE
MediaStore
.
Audio
.
Media
.
SIZE
)
)
var
cursor
:
Cursor
?
=
null
var
cursor
:
Cursor
?
=
null
...
@@ -102,8 +99,6 @@ object MediaStoreEx {
...
@@ -102,8 +99,6 @@ object MediaStoreEx {
while
(
cursor
.
moveToNext
())
{
while
(
cursor
.
moveToNext
())
{
// 获取音乐文件的属性
// 获取音乐文件的属性
val
title
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
TITLE
))
val
title
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
TITLE
))
val
artist
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
ARTIST
))
val
album
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
ALBUM
))
val
path
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
DATA
))
val
path
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
DATA
))
val
size
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
SIZE
)).
toLong
()
val
size
=
cursor
.
getString
(
cursor
.
getColumnIndex
(
MediaStore
.
Audio
.
Media
.
SIZE
)).
toLong
()
// 其他属性...
// 其他属性...
...
@@ -123,8 +118,6 @@ object MediaStoreEx {
...
@@ -123,8 +118,6 @@ object MediaStoreEx {
val
projection
=
arrayOf
(
val
projection
=
arrayOf
(
MediaStore
.
Images
.
Media
.
_ID
,
MediaStore
.
Images
.
Media
.
_ID
,
MediaStore
.
Images
.
Media
.
DATA
,
MediaStore
.
Images
.
Media
.
DATA
,
MediaStore
.
Images
.
Media
.
TITLE
,
MediaStore
.
Images
.
Media
.
MIME_TYPE
,
MediaStore
.
Images
.
Media
.
SIZE
,
MediaStore
.
Images
.
Media
.
SIZE
,
MediaStore
.
Images
.
Media
.
DATE_TAKEN
MediaStore
.
Images
.
Media
.
DATE_TAKEN
)
)
...
@@ -165,7 +158,6 @@ object MediaStoreEx {
...
@@ -165,7 +158,6 @@ object MediaStoreEx {
MediaStore
.
Video
.
Media
.
DATA
,
MediaStore
.
Video
.
Media
.
DATA
,
MediaStore
.
Video
.
Media
.
TITLE
,
MediaStore
.
Video
.
Media
.
TITLE
,
MediaStore
.
Video
.
Media
.
MIME_TYPE
,
MediaStore
.
Video
.
Media
.
MIME_TYPE
,
MediaStore
.
Video
.
Media
.
DURATION
,
MediaStore
.
Video
.
Media
.
DATE_TAKEN
,
MediaStore
.
Video
.
Media
.
DATE_TAKEN
,
MediaStore
.
Video
.
Media
.
SIZE
,
MediaStore
.
Video
.
Media
.
SIZE
,
)
)
...
...
app/src/main/res/drawable/battery_bg.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"2.5dp"
/>
<solid
android:color=
"#EBEBEB"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/battery_bg_lv.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"2.5dp"
/>
<solid
android:color=
"#07BC36"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/battery_bg_red.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"2.5dp"
/>
<solid
android:color=
"#FF3B28"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/battery_bg_yellow.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"2.5dp"
/>
<solid
android:color=
"#FF9517"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/battery_clip_lv.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<clip
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:clipOrientation=
"vertical"
android:drawable=
"@drawable/battery_bg_lv"
android:gravity=
"bottom"
>
</clip>
\ No newline at end of file
app/src/main/res/drawable/battery_clip_red.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<clip
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:clipOrientation=
"vertical"
android:drawable=
"@drawable/battery_bg_red"
android:gravity=
"bottom"
>
</clip>
\ No newline at end of file
app/src/main/res/drawable/battery_clip_yellow.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<clip
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:clipOrientation=
"vertical"
android:drawable=
"@drawable/battery_bg_yellow"
android:gravity=
"bottom"
>
</clip>
\ No newline at end of file
app/src/main/res/drawable/bg_4772ff_corners25.xml
0 → 100644
View file @
311ed22d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"#4772FF"
/>
<corners
android:radius=
"25dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_battery.xml
0 → 100644
View file @
311ed22d
<?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.BatteryActivity"
>
<View
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
/>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<FrameLayout
android:id=
"@+id/fl_back"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"15dp"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/fanhui"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:text=
"Battery info"
android:textColor=
"@color/black"
android:textSize=
"19sp"
android:textStyle=
"bold"
tools:ignore=
"HardcodedText"
/>
</FrameLayout>
<FrameLayout
android:id=
"@+id/fl_battery"
android:layout_width=
"72dp"
android:layout_height=
"118dp"
android:layout_gravity=
"center"
android:layout_marginTop=
"48dp"
android:background=
"@mipmap/battery_lv"
>
<ImageView
android:layout_width=
"51dp"
android:layout_height=
"90dp"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"17dp"
android:src=
"@drawable/battery_bg"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_battery_clip"
android:layout_width=
"51dp"
android:layout_height=
"90dp"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"17dp"
android:src=
"@drawable/battery_clip_lv"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_chongdian"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:src=
"@mipmap/chongdian"
/>
</FrameLayout>
<TextView
android:id=
"@+id/tv_percent"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginTop=
"26dp"
android:textSize=
"33sp"
android:textStyle=
"bold"
tools:text=
"100%"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"13dp"
android:text=
"Remaining battery"
android:textColor=
"#666666"
android:textSize=
"17sp"
/>
<androidx.cardview.widget.CardView
android:layout_width=
"match_parent"
android:layout_height=
"115dp"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"24dp"
app:cardBackgroundColor=
"#FAFAFB"
app:cardCornerRadius=
"10dp"
app:cardElevation=
"0dp"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/temperature"
/>
<TextView
android:id=
"@+id/tv_temperature"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"6.5dp"
tools:text=
"37.5℃"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"11dp"
android:text=
"Temperature"
/>
</LinearLayout>
<View
android:layout_width=
"1px"
android:layout_height=
"60dp"
android:layout_gravity=
"center_vertical"
android:background=
"#EEEEEE"
/>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/voltage"
/>
<TextView
android:id=
"@+id/tv_voltage"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"6.5dp"
tools:text=
"37.5℃"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"11dp"
android:text=
"Temperature"
/>
</LinearLayout>
<View
android:layout_width=
"1px"
android:layout_height=
"60dp"
android:layout_gravity=
"center_vertical"
android:background=
"#EEEEEE"
/>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/power"
/>
<TextView
android:id=
"@+id/tv_power"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"6.5dp"
tools:text=
"660mAh"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"11dp"
android:text=
"Power"
/>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<FrameLayout
android:id=
"@+id/fl_ad"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"31dp"
/>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
>
<TextView
android:id=
"@+id/tv_got_it"
android:layout_width=
"289dp"
android:layout_height=
"50dp"
android:layout_gravity=
"bottom|center_horizontal"
android:layout_marginBottom=
"30dp"
android:background=
"@drawable/bg_4772ff_corners25"
android:gravity=
"center"
android:text=
"Got it"
android:textColor=
"@color/white"
android:textSize=
"19sp"
android:textStyle=
"bold"
/>
</FrameLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/battery_lv.png
0 → 100644
View file @
311ed22d
6.28 KB
app/src/main/res/mipmap-xxhdpi/battery_red.png
0 → 100644
View file @
311ed22d
5.7 KB
app/src/main/res/mipmap-xxhdpi/battery_yellow.png
0 → 100644
View file @
311ed22d
5.9 KB
app/src/main/res/mipmap-xxhdpi/chongdian.png
0 → 100644
View file @
311ed22d
1.8 KB
app/src/main/res/mipmap-xxhdpi/power.png
0 → 100644
View file @
311ed22d
1.94 KB
app/src/main/res/mipmap-xxhdpi/temperature.png
0 → 100644
View file @
311ed22d
2.92 KB
app/src/main/res/mipmap-xxhdpi/voltage.png
0 → 100644
View file @
311ed22d
3.72 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