more fixes

This commit is contained in:
Denis Çerri 2023-03-06 10:21:34 +01:00
parent 3f7ab572a2
commit 3e8cda1901
No known key found for this signature in database
GPG key ID: 95C43D517D830350
3 changed files with 31 additions and 14 deletions

View file

@ -5,6 +5,8 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

View file

@ -185,13 +185,22 @@ class MainActivity : AppCompatActivity() {
} }
private fun askPermissions() { private fun askPermissions() {
if (Build.VERSION.SDK_INT < VERSION_CODES.TIRAMISU && !checkFilePermission()) { if (!checkFilePermission()) {
ActivityCompat.requestPermissions( if (Build.VERSION.SDK_INT >= 33){
this, ActivityCompat.requestPermissions(
arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), this,
1 arrayOf(Manifest.permission.READ_MEDIA_VIDEO, Manifest.permission.READ_MEDIA_AUDIO),
) 1
}else if (!checkNotificationPermission()){ )
}else{
ActivityCompat.requestPermissions(
this,
arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE),
1
)
}
}
if (!checkNotificationPermission()){
ActivityCompat.requestPermissions( ActivityCompat.requestPermissions(
this, this,
arrayOf(Manifest.permission.POST_NOTIFICATIONS), arrayOf(Manifest.permission.POST_NOTIFICATIONS),
@ -218,7 +227,7 @@ class MainActivity : AppCompatActivity() {
) { ) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults) super.onRequestPermissionsResult(requestCode, permissions, grantResults)
for (i in permissions.indices) { for (i in permissions.indices) {
if (permissions.contains(Manifest.permission.POST_NOTIFICATIONS)) break if (permissions.contains(Manifest.permission.POST_NOTIFICATIONS)) continue
if (grantResults[i] == PackageManager.PERMISSION_DENIED) { if (grantResults[i] == PackageManager.PERMISSION_DENIED) {
createPermissionRequestDialog() createPermissionRequestDialog()
}else{ }else{
@ -233,8 +242,15 @@ class MainActivity : AppCompatActivity() {
} }
private fun checkFilePermission(): Boolean { private fun checkFilePermission(): Boolean {
return (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) return if(Build.VERSION.SDK_INT >= 33){
== PackageManager.PERMISSION_GRANTED) (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_MEDIA_AUDIO)
== PackageManager.PERMISSION_GRANTED) &&
(ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_MEDIA_VIDEO)
== PackageManager.PERMISSION_GRANTED)
}else{
(ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED)
}
} }
private fun checkNotificationPermission(): Boolean { private fun checkNotificationPermission(): Boolean {

View file

@ -7,6 +7,7 @@ import android.os.Build
import android.provider.DocumentsContract import android.provider.DocumentsContract
import android.util.Log import android.util.Log
import android.webkit.MimeTypeMap import android.webkit.MimeTypeMap
import androidx.documentfile.provider.DocumentFile
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import okhttp3.internal.closeQuietly import okhttp3.internal.closeQuietly
import okio.Path.Companion.toPath import okio.Path.Companion.toPath
@ -70,10 +71,9 @@ class FileUtil() {
val path = File(formatPath(destDir)) val path = File(formatPath(destDir))
try { try {
val files = path.listFiles()!! var files = path.listFiles()!!
files.filter { it.lastModified() > System.currentTimeMillis() - 10000} files = files.filter { it.lastModified() > System.currentTimeMillis() - 5000}.toTypedArray()
Arrays.sort(files) { p0, p1 -> p0!!.lastModified().compareTo(p1!!.lastModified()) } Arrays.sort(files) { p0, p1 -> p0!!.lastModified().compareTo(p1!!.lastModified()) }
val paths = files.map { it.absolutePath }.toTypedArray() val paths = files.map { it.absolutePath }.toTypedArray()
MediaScannerConnection.scanFile(context, paths, null, null) MediaScannerConnection.scanFile(context, paths, null, null)
return files.reduce(Compare::max).absolutePath return files.reduce(Compare::max).absolutePath
@ -102,7 +102,6 @@ class FileUtil() {
} }
val destFile = File(formatPath(destDir) + "/${it.name}") val destFile = File(formatPath(destDir) + "/${it.name}")
Log.e("aa", destFile.absolutePath)
if (destFile.absolutePath.contains("/storage/emulated/0/Download") if (destFile.absolutePath.contains("/storage/emulated/0/Download")
|| destFile.absolutePath.contains("/storage/emulated/0/Documents") || destFile.absolutePath.contains("/storage/emulated/0/Documents")
){ ){