forked from mirrors/RecordYou
chore: update dependencies
This commit is contained in:
@@ -5,12 +5,12 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = "com.bnyro.recorder"
|
||||
compileSdk = 33
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.bnyro.recorder"
|
||||
minSdk = 21
|
||||
targetSdk = 33
|
||||
targetSdk = 34
|
||||
versionCode = 18
|
||||
versionName = "7.3"
|
||||
|
||||
@@ -42,9 +42,10 @@ android {
|
||||
}
|
||||
buildFeatures {
|
||||
compose = true
|
||||
buildConfig = true
|
||||
}
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = "1.4.2"
|
||||
kotlinCompilerExtensionVersion = "1.5.9"
|
||||
}
|
||||
packagingOptions {
|
||||
resources {
|
||||
@@ -54,30 +55,37 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
val compose_version: String by rootProject.extra
|
||||
// Core & runtime
|
||||
implementation("androidx.core:core-ktx:1.10.1")
|
||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")
|
||||
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1")
|
||||
implementation("androidx.core:core-ktx:1.12.0")
|
||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")
|
||||
implementation("androidx.documentfile:documentfile:1.0.1")
|
||||
implementation("com.google.android.exoplayer:exoplayer:2.19.0")
|
||||
|
||||
val media3Version = "1.2.1"
|
||||
|
||||
// For media playback using ExoPlayer
|
||||
implementation("androidx.media3:media3-exoplayer:$media3Version")
|
||||
implementation("androidx.media3:media3-ui:$media3Version")
|
||||
|
||||
// Compose
|
||||
implementation("androidx.activity:activity-compose:1.7.2")
|
||||
implementation("androidx.compose.ui:ui:$compose_version")
|
||||
implementation("androidx.compose.animation:animation-graphics:$compose_version")
|
||||
implementation("androidx.compose.ui:ui-tooling-preview:$compose_version")
|
||||
implementation("androidx.compose.material3:material3:1.1.1")
|
||||
implementation("androidx.compose.material:material-icons-extended:1.4.3")
|
||||
implementation(platform("androidx.compose:compose-bom:2024.02.00"))
|
||||
implementation("androidx.compose.ui:ui")
|
||||
implementation("androidx.compose.ui:ui-graphics")
|
||||
implementation("androidx.compose.ui:ui-tooling-preview")
|
||||
implementation("androidx.compose.material3:material3")
|
||||
implementation("androidx.compose.animation:animation-graphics")
|
||||
|
||||
implementation("androidx.activity:activity-compose:1.8.2")
|
||||
implementation("androidx.compose.material:material-icons-extended")
|
||||
|
||||
//Navigation
|
||||
implementation("androidx.navigation:navigation-compose:2.6.0")
|
||||
implementation("androidx.navigation:navigation-compose:2.7.7")
|
||||
|
||||
// Testing
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
||||
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
|
||||
debugImplementation("androidx.compose.ui:ui-tooling:$compose_version")
|
||||
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
|
||||
androidTestImplementation(platform("androidx.compose:compose-bom:2024.02.00"))
|
||||
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
|
||||
debugImplementation("androidx.compose.ui:ui-tooling")
|
||||
debugImplementation("androidx.compose.ui:ui-test-manifest")
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.view.MotionEvent
|
||||
import android.view.WindowManager
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.pointer.motionEventSpy
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
@@ -40,6 +41,8 @@ class CanvasOverlay(context: Context) {
|
||||
private var initialY = 0
|
||||
private var initialTouchX = 0f
|
||||
private var initialTouchY = 0f
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
private val toolbarView = ComposeView(context).apply {
|
||||
val activity = context as ComponentActivity
|
||||
setViewTreeLifecycleOwner(activity)
|
||||
|
||||
@@ -27,9 +27,9 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.documentfile.provider.DocumentFile
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import com.bnyro.recorder.ui.models.PlayerModel
|
||||
import com.google.android.exoplayer2.MediaItem
|
||||
import com.google.android.exoplayer2.Player
|
||||
|
||||
@Composable
|
||||
fun MiniPlayer(inputFile: DocumentFile, playerModel: PlayerModel = viewModel()) {
|
||||
|
||||
@@ -15,9 +15,9 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
import com.google.android.exoplayer2.MediaItem
|
||||
import com.google.android.exoplayer2.Player
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import androidx.media3.exoplayer.ExoPlayer
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@@ -10,11 +10,11 @@ import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.AP
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import androidx.lifecycle.viewmodel.initializer
|
||||
import androidx.lifecycle.viewmodel.viewModelFactory
|
||||
import androidx.media3.exoplayer.ExoPlayer
|
||||
import com.bnyro.recorder.App
|
||||
import com.bnyro.recorder.enums.SortOrder
|
||||
import com.bnyro.recorder.obj.RecordingItemData
|
||||
import com.bnyro.recorder.util.FileRepository
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class PlayerModel(context: Context, private val fileRepository: FileRepository) : ViewModel() {
|
||||
|
||||
@@ -13,10 +13,10 @@ import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.AP
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import androidx.lifecycle.viewmodel.initializer
|
||||
import androidx.lifecycle.viewmodel.viewModelFactory
|
||||
import androidx.media3.exoplayer.ExoPlayer
|
||||
import com.bnyro.recorder.App
|
||||
import com.bnyro.recorder.enums.TrimmerState
|
||||
import com.bnyro.recorder.util.MediaTrimmer
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class TrimmerModel(context: Context) : ViewModel() {
|
||||
|
||||
@@ -52,14 +52,14 @@ import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
import androidx.documentfile.provider.DocumentFile
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import androidx.media3.ui.PlayerView
|
||||
import com.bnyro.recorder.R
|
||||
import com.bnyro.recorder.enums.TrimmerState
|
||||
import com.bnyro.recorder.ui.components.PlayerController
|
||||
import com.bnyro.recorder.ui.components.playPause
|
||||
import com.bnyro.recorder.ui.models.TrimmerModel
|
||||
import com.google.android.exoplayer2.MediaItem
|
||||
import com.google.android.exoplayer2.Player
|
||||
import com.google.android.exoplayer2.ui.PlayerView
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
@OptIn(ExperimentalMaterial3Api::class, ExperimentalAnimationGraphicsApi::class)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.bnyro.recorder.ui.views
|
||||
|
||||
import android.net.Uri
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
@@ -8,17 +9,18 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
import com.google.android.exoplayer2.MediaItem
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerView
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.media3.exoplayer.ExoPlayer
|
||||
import androidx.media3.ui.PlayerView
|
||||
|
||||
@OptIn(UnstableApi::class)
|
||||
@Composable
|
||||
fun VideoView(videoUri: Uri) {
|
||||
val context = LocalContext.current
|
||||
|
||||
val exoPlayer = remember(context) {
|
||||
ExoPlayer.Builder(context)
|
||||
.setUsePlatformDiagnostics(false)
|
||||
.build()
|
||||
.also { exoPlayer ->
|
||||
val mediaItem = MediaItem.Builder()
|
||||
@@ -33,7 +35,7 @@ fun VideoView(videoUri: Uri) {
|
||||
AndroidView(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
factory = {
|
||||
StyledPlayerView(context).apply {
|
||||
PlayerView(context).apply {
|
||||
player = exoPlayer
|
||||
setShowNextButton(false)
|
||||
setShowPreviousButton(false)
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
buildscript {
|
||||
val compose_version by extra("1.5.0-beta01")
|
||||
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
plugins {
|
||||
id("com.android.application") version "7.4.2" apply false
|
||||
id("com.android.library") version "7.4.2" apply false
|
||||
id("org.jetbrains.kotlin.android") version "1.8.10" apply false
|
||||
id("com.android.application") version "8.2.2" apply false
|
||||
id("com.android.library") version "8.2.2" apply false
|
||||
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
|
||||
}
|
||||
@@ -20,4 +20,5 @@ kotlin.code.style=official
|
||||
# Enables namespacing of each library's R class so that its R class includes only the
|
||||
# resources declared in the library itself and none from the library's dependencies,
|
||||
# thereby reducing the size of the R class for that library
|
||||
android.nonTransitiveRClass=true
|
||||
android.nonTransitiveRClass=true
|
||||
android.nonFinalResIds=false
|
||||
6
gradle/wrapper/gradle-wrapper.properties
vendored
6
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
#Mon Feb 20 11:02:55 CET 2023
|
||||
#Sun Feb 18 16:19:16 IST 2024
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
Reference in New Issue
Block a user