Commit 49076366 authored by wanglei's avatar wanglei

...

parent 86371d0f
......@@ -95,7 +95,7 @@ dependencies {
//max
implementation 'com.applovin:applovin-sdk:+'
implementation 'com.applovin.mediation:google-ad-manager-adapter:+'
implementation 'com.applovin.mediation:google-adapter:+'
implementation 'com.applovin.mediation:facebook-adapter:+'
implementation 'com.applovin.mediation:mintegral-adapter:+'
implementation 'com.applovin.mediation:bytedance-adapter:+'
......
......@@ -3,6 +3,7 @@ package com.base.filerecoveryrecyclebin.activity
import android.content.Intent
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
......@@ -10,19 +11,24 @@ import androidx.lifecycle.lifecycleScope
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.base.filerecoveryrecyclebin.ads.admob.AdmobBannerUtils
import com.base.filerecoveryrecyclebin.bean.MediaBean
import com.base.filerecoveryrecyclebin.databinding.ActivityMainBinding
import com.base.filerecoveryrecyclebin.fragment.HomeFragment
import com.base.filerecoveryrecyclebin.fragment.RecycleBinFragment
import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.help.FileHelp
import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.getImageMedia
import com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission
import com.base.filerecoveryrecyclebin.service.StayNotificationService
import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.utils.FileHexEx
import com.base.filerecoveryrecyclebin.view.DialogViews.showExitDialog
import com.base.filerecoveryrecyclebin.view.PermissionDialog.showPermissionBottomSheet
import com.base.filerecoveryrecyclebin.view.RateStarPop.showRateStarPopDialog
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import java.io.File
class MainActivity : BaseActivity<ActivityMainBinding>() {
private val TAG = "MainActivity"
......@@ -115,8 +121,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
}
}
fun setPage(p:Int){
binding.viewpager2.currentItem = p
fun setPage(p: Int) {
binding.viewpager2.currentItem = p
}
override fun initListener() {
......@@ -126,11 +133,31 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
}
var photoSizeAction: ((size: Long) -> Unit)? = null
fun initPhotoSize() = lifecycleScope.launch(Dispatchers.IO) {
val dcimSize =
FileHelp.getDirFiles(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM))
.filter { FileHexEx.isImage(it) }
.sumOf { it.length() }
val list = arrayListOf<MediaBean>()
getImageMedia(list)
val photoSize = list.map { File(it.path) }.sumOf { it.length() }
launch(Dispatchers.Main) {
val size = dcimSize + photoSize
photoSizeAction?.invoke(size)
}
}
override fun onResume() {
super.onResume()
if (checkStorePermission()) {
initStayServiceObserver()
initPhotoSize()
}
lifecycleScope.launch(Dispatchers.Main) {
......
......@@ -39,15 +39,16 @@ class PhotoManagerActivity : BaseActivity<ActivityPhotoManagerBinding>() {
initDataSize()
} else {
showGerPermission(null, deny = { finishToMain() }, allow = {
requestStorePermission(launcher) {
if (it) {
initDataSize()
} else {
finishToMain()
showGerPermission("This feature requires access to your storage to scan your files and clean up screenshots. We will not transmit your data to any third-party service. Please grant permission so that we can provide you with better service.",
deny = { finishToMain() }, allow = {
requestStorePermission(launcher) {
if (it) {
initDataSize()
} else {
finishToMain()
}
}
}
})
})
}
}
......
package com.base.filerecoveryrecyclebin.fragment
import android.animation.ValueAnimator
import android.annotation.SuppressLint
import android.content.Intent
import android.view.View
import com.base.filerecoveryrecyclebin.activity.MainActivity
import com.base.filerecoveryrecyclebin.activity.SettingActivity
import com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity
import com.base.filerecoveryrecyclebin.activity.photomanager.PhotoManagerActivity
......@@ -15,6 +18,7 @@ import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_PHOTOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_VIDEOS
import com.base.filerecoveryrecyclebin.databinding.FragmentHome3Binding
import com.base.filerecoveryrecyclebin.help.BaseFragment
import com.base.filerecoveryrecyclebin.help.KotlinExt.toFormatSize
class HomeFragment : BaseFragment<FragmentHome3Binding>() {
......@@ -22,6 +26,7 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() {
FragmentHome3Binding.inflate(layoutInflater)
}
@SuppressLint("SetTextI18n")
override fun setView() {
binding.tvTitle.text = "Dumpster"
binding.lottie.repeatCount = ValueAnimator.INFINITE
......@@ -65,6 +70,14 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() {
binding.ivVip.setOnClickListener {
startActivity(Intent(requireContext(), VipActivity::class.java))
}
(requireActivity() as MainActivity).photoSizeAction = {
if (it == 0L) {
binding.tvPhotoSize.visibility = View.INVISIBLE
binding.tvPhotoSize.text = it.toFormatSize(0)
} else {
binding.tvPhotoSize.visibility = View.GONE
}
}
}
......
......@@ -20,8 +20,8 @@ object ConfigHelper {
const val bannerAdmobId = "ca-app-pub-3940256099942544/9214589741"
const val interAdMaxId = "b31e7f6d11ee659e"
const val nativeAdMaxId = "96e8fe78b0efc5d1"
const val openAdMaxId = "YOUR_AD_UNIT_ID"
const val nativeAdMaxId = "d1d943cdd3127c90"
const val openAdMaxId = "96e8fe78b0efc5d1"
const val bannerMaxId = "ca-app-pub-3940256099942544/9214589741"
//一定展示大图广告
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#EB423B" />
<corners android:radius="2.5dp" />
</shape>
\ No newline at end of file
......@@ -434,23 +434,43 @@
app:cardCornerRadius="10dp"
app:cardElevation="0dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:text="Photo\nManager"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:text="Photo\nManager"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_photo_size"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="2dp"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:background="@drawable/bg_eb423b_2_5"
android:gravity="center"
android:textColor="@color/white"
android:textSize="9sp"
tools:ignore="SmallSp"
tools:text="0.1GB" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="8dp"
android:src="@mipmap/h_management"
tools:ignore="ContentDescription" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="8dp"
android:src="@mipmap/h_management"
tools:ignore="ContentDescription" />
</androidx.cardview.widget.CardView>
......
[versions]
agp = "8.0.0"
kotlin = "1.8.0"
coreKtx = "1.8.1"
coreKtx = "1.8.0"
junit = "4.13.2"
junitVersion = "1.1.5"
espressoCore = "3.5.1"
......
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