Commit b1fa4dc1 authored by wanglei's avatar wanglei

...

parent 608fb08e
...@@ -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
...@@ -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
...@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment