Commit 7d49dc3a authored by wanglei's avatar wanglei

==========FileCategoryActivity处理进入权限问题=============

parent 67e5b524
package com.base.superfilemanager.activity package com.base.superfilemanager.activity
import android.util.Log
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.activity.addCallback
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.DividerItemDecoration
import com.base.superfilemanager.adapter.FileBrowseAdapter import com.base.superfilemanager.adapter.FileBrowseAdapter
...@@ -20,6 +22,7 @@ import com.base.superfilemanager.bean.FileCategoryBean.Companion.ZIP ...@@ -20,6 +22,7 @@ import com.base.superfilemanager.bean.FileCategoryBean.Companion.ZIP
import com.base.superfilemanager.databinding.ActivityFileCategoryBinding import com.base.superfilemanager.databinding.ActivityFileCategoryBinding
import com.base.superfilemanager.helps.BaseActivity import com.base.superfilemanager.helps.BaseActivity
import com.base.superfilemanager.helps.FileHelps import com.base.superfilemanager.helps.FileHelps
import com.base.superfilemanager.helps.LogEx
import com.base.superfilemanager.helps.ads.AdmobUtils import com.base.superfilemanager.helps.ads.AdmobUtils
import com.base.superfilemanager.helps.file.FileEx.deleteDirectory import com.base.superfilemanager.helps.file.FileEx.deleteDirectory
import com.base.superfilemanager.view.AdPreparationPop import com.base.superfilemanager.view.AdPreparationPop
...@@ -32,6 +35,7 @@ import java.lang.Exception ...@@ -32,6 +35,7 @@ import java.lang.Exception
class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() { class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() {
private val TAG = "FileCategoryActivity"
private var type: String = "" private var type: String = ""
private lateinit var adapter: FileBrowseAdapter private lateinit var adapter: FileBrowseAdapter
...@@ -50,7 +54,12 @@ class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() { ...@@ -50,7 +54,12 @@ class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() {
binding.rv.adapter = adapter binding.rv.adapter = adapter
binding.rv.addItemDecoration(DividerItemDecoration(this, LinearLayout.VERTICAL)) binding.rv.addItemDecoration(DividerItemDecoration(this, LinearLayout.VERTICAL))
binding.flBack.setOnClickListener { binding.flBack.setOnClickListener {
finishToMain() onBackPressedDispatcher.onBackPressed()
}
onBackPressedDispatcher.addCallback {
AdmobUtils.showInterstitialAd(this@FileCategoryActivity) {
finishToMain()
}
} }
binding.tvDelete.setOnClickListener { binding.tvDelete.setOnClickListener {
val deleteList = adapter.getSelect() val deleteList = adapter.getSelect()
...@@ -82,7 +91,13 @@ class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() { ...@@ -82,7 +91,13 @@ class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() {
} }
override fun onPermissionsResult(isGranted: Boolean) { override fun onPermissionsResult(isGranted: Boolean) {
LogEx.logDebug(TAG, "onPermissionsResult isGranted=$isGranted")
if (isGranted) { if (isGranted) {
if (!haveJumpPermission) {
AdPreparationPop(this@FileCategoryActivity) {
AdmobUtils.showInterstitialAd(this@FileCategoryActivity)
}.show()
}
initData() initData()
} else { } else {
finishToMain() finishToMain()
...@@ -95,22 +110,26 @@ class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() { ...@@ -95,22 +110,26 @@ class FileCategoryActivity : BaseActivity<ActivityFileCategoryBinding>() {
binding.progressbar.visibility = View.VISIBLE binding.progressbar.visibility = View.VISIBLE
FileHelps.getFileList( FileHelps.getFileList(
onUpdate = { onUpdate = {
val temp = arrayListOf<FileBean>() val temp = arrayListOf<FileBean?>()
temp.addAll(FileHelps.fileList) temp.addAll(FileHelps.fileList)
if (temp.isNotEmpty()) { if (temp.isNotEmpty()) {
when (type) {
FileCategoryBean.ALL -> showList.addAll(temp.filter { it.isDoc() }) val addList = when (type) {
XLS -> showList.addAll(temp.filter { it.isXls() }) FileCategoryBean.ALL -> temp.filter { it != null && it.isDoc() }.filterNotNull()
DOC -> showList.addAll(temp.filter { it.isDocx() }) XLS -> temp.filter { it != null && it.isXls() }.filterNotNull()
PDF -> showList.addAll(temp.filter { it.isPdf() }) DOC -> temp.filter { it != null && it.isDocx() }.filterNotNull()
ZIP -> showList.addAll(temp.filter { it.isZip() }) PDF -> temp.filter { it != null && it.isPdf() }.filterNotNull()
TXT -> showList.addAll(temp.filter { it.isTxt() }) ZIP -> temp.filter { it != null && it.isZip() }.filterNotNull()
PPT -> showList.addAll(temp.filter { it.isPpt() }) TXT -> temp.filter { it != null && it.isTxt() }.filterNotNull()
Video -> showList.addAll(temp.filter { it.isVideo() }) PPT -> temp.filter { it != null && it.isPpt() }.filterNotNull()
Audio -> showList.addAll(temp.filter { it.isAudio() }) Video -> temp.filter { it != null && it.isVideo() }.filterNotNull()
APK -> showList.addAll(temp.filter { it.isApk() }) Audio -> temp.filter { it != null && it.isAudio() }.filterNotNull()
Image -> showList.addAll(temp.filter { it.isImage() }) APK -> temp.filter { it != null && it.isApk() }.filterNotNull()
Image -> temp.filter { it != null && it.isImage() }.filterNotNull()
else -> listOf()
} }
showList.addAll(addList)
if (showList.isNotEmpty()) { if (showList.isNotEmpty()) {
binding.clOther.visibility = View.GONE binding.clOther.visibility = View.GONE
binding.progressbar.visibility = View.GONE binding.progressbar.visibility = View.GONE
......
...@@ -14,7 +14,9 @@ import com.base.superfilemanager.bean.FileCategoryBean ...@@ -14,7 +14,9 @@ import com.base.superfilemanager.bean.FileCategoryBean
import com.base.superfilemanager.bean.FileCategoryBean.Companion.Image import com.base.superfilemanager.bean.FileCategoryBean.Companion.Image
import com.base.superfilemanager.databinding.FragmentFileCategoryBinding import com.base.superfilemanager.databinding.FragmentFileCategoryBinding
import com.base.superfilemanager.helps.BaseFragment import com.base.superfilemanager.helps.BaseFragment
import com.base.superfilemanager.helps.ads.AdmobUtils
import com.base.superfilemanager.helps.file.MediaStoreEx import com.base.superfilemanager.helps.file.MediaStoreEx
import com.base.superfilemanager.view.AdPreparationPop
import com.blankj.utilcode.constant.PermissionConstants import com.blankj.utilcode.constant.PermissionConstants
import com.blankj.utilcode.util.PermissionUtils import com.blankj.utilcode.util.PermissionUtils
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
......
...@@ -29,6 +29,9 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -29,6 +29,9 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
protected open val isLightMode: Boolean? = null protected open val isLightMode: Boolean? = null
//是否跳转过系统选项页面
protected var haveJumpPermission: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(binding.root) setContentView(binding.root)
...@@ -103,6 +106,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -103,6 +106,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
intent.data = Uri.parse("package:${packageName}") intent.data = Uri.parse("package:${packageName}")
permissionLauncher.launch(intent) permissionLauncher.launch(intent)
PermissionTripActivity.launch(this) PermissionTripActivity.launch(this)
haveJumpPermission = true
}, { }, {
AdPreparationPop(this@BaseActivity) { AdPreparationPop(this@BaseActivity) {
AdmobUtils.showInterstitialAd(this@BaseActivity) { AdmobUtils.showInterstitialAd(this@BaseActivity) {
...@@ -191,6 +195,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -191,6 +195,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
intent.addCategory("android.intent.category.DEFAULT") intent.addCategory("android.intent.category.DEFAULT")
intent.data = Uri.parse("package:${this.packageName}") intent.data = Uri.parse("package:${this.packageName}")
accessLauncher.launch(intent) accessLauncher.launch(intent)
haveJumpPermission = true
} }
} else { } else {
......
...@@ -47,7 +47,7 @@ object NetWorkSpeed { ...@@ -47,7 +47,7 @@ object NetWorkSpeed {
NetWorkSpeed.totalTxSpeed = totalTxSpeed NetWorkSpeed.totalTxSpeed = totalTxSpeed
NetWorkSpeed.totalRxSpeed = totalRxSpeed NetWorkSpeed.totalRxSpeed = totalRxSpeed
preElapsedRealtime = elapsedRealtime preElapsedRealtime = elapsedRealtime
Log.i("networkSpeedMonitor", "Tx: $totalTxSpeed, Rx: $totalRxSpeed") // Log.i("networkSpeedMonitor", "Tx: $totalTxSpeed, Rx: $totalRxSpeed")
} catch (e10: Exception) { } catch (e10: Exception) {
} }
waitAMoment(4000L) waitAMoment(4000L)
......
...@@ -2,16 +2,17 @@ ...@@ -2,16 +2,17 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_marginVertical="10dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="25dp" android:layout_marginHorizontal="25dp"
android:layout_marginVertical="10dp"
android:orientation="vertical" android:orientation="vertical"
tools:ignore="UseCompoundDrawables"> tools:ignore="UseCompoundDrawables">
<ImageView <ImageView
android:id="@+id/iv" android:id="@+id/iv"
android:layout_width="42dp" android:layout_width="wrap_content"
android:layout_height="40dp" android:layout_height="wrap_content"
android:scaleType="centerCrop"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
<TextView <TextView
......
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