diff --git a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-arm64-v8a.dm b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-arm64-v8a.dm index 23ae1d3c..5ec0bbb6 100644 Binary files a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-arm64-v8a.dm and b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-arm64-v8a.dm differ diff --git a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-armeabi-v7a.dm b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-armeabi-v7a.dm index 23ae1d3c..5ec0bbb6 100644 Binary files a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-armeabi-v7a.dm and b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-armeabi-v7a.dm differ diff --git a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86.dm b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86.dm index 23ae1d3c..5ec0bbb6 100644 Binary files a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86.dm and b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86.dm differ diff --git a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86_64.dm b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86_64.dm index 23ae1d3c..5ec0bbb6 100644 Binary files a/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86_64.dm and b/app/phone/libre/release/baselineProfiles/0/ananas-v0.14.2-libre-x86_64.dm differ diff --git a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-arm64-v8a.dm b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-arm64-v8a.dm index a5e37c55..860bd412 100644 Binary files a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-arm64-v8a.dm and b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-arm64-v8a.dm differ diff --git a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-armeabi-v7a.dm b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-armeabi-v7a.dm index a5e37c55..860bd412 100644 Binary files a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-armeabi-v7a.dm and b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-armeabi-v7a.dm differ diff --git a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86.dm b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86.dm index a5e37c55..860bd412 100644 Binary files a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86.dm and b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86.dm differ diff --git a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86_64.dm b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86_64.dm index a5e37c55..860bd412 100644 Binary files a/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86_64.dm and b/app/phone/libre/release/baselineProfiles/1/ananas-v0.14.2-libre-x86_64.dm differ diff --git a/app/phone/libre/release/output-metadata.json b/app/phone/libre/release/output-metadata.json index 995a6e24..8f2a480d 100644 --- a/app/phone/libre/release/output-metadata.json +++ b/app/phone/libre/release/output-metadata.json @@ -16,36 +16,10 @@ } ], "attributes": [], - "versionCode": 8, + "versionCode": 9, "versionName": "0.14.2", "outputFile": "ananas-v0.14.2-libre-armeabi-v7a.apk" }, - { - "type": "ONE_OF_MANY", - "filters": [ - { - "filterType": "ABI", - "value": "arm64-v8a" - } - ], - "attributes": [], - "versionCode": 8, - "versionName": "0.14.2", - "outputFile": "ananas-v0.14.2-libre-arm64-v8a.apk" - }, - { - "type": "ONE_OF_MANY", - "filters": [ - { - "filterType": "ABI", - "value": "x86" - } - ], - "attributes": [], - "versionCode": 8, - "versionName": "0.14.2", - "outputFile": "ananas-v0.14.2-libre-x86.apk" - }, { "type": "ONE_OF_MANY", "filters": [ @@ -55,9 +29,35 @@ } ], "attributes": [], - "versionCode": 8, + "versionCode": 9, "versionName": "0.14.2", "outputFile": "ananas-v0.14.2-libre-x86_64.apk" + }, + { + "type": "ONE_OF_MANY", + "filters": [ + { + "filterType": "ABI", + "value": "x86" + } + ], + "attributes": [], + "versionCode": 9, + "versionName": "0.14.2", + "outputFile": "ananas-v0.14.2-libre-x86.apk" + }, + { + "type": "ONE_OF_MANY", + "filters": [ + { + "filterType": "ABI", + "value": "arm64-v8a" + } + ], + "attributes": [], + "versionCode": 9, + "versionName": "0.14.2", + "outputFile": "ananas-v0.14.2-libre-arm64-v8a.apk" } ], "elementType": "File", @@ -67,9 +67,9 @@ "maxApi": 30, "baselineProfiles": [ "baselineProfiles/1/ananas-v0.14.2-libre-armeabi-v7a.dm", - "baselineProfiles/1/ananas-v0.14.2-libre-arm64-v8a.dm", + "baselineProfiles/1/ananas-v0.14.2-libre-x86_64.dm", "baselineProfiles/1/ananas-v0.14.2-libre-x86.dm", - "baselineProfiles/1/ananas-v0.14.2-libre-x86_64.dm" + "baselineProfiles/1/ananas-v0.14.2-libre-arm64-v8a.dm" ] }, { @@ -77,9 +77,9 @@ "maxApi": 2147483647, "baselineProfiles": [ "baselineProfiles/0/ananas-v0.14.2-libre-armeabi-v7a.dm", - "baselineProfiles/0/ananas-v0.14.2-libre-arm64-v8a.dm", + "baselineProfiles/0/ananas-v0.14.2-libre-x86_64.dm", "baselineProfiles/0/ananas-v0.14.2-libre-x86.dm", - "baselineProfiles/0/ananas-v0.14.2-libre-x86_64.dm" + "baselineProfiles/0/ananas-v0.14.2-libre-arm64-v8a.dm" ] } ], diff --git a/app/phone/src/main/java/com/nomadics9/ananas/PlayerActivity.kt b/app/phone/src/main/java/com/nomadics9/ananas/PlayerActivity.kt index 934d34b7..0c9f56ba 100644 --- a/app/phone/src/main/java/com/nomadics9/ananas/PlayerActivity.kt +++ b/app/phone/src/main/java/com/nomadics9/ananas/PlayerActivity.kt @@ -1,6 +1,5 @@ package com.nomadics9.ananas -import android.app.AlertDialog import android.app.AppOpsManager import android.app.PictureInPictureParams import android.content.Context @@ -25,15 +24,18 @@ import android.widget.ImageView import android.widget.Space import android.widget.TextView import androidx.activity.viewModels +import androidx.appcompat.app.AlertDialog import androidx.core.view.isVisible import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import androidx.media3.common.C +import androidx.media3.common.Player import androidx.media3.ui.DefaultTimeBar import androidx.media3.ui.PlayerControlView import androidx.media3.ui.PlayerView import androidx.navigation.navArgs +import com.google.android.material.dialog.MaterialAlertDialogBuilder import dagger.hilt.android.AndroidEntryPoint import com.nomadics9.ananas.databinding.ActivityPlayerBinding import com.nomadics9.ananas.dialogs.SpeedSelectionDialogFragment @@ -88,7 +90,7 @@ class PlayerActivity : BasePlayerActivity() { binding = ActivityPlayerBinding.inflate(layoutInflater) setContentView(binding.root) - val changeQualityButton: Button = findViewById(R.id.btnChangeQuality) + val changeQualityButton: ImageButton = findViewById(R.id.btnChangeQuality) changeQualityButton.setOnClickListener { showQualitySelectionDialog() } @@ -426,9 +428,15 @@ class PlayerActivity : BasePlayerActivity() { } private fun showQualitySelectionDialog() { - val qualities = arrayOf("1080p", "720p", "480p", "360p") + val height = viewModel.getOriginalHeight() - AlertDialog.Builder(this) + val qualities = when (height) { + 0 -> arrayOf("Auto", "Original - Max", "720p - 2Mbps", "480p - 1Mbps", "360p - 800kbps") + in 1001..1999 -> arrayOf("Auto", "Original (1080p) - Max", "720p - 2Mbps", "480p - 1Mbps", "360p - 800kbps") + in 2000..3000 -> arrayOf("Auto", "Original (4K) - Max", "720p - 2Mbps", "480p - 1Mbps", "360p - 800kbps") + else -> arrayOf("Auto", "Original - Max", "720p - 2Mbps", "480p - 1Mbps", "360p - 800kbps") + } + MaterialAlertDialogBuilder(this) .setTitle("Select Video Quality") .setItems(qualities) { _, which -> val selectedQuality = qualities[which] @@ -438,6 +446,9 @@ class PlayerActivity : BasePlayerActivity() { } + + + override fun onPictureInPictureModeChanged( isInPictureInPictureMode: Boolean, newConfig: Configuration, diff --git a/app/phone/src/main/res/layout/dialog_quality_selection.xml b/app/phone/src/main/res/layout/dialog_quality_selection.xml index 78d9a0be..15b971ff 100644 --- a/app/phone/src/main/res/layout/dialog_quality_selection.xml +++ b/app/phone/src/main/res/layout/dialog_quality_selection.xml @@ -8,29 +8,32 @@ + android:text="Select Quality" + />