Commit b1fa4dc1 authored by wanglei's avatar wanglei

...

parent 608fb08e
......@@ -2,7 +2,6 @@ package com.base.datarecovery.activity
import android.graphics.Color
import android.graphics.Typeface
import android.os.Environment
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
......@@ -14,7 +13,6 @@ import com.base.datarecovery.databinding.ActivityMainBinding
import com.base.datarecovery.fragment.HomeFragment
import com.base.datarecovery.fragment.RecoveryFragment
import com.base.datarecovery.help.BaseActivity
import com.base.datarecovery.help.FileHelp.getDirFiles
import com.base.datarecovery.help.PermissionHelp.checkStorePermission
import com.base.datarecovery.utils.AppPreferences
import com.base.datarecovery.utils.BarUtils
......@@ -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
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.app.usage.StorageStatsManager
import android.content.Context
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.animation.AccelerateDecelerateInterpolator
import com.base.datarecovery.activity.SettingActivity
......@@ -13,9 +19,10 @@ import com.base.datarecovery.activity.battery.BatteryInfoAnimationActivity
import com.base.datarecovery.activity.junkclean.ScanJunkActivity
import com.base.datarecovery.activity.largefile.LargeFileAnimationActivity
import com.base.datarecovery.activity.whatsapp.WhatsAppCleanerAnimationActivity
import com.base.datarecovery.ads.AdmobMaxHelper
import com.base.datarecovery.databinding.FragmentHomeBinding
import com.base.datarecovery.help.BaseFragment
import com.base.datarecovery.help.KotlinExt.toFormatSize
import java.io.File
class HomeFragment : BaseFragment<FragmentHomeBinding>() {
......@@ -27,7 +34,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override fun setView() {
animatorSet = createHeartbeatAnimation(binding.flScan)
AdmobMaxHelper.admobMaxShowNativeAd(requireActivity(), binding.flAd)
showStorage()
}
override fun setListener() {
......@@ -101,4 +108,30 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
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 @@
<LinearLayout
android:id="@+id/ll_storage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
......@@ -394,11 +395,6 @@
</LinearLayout>
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</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