Commit e51901db authored by wanglei's avatar wanglei

...

parent 7602108d
package com.base.filerecoveryrecyclebin.activity.photomanager package com.base.filerecoveryrecyclebin.activity.photomanager
import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.os.Environment
import androidx.activity.addCallback
import androidx.core.view.updatePadding 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.databinding.ActivityPhotoManagerBinding
import com.base.filerecoveryrecyclebin.help.BaseActivity 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.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>() { class PhotoManagerActivity : BaseActivity<ActivityPhotoManagerBinding>() {
...@@ -17,6 +34,56 @@ class PhotoManagerActivity : BaseActivity<ActivityPhotoManagerBinding>() { ...@@ -17,6 +34,56 @@ class PhotoManagerActivity : BaseActivity<ActivityPhotoManagerBinding>() {
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.WHITE) BarUtils.setStatusBarColor(this, Color.WHITE)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) 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 ...@@ -8,6 +8,7 @@ import com.base.filerecoveryrecyclebin.activity.photomanager.PhotoManagerActivit
import com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity import com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import com.base.filerecoveryrecyclebin.activity.repeat.RepeatAnimationActivity import com.base.filerecoveryrecyclebin.activity.repeat.RepeatAnimationActivity
import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotAnimationActivity 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.activity.whatsapp.WhatsAppCleanerAnimationActivity
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_AUDIOS import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_AUDIOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_DOCUMENTS import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_DOCUMENTS
...@@ -61,6 +62,9 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() { ...@@ -61,6 +62,9 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() {
binding.flSetting.setOnClickListener { binding.flSetting.setOnClickListener {
startActivity(Intent(requireContext(), SettingActivity::class.java)) startActivity(Intent(requireContext(), SettingActivity::class.java))
} }
binding.ivVip.setOnClickListener {
startActivity(Intent(requireContext(), VipActivity::class.java))
}
} }
......
...@@ -322,8 +322,8 @@ object DialogViews { ...@@ -322,8 +322,8 @@ object DialogViews {
val dialog = BottomSheetDialog(this) val dialog = BottomSheetDialog(this)
val binding = DialogExitAppBinding.inflate(LayoutInflater.from(this)) val binding = DialogExitAppBinding.inflate(LayoutInflater.from(this))
dialog.setContentView(binding.root) dialog.setContentView(binding.root)
dialog.setCanceledOnTouchOutside(false) // dialog.setCanceledOnTouchOutside(false)
dialog.setCancelable(false) // dialog.setCancelable(false)
dialog.show() dialog.show()
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
</FrameLayout> </FrameLayout>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/card_screenshot"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="70dp"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="15dp"
...@@ -76,6 +77,7 @@ ...@@ -76,6 +77,7 @@
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<TextView <TextView
android:id="@+id/tv_screenshot_size"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
...@@ -96,6 +98,7 @@ ...@@ -96,6 +98,7 @@
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/card_repeat_photos"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="70dp"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="15dp"
...@@ -127,6 +130,7 @@ ...@@ -127,6 +130,7 @@
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<TextView <TextView
android:id="@+id/tv_duplicate_size"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
......
...@@ -34,20 +34,40 @@ ...@@ -34,20 +34,40 @@
android:textSize="19sp" android:textSize="19sp"
android:textStyle="bold" /> android:textStyle="bold" />
<FrameLayout <LinearLayout
android:id="@+id/fl_setting"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end" android:layout_gravity="center_vertical|end"
android:padding="10dp"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/iv_vip"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="6dp" android:layout_gravity="center_vertical"
android:src="@mipmap/shezhi" android:layout_marginEnd="5dp"
android:src="@mipmap/h_vipicon"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</FrameLayout>
<FrameLayout
android:id="@+id/fl_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
tools:ignore="UselessParent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:src="@mipmap/shezhi"
tools:ignore="ContentDescription" />
</FrameLayout>
</LinearLayout>
</FrameLayout> </FrameLayout>
......
...@@ -30,20 +30,39 @@ ...@@ -30,20 +30,39 @@
android:textSize="19sp" android:textSize="19sp"
android:textStyle="bold" /> android:textStyle="bold" />
<FrameLayout <LinearLayout
android:id="@+id/fl_setting"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end" android:layout_gravity="center_vertical|end"
android:padding="10dp"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/iv_vip"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="6dp" android:layout_gravity="center_vertical"
android:src="@mipmap/shezhi" android:layout_marginEnd="5dp"
android:src="@mipmap/h_vipicon"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</FrameLayout>
<FrameLayout
android:id="@+id/fl_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
tools:ignore="UselessParent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:src="@mipmap/shezhi"
tools:ignore="ContentDescription" />
</FrameLayout>
</LinearLayout>
</FrameLayout> </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