Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
D
Data Recovery 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
Data Recovery White
Commits
b1fa4dc1
Commit
b1fa4dc1
authored
Aug 01, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
608fb08e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
36 additions
and
27 deletions
+36
-27
MainActivity.kt
.../main/java/com/base/datarecovery/activity/MainActivity.kt
+0
-20
HomeFragment.kt
.../main/java/com/base/datarecovery/fragment/HomeFragment.kt
+35
-2
fragment_home.xml
app/src/main/res/layout/fragment_home.xml
+1
-5
imagemessages.png
app/src/main/res/mipmap-xxhdpi/imagemessages.png
+0
-0
No files found.
app/src/main/java/com/base/datarecovery/activity/MainActivity.kt
View file @
b1fa4dc1
...
@@ -2,7 +2,6 @@ package com.base.datarecovery.activity
...
@@ -2,7 +2,6 @@ package com.base.datarecovery.activity
import
android.graphics.Color
import
android.graphics.Color
import
android.graphics.Typeface
import
android.graphics.Typeface
import
android.os.Environment
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
...
@@ -14,7 +13,6 @@ import com.base.datarecovery.databinding.ActivityMainBinding
...
@@ -14,7 +13,6 @@ import com.base.datarecovery.databinding.ActivityMainBinding
import
com.base.datarecovery.fragment.HomeFragment
import
com.base.datarecovery.fragment.HomeFragment
import
com.base.datarecovery.fragment.RecoveryFragment
import
com.base.datarecovery.fragment.RecoveryFragment
import
com.base.datarecovery.help.BaseActivity
import
com.base.datarecovery.help.BaseActivity
import
com.base.datarecovery.help.FileHelp.getDirFiles
import
com.base.datarecovery.help.PermissionHelp.checkStorePermission
import
com.base.datarecovery.help.PermissionHelp.checkStorePermission
import
com.base.datarecovery.utils.AppPreferences
import
com.base.datarecovery.utils.AppPreferences
import
com.base.datarecovery.utils.BarUtils
import
com.base.datarecovery.utils.BarUtils
...
@@ -127,22 +125,4 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
...
@@ -127,22 +125,4 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
}
}
}
fun
setScreenSize
(
action
:
(
size
:
Long
)
->
Unit
)
{
if
(!
checkStorePermission
())
{
action
.
invoke
(
0
)
}
else
{
lifecycleScope
.
launch
(
Dispatchers
.
Main
)
{
action
.
invoke
(
getScreenSize
())
}
}
}
private
suspend
fun
getScreenSize
():
Long
{
val
deferred
=
lifecycleScope
.
async
(
Dispatchers
.
IO
)
{
val
dcim
=
Environment
.
getExternalStoragePublicDirectory
(
Environment
.
DIRECTORY_DCIM
)
getDirFiles
(
dcim
).
sumOf
{
it
.
length
()
}
}
return
deferred
.
await
()
}
}
}
\ No newline at end of file
app/src/main/java/com/base/datarecovery/fragment/HomeFragment.kt
View file @
b1fa4dc1
...
@@ -3,7 +3,13 @@ package com.base.datarecovery.fragment
...
@@ -3,7 +3,13 @@ package com.base.datarecovery.fragment
import
android.animation.AnimatorSet
import
android.animation.AnimatorSet
import
android.animation.ObjectAnimator
import
android.animation.ObjectAnimator
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.usage.StorageStatsManager
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
import
android.os.Build
import
android.os.Environment
import
android.os.StatFs
import
android.os.storage.StorageManager
import
android.view.View
import
android.view.View
import
android.view.animation.AccelerateDecelerateInterpolator
import
android.view.animation.AccelerateDecelerateInterpolator
import
com.base.datarecovery.activity.SettingActivity
import
com.base.datarecovery.activity.SettingActivity
...
@@ -13,9 +19,10 @@ import com.base.datarecovery.activity.battery.BatteryInfoAnimationActivity
...
@@ -13,9 +19,10 @@ import com.base.datarecovery.activity.battery.BatteryInfoAnimationActivity
import
com.base.datarecovery.activity.junkclean.ScanJunkActivity
import
com.base.datarecovery.activity.junkclean.ScanJunkActivity
import
com.base.datarecovery.activity.largefile.LargeFileAnimationActivity
import
com.base.datarecovery.activity.largefile.LargeFileAnimationActivity
import
com.base.datarecovery.activity.whatsapp.WhatsAppCleanerAnimationActivity
import
com.base.datarecovery.activity.whatsapp.WhatsAppCleanerAnimationActivity
import
com.base.datarecovery.ads.AdmobMaxHelper
import
com.base.datarecovery.databinding.FragmentHomeBinding
import
com.base.datarecovery.databinding.FragmentHomeBinding
import
com.base.datarecovery.help.BaseFragment
import
com.base.datarecovery.help.BaseFragment
import
com.base.datarecovery.help.KotlinExt.toFormatSize
import
java.io.File
class
HomeFragment
:
BaseFragment
<
FragmentHomeBinding
>()
{
class
HomeFragment
:
BaseFragment
<
FragmentHomeBinding
>()
{
...
@@ -27,7 +34,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
...
@@ -27,7 +34,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override
fun
setView
()
{
override
fun
setView
()
{
animatorSet
=
createHeartbeatAnimation
(
binding
.
flScan
)
animatorSet
=
createHeartbeatAnimation
(
binding
.
flScan
)
AdmobMaxHelper
.
admobMaxShowNativeAd
(
requireActivity
(),
binding
.
flAd
)
showStorage
(
)
}
}
override
fun
setListener
()
{
override
fun
setListener
()
{
...
@@ -101,4 +108,30 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
...
@@ -101,4 +108,30 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
animatorSet
.
resume
()
animatorSet
.
resume
()
}
}
@SuppressLint
(
"SetTextI18n"
)
fun
showStorage
()
{
binding
.
llStorage
.
visibility
=
View
.
VISIBLE
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
R
)
{
val
storageStatsManager
=
requireContext
().
getSystemService
(
Context
.
STORAGE_STATS_SERVICE
)
as
StorageStatsManager
Thread
{
val
totalBytes
=
storageStatsManager
.
getTotalBytes
(
StorageManager
.
UUID_DEFAULT
)
val
usedBytes
=
totalBytes
-
storageStatsManager
.
getFreeBytes
(
StorageManager
.
UUID_DEFAULT
)
binding
.
root
.
post
{
binding
.
tvStorage
.
text
=
"${usedBytes.toFormatSize()} / ${totalBytes.toFormatSize()}"
}
}.
start
()
}
else
{
val
path1
:
File
=
Environment
.
getDataDirectory
()
val
stat1
=
StatFs
(
path1
.
path
)
val
path2
:
File
=
Environment
.
getExternalStorageDirectory
()
val
stat2
=
StatFs
(
path2
.
path
)
val
totalSize
=
(
stat1
.
totalBytes
+
stat2
.
totalBytes
).
toFormatSize
()
val
usedSize
=
((
stat1
.
totalBytes
+
stat2
.
totalBytes
)
-
(
stat1
.
availableBytes
+
stat2
.
availableBytes
)).
toFormatSize
()
binding
.
tvStorage
.
text
=
"$usedSize / $totalSize"
}
}
}
}
\ No newline at end of file
app/src/main/res/layout/fragment_home.xml
View file @
b1fa4dc1
...
@@ -67,6 +67,7 @@
...
@@ -67,6 +67,7 @@
<LinearLayout
<LinearLayout
android:id=
"@+id/ll_storage"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_gravity=
"center_horizontal"
...
@@ -394,11 +395,6 @@
...
@@ -394,11 +395,6 @@
</LinearLayout>
</LinearLayout>
<FrameLayout
android:id=
"@+id/fl_ad"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>
...
...
app/src/main/res/mipmap-hdpi/imagemessages.png
→
app/src/main/res/mipmap-
xx
hdpi/imagemessages.png
View file @
b1fa4dc1
File moved
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