Commit 04fb8630 authored by wanglei's avatar wanglei

========ui部分的bug=========

parent 0432cdae
......@@ -4,6 +4,7 @@ import android.content.Intent
import android.os.Build
import android.os.Environment
import android.view.View
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import com.base.superfilemanager.R
......@@ -14,9 +15,7 @@ import com.base.superfilemanager.bean.FileCategoryBean
import com.base.superfilemanager.bean.FileCategoryBean.Companion.Image
import com.base.superfilemanager.databinding.FragmentFileCategoryBinding
import com.base.superfilemanager.helps.BaseFragment
import com.base.superfilemanager.helps.ads.AdmobUtils
import com.base.superfilemanager.helps.file.MediaStoreEx
import com.base.superfilemanager.view.AdPreparationPop
import com.blankj.utilcode.constant.PermissionConstants
import com.blankj.utilcode.util.PermissionUtils
import kotlinx.coroutines.Dispatchers
......@@ -64,10 +63,11 @@ class FileCategoryFragment : BaseFragment<FragmentFileCategoryBinding>() {
mediaAdapter.setData(mediaList)
binding.tvAuthorization.setOnClickListener {
(requireActivity() as MainActivity).checkPermission(true)
(requireActivity() as MainActivity).checkPermission(true, false)
}
binding.llAll.isVisible = checkStorage()
binding.llAll.setOnClickListener {
(requireActivity() as MainActivity).checkPermission(true)
itemClick(Image)
}
recentAdapter = FileCategoryAdapter(FileCategoryAdapter.MODE_RECENT, ::itemClick)
binding.rvRecent.adapter = recentAdapter
......@@ -80,6 +80,9 @@ class FileCategoryFragment : BaseFragment<FragmentFileCategoryBinding>() {
binding.tvAuthorization.visibility = View.GONE
binding.rvRecent.visibility = View.VISIBLE
loadRecentImageVideo()
binding.llAll.isVisible = true
} else {
binding.llAll.isVisible = false
}
}
......
......@@ -68,7 +68,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
}
private var isRequested = false
fun checkPermission(needcheck: Boolean = false) {
fun checkPermission(needcheck: Boolean = false, denyFinish: Boolean = true) {
if (needcheck) {
onPermissionsResult(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
......@@ -108,11 +108,14 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
PermissionTripActivity.launch(this)
haveJumpPermission = true
}, {
AdPreparationPop(this@BaseActivity) {
AdmobUtils.showInterstitialAd(this@BaseActivity) {
finishToMain()
}
}.show()
if (denyFinish) {
AdPreparationPop(this@BaseActivity) {
AdmobUtils.showInterstitialAd(this@BaseActivity) {
finishToMain()
}
}.show()
}
null
})
}
......
package com.base.superfilemanager.helps
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Environment
import android.provider.Settings
import com.blankj.utilcode.constant.PermissionConstants
import com.blankj.utilcode.util.PermissionUtils
object PermissionHelp {
fun checkStorePermission(): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
Environment.isExternalStorageManager()
} else {
PermissionUtils.isGranted(PermissionConstants.STORAGE)
}
}
fun Context.requestStorePermission(
launcher: ActivityLauncher,
jumpAction: (() -> Unit)? = null,
result: (flag: Boolean) -> Unit
) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val intent =
Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.addCategory("android.intent.category.DEFAULT")
intent.data = Uri.parse("package:${packageName}")
jumpAction?.invoke()
launcher.launch(intent) {
result.invoke(checkStorePermission())
}
} else {
PermissionUtils.permissionGroup(PermissionConstants.STORAGE).callback { isAllGranted, _, _, _ ->
result.invoke(isAllGranted)
}
}
}
}
\ No newline at end of file
......@@ -84,12 +84,12 @@
tools:ignore="HardcodedText" />
<LinearLayout
android:visibility="invisible"
android:id="@+id/ll_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
......
......@@ -82,8 +82,8 @@
<LinearLayout
android:layout_width="59dp"
android:layout_height="35dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@id/iv_launches_border"
app:layout_constraintEnd_toEndOf="@id/iv_launches_border"
......
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