LogExporterPreference: Don't ask for storage permissions on Android 10 and above

We use the proper MediaStore implementation on Android 10 which makes it unnecessary.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-03-25 21:01:02 +05:30
parent 90bf46e8d3
commit 1ad0ef3f61

View File

@ -7,6 +7,7 @@ package com.wireguard.android.preference
import android.Manifest import android.Manifest
import android.content.Context import android.content.Context
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.os.Build
import android.util.AttributeSet import android.util.AttributeSet
import android.util.Log import android.util.Log
import androidx.preference.Preference import androidx.preference.Preference
@ -80,6 +81,7 @@ class LogExporterPreference(context: Context, attrs: AttributeSet?) : Preference
override fun getTitle() = context.getString(R.string.log_export_title) override fun getTitle() = context.getString(R.string.log_export_title)
override fun onClick() { override fun onClick() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
FragmentUtils.getPrefActivity(this) FragmentUtils.getPrefActivity(this)
.ensurePermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { _, grantResults -> .ensurePermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { _, grantResults ->
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
@ -87,6 +89,10 @@ class LogExporterPreference(context: Context, attrs: AttributeSet?) : Preference
exportLog() exportLog()
} }
} }
} else {
isEnabled = false
exportLog()
}
} }
companion object { companion object {