more fixes
This commit is contained in:
parent
3f7ab572a2
commit
3e8cda1901
3 changed files with 31 additions and 14 deletions
|
|
@ -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" />
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
){
|
){
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue