Commit 9818558a authored by wanglei's avatar wanglei

...

parent 02e3bfb6
...@@ -2,6 +2,7 @@ package com.base.datarecovery.activity ...@@ -2,6 +2,7 @@ package com.base.datarecovery.activity
import android.graphics.Color import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.os.Environment
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
...@@ -11,6 +12,7 @@ import androidx.core.view.updatePadding ...@@ -11,6 +12,7 @@ import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.datarecovery.databinding.ActivityMainBinding import com.base.datarecovery.databinding.ActivityMainBinding
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.BarUtils import com.base.datarecovery.utils.BarUtils
import com.base.datarecovery.view.DialogViews.showExitDialog import com.base.datarecovery.view.DialogViews.showExitDialog
...@@ -19,6 +21,8 @@ import com.base.datarecovery.view.PermissionDialog.showPermissionBottomSheet ...@@ -19,6 +21,8 @@ import com.base.datarecovery.view.PermissionDialog.showPermissionBottomSheet
import com.base.datarecovery.view.RateStarPop import com.base.datarecovery.view.RateStarPop
import com.base.datarecovery.view.RateStarPop.showRateStarPopDialog import com.base.datarecovery.view.RateStarPop.showRateStarPopDialog
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.async
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
...@@ -50,6 +54,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -50,6 +54,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
if (dialog == null) { if (dialog == null) {
dialog = showPermissionBottomSheet(launcher) dialog = showPermissionBottomSheet(launcher)
} }
} else {
} }
lifecycleScope.launch(Dispatchers.Main) { lifecycleScope.launch(Dispatchers.Main) {
...@@ -57,4 +63,23 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -57,4 +63,23 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
showRateStarPopDialog() showRateStarPopDialog()
} }
} }
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
...@@ -7,6 +7,7 @@ import android.content.Intent ...@@ -7,6 +7,7 @@ import android.content.Intent
import android.view.View import android.view.View
import android.view.animation.AccelerateDecelerateInterpolator import android.view.animation.AccelerateDecelerateInterpolator
import com.base.datarecovery.R import com.base.datarecovery.R
import com.base.datarecovery.activity.MainActivity
import com.base.datarecovery.activity.SettingActivity import com.base.datarecovery.activity.SettingActivity
import com.base.datarecovery.activity.junkclean.ScanJunkActivity import com.base.datarecovery.activity.junkclean.ScanJunkActivity
import com.base.datarecovery.activity.privacyspace.PrivacyPinOneActivity import com.base.datarecovery.activity.privacyspace.PrivacyPinOneActivity
...@@ -22,6 +23,7 @@ import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS ...@@ -22,6 +23,7 @@ import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS
import com.base.datarecovery.bean.ConstObject.privacyPinPassword import com.base.datarecovery.bean.ConstObject.privacyPinPassword
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
class HomeFragment : BaseFragment<FragmentHomeBinding>() { class HomeFragment : BaseFragment<FragmentHomeBinding>() {
...@@ -73,6 +75,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -73,6 +75,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
binding.flSetting.setOnClickListener { binding.flSetting.setOnClickListener {
startActivity(Intent(requireContext(), SettingActivity::class.java)) startActivity(Intent(requireContext(), SettingActivity::class.java))
} }
} }
@SuppressLint("Recycle") @SuppressLint("Recycle")
...@@ -114,6 +117,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -114,6 +117,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
AdmobMaxHelper.admobMaxShowNativeAd(requireActivity(), binding.flAd, 0) AdmobMaxHelper.admobMaxShowNativeAd(requireActivity(), binding.flAd, 0)
resumeTime++ resumeTime++
} }
(requireActivity() as MainActivity).setScreenSize {
if (it > 0) {
binding.tvScreenSize.text = it.toFormatSize(0)
}
}
} }
} }
\ No newline at end of file
...@@ -114,4 +114,5 @@ object FileHelp { ...@@ -114,4 +114,5 @@ object FileHelp {
} }
return result return result
} }
} }
\ No newline at end of file
...@@ -306,9 +306,11 @@ object DialogViews { ...@@ -306,9 +306,11 @@ object DialogViews {
val parentView = binding.root.parent as View val parentView = binding.root.parent as View
BottomSheetBehavior.from(parentView).state = BottomSheetBehavior.STATE_EXPANDED BottomSheetBehavior.from(parentView).state = BottomSheetBehavior.STATE_EXPANDED
binding.tvY.setOnClickListener { binding.tvY.setOnClickListener {
dialog.dismiss()
startActivity(Intent(this, ScanJunkActivity::class.java)) startActivity(Intent(this, ScanJunkActivity::class.java))
} }
binding.tvExit.setOnClickListener { binding.tvExit.setOnClickListener {
dialog.dismiss()
this.finish() this.finish()
} }
} }
......
...@@ -40,31 +40,33 @@ ...@@ -40,31 +40,33 @@
android:textSize="16sp" android:textSize="16sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<TextView <TextView
android:id="@+id/tv_y" android:id="@+id/tv_exit"
android:layout_width="300dp" android:layout_width="300dp"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="50dp" android:layout_marginVertical="15dp"
android:background="@drawable/bg_4773ff_22"
android:gravity="center" android:gravity="center"
android:text="Remove now" android:text="Exit"
android:textColor="@color/white" android:textColor="#999999"
android:textSize="17sp" android:textSize="17sp"
android:textStyle="bold"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<TextView <TextView
android:id="@+id/tv_exit" android:layout_marginBottom="15dp"
android:id="@+id/tv_y"
android:layout_width="300dp" android:layout_width="300dp"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginVertical="15dp" android:background="@drawable/bg_4773ff_22"
android:gravity="center" android:gravity="center"
android:text="Exit" android:text="Remove now"
android:textColor="#999999" android:textColor="@color/white"
android:textSize="17sp" android:textSize="17sp"
android:textStyle="bold"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
</LinearLayout> </LinearLayout>
<ImageView <ImageView
......
...@@ -228,6 +228,12 @@ ...@@ -228,6 +228,12 @@
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/tv_screen_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_margin="8dp" />
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
......
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