Request notification permissions for video sample app.

This commit is contained in:
Nicholas Tinsley
2024-01-22 10:18:32 -05:00
committed by Greyson Parrelli
parent 16b78f0843
commit 54cf11a78b

View File

@@ -5,9 +5,11 @@
package org.thoughtcrime.video.app.transcode package org.thoughtcrime.video.app.transcode
import android.Manifest
import android.app.NotificationChannel import android.app.NotificationChannel
import android.app.NotificationManager import android.app.NotificationManager
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
@@ -24,6 +26,7 @@ import androidx.compose.material3.Surface
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.core.content.ContextCompat
import org.thoughtcrime.video.app.R import org.thoughtcrime.video.app.R
import org.thoughtcrime.video.app.transcode.composables.ConfigureEncodingParameters import org.thoughtcrime.video.app.transcode.composables.ConfigureEncodingParameters
import org.thoughtcrime.video.app.transcode.composables.SelectInput import org.thoughtcrime.video.app.transcode.composables.SelectInput
@@ -35,6 +38,7 @@ import org.thoughtcrime.video.app.ui.theme.SignalTheme
* Visual entry point for testing transcoding in the video sample app. * Visual entry point for testing transcoding in the video sample app.
*/ */
class TranscodeTestActivity : AppCompatActivity() { class TranscodeTestActivity : AppCompatActivity() {
private val TAG = "TranscodeTestActivity"
private val viewModel: TranscodeTestViewModel by viewModels() private val viewModel: TranscodeTestViewModel by viewModels()
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@@ -81,6 +85,9 @@ class TranscodeTestActivity : AppCompatActivity() {
} }
} }
getComposeView()?.keepScreenOn = true getComposeView()?.keepScreenOn = true
if (Build.VERSION.SDK_INT >= 33 && ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
requestPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
}
} }
/** /**
@@ -88,11 +95,11 @@ class TranscodeTestActivity : AppCompatActivity() {
*/ */
private val pickMedia = registerForActivityResult(ActivityResultContracts.PickMultipleVisualMedia()) { uris: List<Uri> -> private val pickMedia = registerForActivityResult(ActivityResultContracts.PickMultipleVisualMedia()) { uris: List<Uri> ->
if (uris.isNotEmpty()) { if (uris.isNotEmpty()) {
Log.d("VideoPicker", "Selected URI: $uris") Log.d(TAG, "Selected URI: $uris")
viewModel.selectedVideos = uris viewModel.selectedVideos = uris
viewModel.resetOutputDirectory() viewModel.resetOutputDirectory()
} else { } else {
Log.d("VideoPicker", "No media selected") Log.d(TAG, "No media selected")
} }
} }
@@ -103,6 +110,13 @@ class TranscodeTestActivity : AppCompatActivity() {
} }
} }
private val requestPermissionLauncher =
registerForActivityResult(
ActivityResultContracts.RequestPermission()
) { isGranted: Boolean ->
Log.d(TAG, "Notification permission allowed: $isGranted")
}
private fun getComposeView(): ComposeView? { private fun getComposeView(): ComposeView? {
return window.decorView return window.decorView
.findViewById<ViewGroup>(android.R.id.content) .findViewById<ViewGroup>(android.R.id.content)