Commit 85314e0e authored by songjianyu's avatar songjianyu

修改oppo 权限问题, 广告弹窗问题

parent 4782fc60
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:requestLegacyExternalStorage="true"
android:theme="@style/Theme.AppTheme" android:theme="@style/Theme.AppTheme"
tools:targetApi="31"> tools:targetApi="31">
......
...@@ -11,5 +11,6 @@ data class FileBean( ...@@ -11,5 +11,6 @@ data class FileBean(
var isScanning: Boolean = true, var isScanning: Boolean = true,
var state: Int = 0, var state: Int = 0,
var type: Int = 0, var type: Int = 0,
var items: MutableList<FileBean> = mutableListOf() var items: MutableList<FileBean> = mutableListOf(),
var _id:Long =0L // uri id
) )
...@@ -11,6 +11,7 @@ class AdConfigBean( ...@@ -11,6 +11,7 @@ class AdConfigBean(
var numDisplayLimit: Int = -1,//展示次数限制 var numDisplayLimit: Int = -1,//展示次数限制
var numRequestLimit: Int = -1,//请求次数限制 var numRequestLimit: Int = -1,//请求次数限制
var numClickLimit: Int = -1,//点击次数限制 var numClickLimit: Int = -1,//点击次数限制
var numNativeDisplayLimit: Int = -1,// 原生广告显示次数
var timeInterval: Int = 10,//广告间隔秒 var timeInterval: Int = 10,//广告间隔秒
var openAdLoading: Int = 15,//开屏广告拉取时间 var openAdLoading: Int = 15,//开屏广告拉取时间
......
...@@ -16,6 +16,7 @@ object LimitUtils { ...@@ -16,6 +16,7 @@ object LimitUtils {
const val NUM_REQUEST = "local_numRequestLimit" const val NUM_REQUEST = "local_numRequestLimit"
const val NUM_CLICK = "local_numClickLimit" const val NUM_CLICK = "local_numClickLimit"
const val NUM_NATIVE_SHOW = "local_native_show" // 显示的原生广告数量
const val SAVE_DATE = "local_saveDate" const val SAVE_DATE = "local_saveDate"
...@@ -54,6 +55,15 @@ object LimitUtils { ...@@ -54,6 +55,15 @@ object LimitUtils {
return maxCount > -1 && AppPreferences.getInstance() return maxCount > -1 && AppPreferences.getInstance()
.getInt(NUM_DISPLAY, 0) >= maxCount .getInt(NUM_DISPLAY, 0) >= maxCount
} }
/**
* 广告展示是否到达限制
*/
private inline val isDisplayNativeLimited: Boolean
get() {
val maxCount = AdConfigBean.adsConfigBean.numNativeDisplayLimit
return maxCount > -1 && AppPreferences.getInstance()
.getInt(NUM_DISPLAY, 0) >= maxCount
}
/** /**
* 广告点击是否到达限制 * 广告点击是否到达限制
...@@ -93,6 +103,13 @@ object LimitUtils { ...@@ -93,6 +103,13 @@ object LimitUtils {
AppPreferences.getInstance().put(NUM_REQUEST, 0) AppPreferences.getInstance().put(NUM_REQUEST, 0)
AppPreferences.getInstance().put(NUM_CLICK, 0) AppPreferences.getInstance().put(NUM_CLICK, 0)
} }
if (isDisplayNativeLimited){
val value = "current${getAdEventMsg(adsType)} " +
"show=${AppPreferences.getInstance().getInt(NUM_NATIVE_SHOW, 0)} " +
"${getAdEventMsg(adsType).lowercase()}_" + "max_show=${AdConfigBean.adsConfigBean.numNativeDisplayLimit}"
adEvent?.adLimited(value)
}
if (isDisplayLimited) { if (isDisplayLimited) {
val value = "current${getAdEventMsg(adsType)} " + val value = "current${getAdEventMsg(adsType)} " +
...@@ -116,7 +133,7 @@ object LimitUtils { ...@@ -116,7 +133,7 @@ object LimitUtils {
adEvent?.adLimited(value) adEvent?.adLimited(value)
} }
return !(isDisplayLimited || isClickLimited || isRequestLimited) return !(isDisplayLimited || isClickLimited || isRequestLimited || isDisplayNativeLimited)
} }
private fun addNum(key: String) { private fun addNum(key: String) {
...@@ -142,6 +159,9 @@ object LimitUtils { ...@@ -142,6 +159,9 @@ object LimitUtils {
fun addClickNum() { fun addClickNum() {
addNum(NUM_CLICK) addNum(NUM_CLICK)
} }
fun addNumNative() {
addNum(NUM_NATIVE_SHOW)
}
/** /**
* 开屏和插页广告的显示间隔限制 * 开屏和插页广告的显示间隔限制
......
...@@ -122,9 +122,10 @@ class AdInterMgr { ...@@ -122,9 +122,10 @@ class AdInterMgr {
} }
val activity = adState.activityRef?.get() val activity = adState.activityRef?.get()
activity?.let { activity?.let {
createUICountdownTimer(adState.adDialog) {
show(it) show(it)
} // createUICountdownTimer(adState.adDialog) {
// show(it)
// }
} }
} }
} }
......
package com.easy.clean.ui.videoclean package com.easy.clean.ui.videoclean
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.ContentUris
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.provider.MediaStore
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
...@@ -23,9 +27,14 @@ import com.easy.clean.ui.dialog.ConfirmDialog ...@@ -23,9 +27,14 @@ import com.easy.clean.ui.dialog.ConfirmDialog
import com.easy.clean.utils.MediaUtils import com.easy.clean.utils.MediaUtils
import com.easy.clean.utils.Utils import com.easy.clean.utils.Utils
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.load.DataSource
import com.bumptech.glide.load.engine.GlideException
import com.bumptech.glide.load.resource.bitmap.CenterCrop import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target
import com.vungle.ads.AnalyticsClient
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.io.File import java.io.File
...@@ -55,8 +64,8 @@ class VideoCleanActivity : ...@@ -55,8 +64,8 @@ class VideoCleanActivity :
val round = resources.getDimensionPixelSize(R.dimen.dp_8) val round = resources.getDimensionPixelSize(R.dimen.dp_8)
val options = RequestOptions().transform(CenterCrop(), RoundedCorners(round)) val options = RequestOptions().transform(CenterCrop(), RoundedCorners(round))
Glide.with(holder.itemView.context) Glide.with(holder.itemView.context)
.asBitmap() // .load(File(bean.path))
.load(File(bean.path)) .load(ContentUris.withAppendedId(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,bean._id))
.apply(options) .apply(options)
.into(holder.item.ivPreview) .into(holder.item.ivPreview)
holder.item.tvSize.text = Utils.getSizeFormat(bean.length) holder.item.tvSize.text = Utils.getSizeFormat(bean.length)
......
package com.easy.clean.utils package com.easy.clean.utils
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.ContentUris
import android.content.Context import android.content.Context
import android.database.Cursor import android.database.Cursor
import android.media.MediaScannerConnection import android.media.MediaScannerConnection
...@@ -17,7 +18,8 @@ object MediaUtils { ...@@ -17,7 +18,8 @@ object MediaUtils {
MediaStore.Files.FileColumns.DATA, MediaStore.Files.FileColumns.DATA,
MediaStore.Files.FileColumns.SIZE, MediaStore.Files.FileColumns.SIZE,
MediaStore.Files.FileColumns.DATE_MODIFIED, MediaStore.Files.FileColumns.DATE_MODIFIED,
MediaStore.Files.FileColumns.MIME_TYPE MediaStore.Files.FileColumns.MIME_TYPE,
MediaStore.Files.FileColumns._ID
) )
private const val EXTERNAL = "external" private const val EXTERNAL = "external"
...@@ -135,7 +137,8 @@ object MediaUtils { ...@@ -135,7 +137,8 @@ object MediaUtils {
val size = it.getLong(it.getColumnIndex(projection[2])) val size = it.getLong(it.getColumnIndex(projection[2]))
val dateModified = it.getLong(it.getColumnIndex(projection[3])) * 1000 val dateModified = it.getLong(it.getColumnIndex(projection[3])) * 1000
val mineType = it.getString(it.getColumnIndex(projection[4])) val mineType = it.getString(it.getColumnIndex(projection[4]))
list.add(FileBean(displayName, filePath, 0, size, dateModified, mineType)) val _id = it.getLong(it.getColumnIndex(projection[5]))
list.add(FileBean(displayName, filePath, 0, size, dateModified, mineType,_id=_id))
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:text="AD LOADING" android:text="LOADING"
android:textColor="#ff111111" android:textColor="#ff111111"
android:textSize="20sp" android:textSize="20sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
......
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