more fixes

pull/44/head
Denis Çerri 3 years ago
parent 3f7ab572a2
commit 3e8cda1901
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -5,6 +5,8 @@
<uses-permission android:name="android.permission.INTERNET" />
<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_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.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

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

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

Loading…
Cancel
Save