From 613e9ac8bf33ad42fb67f29d346c3b9eeab3561f Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Fri, 31 Mar 2023 13:48:40 +0800 Subject: [PATCH] Add permission POST_NOTIFICATIONS and READ_MEDIA_IMAGES --- V2rayNG/app/build.gradle | 1 + V2rayNG/app/src/main/AndroidManifest.xml | 3 ++ .../kotlin/com/v2ray/ang/ui/MainActivity.kt | 10 +++++++ .../com/v2ray/ang/ui/ScannerActivity.kt | 28 +++++++++++-------- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/V2rayNG/app/build.gradle b/V2rayNG/app/build.gradle index 7f2a4323..4a707a8d 100644 --- a/V2rayNG/app/build.gradle +++ b/V2rayNG/app/build.gradle @@ -74,6 +74,7 @@ android { viewBinding true } namespace 'com.v2ray.ang' + testNamespace 'com.v2ray.angTest' } dependencies { diff --git a/V2rayNG/app/src/main/AndroidManifest.xml b/V2rayNG/app/src/main/AndroidManifest.xml index 74ff1945..799fc968 100644 --- a/V2rayNG/app/src/main/AndroidManifest.xml +++ b/V2rayNG/app/src/main/AndroidManifest.xml @@ -23,6 +23,9 @@ + + + = Build.VERSION_CODES.TIRAMISU) { + RxPermissions(this) + .request(Manifest.permission.POST_NOTIFICATIONS) + .subscribe { + if (!it) + toast(R.string.toast_permission_denied) + } + } } private fun setupViewModel() { diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ScannerActivity.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ScannerActivity.kt index bc3785ec..883f51b5 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ScannerActivity.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ScannerActivity.kt @@ -7,6 +7,7 @@ import com.google.zxing.Result import me.dm7.barcodescanner.zxing.ZXingScannerView import android.content.Intent import android.graphics.BitmapFactory +import android.os.Build import android.view.Menu import android.view.MenuItem import androidx.activity.result.contract.ActivityResultContracts @@ -70,18 +71,23 @@ class ScannerActivity : BaseActivity(), ZXingScannerView.ResultHandler { override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) { R.id.select_photo -> { + val permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + Manifest.permission.READ_MEDIA_IMAGES + } else { + Manifest.permission.READ_EXTERNAL_STORAGE + } RxPermissions(this) - .request(Manifest.permission.READ_EXTERNAL_STORAGE) - .subscribe { - if (it) { - try { - showFileChooser() - } catch (e: Exception) { - e.printStackTrace() - } - } else - toast(R.string.toast_permission_denied) - } + .request(permission) + .subscribe { + if (it) { + try { + showFileChooser() + } catch (e: Exception) { + e.printStackTrace() + } + } else + toast(R.string.toast_permission_denied) + } true } else -> super.onOptionsItemSelected(item)