Commit 99da756e authored by wanglei's avatar wanglei

...ad

parent 145e98e1
......@@ -191,7 +191,9 @@
<receiver
android:name=".fcm.CloseNotificationReceiver"
android:exported="false" /> <!-- 添加以下接收器 -->
android:exported="false" />
<!-- 添加以下接收器 -->
<!-- 注册广播 -->
<receiver
android:name=".fcm.FcmReceiver"
......@@ -205,6 +207,16 @@
</intent-filter>
</receiver>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
......
package com.base.filerecoveryrecyclebin.activity.recyclebin
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color
import android.net.Uri
import android.os.Build
import android.view.View
import android.widget.Toast
import androidx.activity.addCallback
import androidx.annotation.RequiresApi
import androidx.core.content.FileProvider
import com.base.filerecoveryrecyclebin.activity.ResultActivity
import com.base.filerecoveryrecyclebin.activity.recyclebin.RecycleBinFileEx.findRecycleBinFile
import com.base.filerecoveryrecyclebin.activity.recyclebin.RecycleBinFileEx.findRecycleBinJsonFile
......@@ -11,49 +17,100 @@ import com.base.filerecoveryrecyclebin.bean.ConstObject.RECYCLE_BIN
import com.base.filerecoveryrecyclebin.bean.RecycleBinBean
import com.base.filerecoveryrecyclebin.databinding.ActivityRecycleBinDetailBinding
import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.help.KotlinExt.toFormatSize
import com.base.filerecoveryrecyclebin.help.KotlinExt.toFormatTime
import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.utils.LogEx
import com.base.filerecoveryrecyclebin.view.DialogViews.showRecycleBinDetailDialog
import com.bumptech.glide.Glide
import com.google.gson.Gson
import java.io.File
class RecycleBinDetailActivity : BaseActivity<ActivityRecycleBinDetailBinding>() {
private val TAG = "RecycleBinDetailActivity"
override val binding: ActivityRecycleBinDetailBinding by lazy {
ActivityRecycleBinDetailBinding.inflate(layoutInflater)
}
private var recycleBinBean: RecycleBinBean? = null
@SuppressLint("SetTextI18n")
@RequiresApi(Build.VERSION_CODES.Q)
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
// binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
val json = intent.extras?.getString("Json") ?: ""
LogEx.logDebug(TAG, "json=$json")
val bean = Gson().fromJson(json, RecycleBinBean::class.java)
if (bean.mimeType == "image/jpeg") {
recycleBinBean = Gson().fromJson(json, RecycleBinBean::class.java)
recycleBinBean?.let { bean ->
if (bean.mimeType.contains("image /")) {
binding.ivBofang.visibility = View.GONE
}
if (bean.mimeType.contains("video/")) {
binding.ivBofang.visibility = View.VISIBLE
}
val file = File(bean.path)
val binFile = findRecycleBinFile(file.name)
val binJsonFile = findRecycleBinJsonFile(file.name)
if (binFile != null && binJsonFile != null) {
Glide.with(this).load(binFile.absoluteFile).centerCrop().into(binding.iv)
showRecycleBinDetailDialog(bean, binFile, binJsonFile) {
binding.tvName.text = bean.path
binding.tvSize.text = bean.size.toFormatSize()
binding.tvTime.text = "Delete time:${bean.deleteTime.toFormatTime()}"
}
}
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
finish()
}
binding.flBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.tvRestore.setOnClickListener {
recycleBinBean?.let { bean ->
val file = File(bean.path)
val binFile = findRecycleBinFile(file.name)
val binJsonFile = findRecycleBinJsonFile(file.name)
runCatching {
binFile?.copyTo(File(bean.path), true)
binFile?.delete()
binJsonFile?.delete()
}
}
startActivity(Intent(this, ResultActivity::class.java).apply {
putExtra("from", RECYCLE_BIN)
})
finish()
}
}
}
if (bean.mimeType == "") {
binding.ivBofang.setOnClickListener {
recycleBinBean?.let { bean ->
val videoIntent = Intent(Intent.ACTION_VIEW)
val file = File(bean.path)
val binFile = findRecycleBinFile(file.name) ?: File("")
val contentUri = FileProvider.getUriForFile(this, this.applicationContext.packageName + ".fileProvider", binFile)
LogEx.logDebug(TAG, "contentUri=$contentUri")
videoIntent.setDataAndType(contentUri, bean.mimeType)
videoIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
// videoIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
if (videoIntent.resolveActivity(this.packageManager) != null) {
startActivity(Intent.createChooser(videoIntent, "choose play video"))
} else {
Toast.makeText(this, "no app to play video!", Toast.LENGTH_SHORT).show();
}
}
override fun initListener() {
super.initListener()
}
}
}
\ No newline at end of file
......@@ -39,7 +39,7 @@ object AdmobNativeUtils {
return
}
isLoading = true
if (!AdDisplayUtils.getInstance().shouldShowAd()) {
if (!AdDisplayUtils.getInstance().shouldShowAd("NativeAd")) {
return
}
......@@ -81,7 +81,7 @@ object AdmobNativeUtils {
val obj = JSONObject()
obj.put("ad_unit", "NativeAd")
EventUtils.event("ad_prepare_show", ext = obj)
if (!AdDisplayUtils.getInstance().shouldShowAd()) {
if (!AdDisplayUtils.getInstance().shouldShowAd("NativeAd")) {
return
}
loadingListener = {
......
......@@ -23,7 +23,6 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() {
override fun setView() {
binding.lottie.repeatCount = ValueAnimator.INFINITE
AdmobMaxHelper.admobMaxShowNativeAd(requireActivity(), binding.flAd, 0)
}
override fun setListener() {
......
......@@ -7,10 +7,113 @@
android:layout_height="match_parent"
tools:context=".activity.recyclebin.RecycleBinDetailActivity">
<FrameLayout
android:id="@+id/fl_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:padding="15dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/fanhui_b"
tools:ignore="ContentDescription,UseAppTint" />
</FrameLayout>
<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_bofang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:src="@mipmap/bofang"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<androidx.cardview.widget.CardView
android:layout_width="@dimen/dp_345"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/ll"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginVertical="18dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_restore"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="14sp"
tools:text="1721110745805_Trash_Screenshot_2024-07-16-14-07-233_00m.miui.ho" />
<TextView
android:id="@+id/tv_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:textColor="#999999"
android:textSize="14sp"
tools:text="1MB" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:textColor="#999999"
android:textSize="14sp"
tools:text="2024/07/16" />
</LinearLayout>
<TextView
android:id="@+id/tv_restore"
android:layout_width="98dp"
android:layout_height="45dp"
android:layout_marginEnd="15dp"
android:background="@drawable/bg_4773ff_22"
android:gravity="center"
android:text="Restore"
android:textColor="@color/white"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -352,12 +352,6 @@
</LinearLayout>
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 指定内部存储路径 -->
<files-path name="internal_files" path="."/>
</paths>
\ No newline at end of file
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