Aperture: Make the supported quality list an unordered map

Change-Id: Ib803dd67f777d2d22e8a577d62e0919b1346c1ee
diff --git a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
index 0c314be..664516e 100644
--- a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
+++ b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
@@ -205,8 +205,8 @@
         get() = field!!
 
     // Video
-    private val supportedVideoQualities: List<Quality>
-        get() = camera.supportedVideoQualities.keys.toList()
+    private val supportedVideoQualities: Set<Quality>
+        get() = camera.supportedVideoQualities.keys
     private val supportedVideoFrameRates: Set<FrameRate>
         get() = camera.supportedVideoQualities.getOrDefault(
             sharedPreferences.videoQuality, setOf()
@@ -1347,7 +1347,11 @@
         }
 
         val currentVideoQuality = sharedPreferences.videoQuality
-        val newVideoQuality = supportedVideoQualities.next(currentVideoQuality)
+        val newVideoQuality = supportedVideoQualities.toList().sortedWith { a, b ->
+            listOf(Quality.SD, Quality.HD, Quality.FHD, Quality.UHD).let {
+                it.indexOf(a) - it.indexOf(b)
+            }
+        }.next(currentVideoQuality)
 
         if (newVideoQuality == currentVideoQuality) {
             return
diff --git a/app/src/main/java/org/lineageos/aperture/camera/Camera.kt b/app/src/main/java/org/lineageos/aperture/camera/Camera.kt
index 731373a..15b9f31 100644
--- a/app/src/main/java/org/lineageos/aperture/camera/Camera.kt
+++ b/app/src/main/java/org/lineageos/aperture/camera/Camera.kt
@@ -12,7 +12,6 @@
 import androidx.camera.core.CameraInfo
 import androidx.camera.core.CameraSelector
 import androidx.camera.core.DynamicRange
-import androidx.camera.video.Quality
 import androidx.camera.video.Recorder
 import org.lineageos.aperture.ext.*
 import kotlin.reflect.safeCast
@@ -52,11 +51,7 @@
         Recorder.getVideoCapabilities(cameraInfo).getSupportedQualities(DynamicRange.SDR)
             .associateWith {
                 supportedVideoFrameRates + cameraManager.getAdditionalVideoFrameRates(cameraId, it)
-            }.toSortedMap { a, b ->
-                listOf(Quality.SD, Quality.HD, Quality.FHD, Quality.UHD).let {
-                    it.indexOf(a) - it.indexOf(b)
-                }
-            }
+            }.toMap()
     val supportsVideoRecording = supportedVideoQualities.isNotEmpty()
 
     val supportedExtensionModes = cameraManager.extensionsManager.getSupportedModes(cameraSelector)