Commit e51901db authored by wanglei's avatar wanglei

...

parent 7602108d
package com.base.filerecoveryrecyclebin.activity.photomanager
import android.content.Intent
import android.graphics.Color
import android.os.Environment
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope
import com.base.filerecoveryrecyclebin.activity.repeat.RepeatAnimationActivity
import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotAnimationActivity
import com.base.filerecoveryrecyclebin.bean.MediaBean
import com.base.filerecoveryrecyclebin.databinding.ActivityPhotoManagerBinding
import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.help.FileHelp.getDirFiles
import com.base.filerecoveryrecyclebin.help.KotlinExt.toFormatSize
import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.getImageMedia
import com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission
import com.base.filerecoveryrecyclebin.help.PermissionHelp.requestStorePermission
import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.utils.FileHexEx.isImage
import com.base.filerecoveryrecyclebin.view.DialogViews.showGerPermission
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import java.io.File
class PhotoManagerActivity : BaseActivity<ActivityPhotoManagerBinding>() {
......@@ -17,6 +34,56 @@ class PhotoManagerActivity : BaseActivity<ActivityPhotoManagerBinding>() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.WHITE)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
if (checkStorePermission()) {
initDataSize()
} else {
showGerPermission(null, deny = { finishToMain() }, allow = {
requestStorePermission(launcher) {
if (it) {
initDataSize()
} else {
finishToMain()
}
}
})
}
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
finishToMain()
}
binding.flBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.cardScreenshot.setOnClickListener {
startActivity(Intent(this@PhotoManagerActivity, ScreenShotAnimationActivity::class.java))
finish()
}
binding.cardRepeatPhotos.setOnClickListener {
startActivity(Intent(this@PhotoManagerActivity, RepeatAnimationActivity::class.java))
finish()
}
}
private fun initDataSize() = lifecycleScope.launch(Dispatchers.IO) {
val dcimSize =
getDirFiles(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)).filter { isImage(it) }
.sumOf { it.length() }.toFormatSize()
val list = arrayListOf<MediaBean>()
getImageMedia(list)
val photoSize = (list.map { File(it.path) }.sumOf { it.length() } / 2).toFormatSize()
launch(Dispatchers.Main) {
binding.tvScreenshotSize.text = dcimSize
binding.tvDuplicateSize.text = photoSize
}
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@ import com.base.filerecoveryrecyclebin.activity.photomanager.PhotoManagerActivit
import com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import com.base.filerecoveryrecyclebin.activity.repeat.RepeatAnimationActivity
import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotAnimationActivity
import com.base.filerecoveryrecyclebin.activity.vip.VipActivity
import com.base.filerecoveryrecyclebin.activity.whatsapp.WhatsAppCleanerAnimationActivity
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_AUDIOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_DOCUMENTS
......@@ -61,6 +62,9 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() {
binding.flSetting.setOnClickListener {
startActivity(Intent(requireContext(), SettingActivity::class.java))
}
binding.ivVip.setOnClickListener {
startActivity(Intent(requireContext(), VipActivity::class.java))
}
}
......
......@@ -322,8 +322,8 @@ object DialogViews {
val dialog = BottomSheetDialog(this)
val binding = DialogExitAppBinding.inflate(LayoutInflater.from(this))
dialog.setContentView(binding.root)
dialog.setCanceledOnTouchOutside(false)
dialog.setCancelable(false)
// dialog.setCanceledOnTouchOutside(false)
// dialog.setCancelable(false)
dialog.show()
......
......@@ -45,6 +45,7 @@
</FrameLayout>
<androidx.cardview.widget.CardView
android:id="@+id/card_screenshot"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginHorizontal="15dp"
......@@ -76,6 +77,7 @@
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_screenshot_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
......@@ -96,6 +98,7 @@
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/card_repeat_photos"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginHorizontal="15dp"
......@@ -127,6 +130,7 @@
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_duplicate_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
......
......@@ -34,12 +34,29 @@
android:textSize="19sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_vip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="5dp"
android:src="@mipmap/h_vipicon"
tools:ignore="ContentDescription" />
<FrameLayout
android:id="@+id/fl_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:padding="10dp">
android:layout_gravity="center_vertical"
android:padding="10dp"
tools:ignore="UselessParent">
<ImageView
android:layout_width="wrap_content"
......@@ -49,6 +66,9 @@
tools:ignore="ContentDescription" />
</FrameLayout>
</LinearLayout>
</FrameLayout>
......
......@@ -30,12 +30,29 @@
android:textSize="19sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_vip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="5dp"
android:src="@mipmap/h_vipicon"
tools:ignore="ContentDescription" />
<FrameLayout
android:id="@+id/fl_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:padding="10dp">
android:layout_gravity="center_vertical"
android:padding="10dp"
tools:ignore="UselessParent">
<ImageView
android:layout_width="wrap_content"
......@@ -45,6 +62,8 @@
tools:ignore="ContentDescription" />
</FrameLayout>
</LinearLayout>
</FrameLayout>
......
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