MindMachine: fix Android toolchain and MVP build/test/apk

This commit is contained in:
Tretzi
2026-03-10 23:03:46 -05:00
parent 83a0586d26
commit d4990af092
8 changed files with 359 additions and 3 deletions

View File

@@ -61,6 +61,7 @@ dependencies {
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
implementation("com.google.android.material:material:1.12.0")
implementation("androidx.compose.material:material-icons-extended")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1")

View File

@@ -21,9 +21,9 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.material3.Button
import androidx.compose.material3.Card
import androidx.compose.material3.Checkbox
import androidx.compose.material3.DropdownMenu
import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.ExposedDropdownMenu
import androidx.compose.material3.ExposedDropdownMenuBox
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme
@@ -75,6 +75,7 @@ class MainActivity : ComponentActivity() {
}
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun App(vm: MainViewModel = viewModel()) {
val nav = rememberNavController()
@@ -270,7 +271,7 @@ fun SettingsScreen(vm: MainViewModel, onBack: () -> Unit) {
Text("Countdown")
ExposedDropdownMenuBox(expanded = expanded, onExpandedChange = { expanded = it }) {
TextButton(onClick = { expanded = true }) { Text(ui.settings.countdownPreference.name) }
ExposedDropdownMenu(expanded = expanded, onDismissRequest = { expanded = false }) {
DropdownMenu(expanded = expanded, onDismissRequest = { expanded = false }) {
CountdownPreference.values().forEach {
DropdownMenuItem(text = { Text(it.name) }, onClick = { vm.updateCountdown(it); expanded = false })
}

View File

@@ -2,6 +2,7 @@ package com.mindmachine.mvp.audio
import android.media.AudioAttributes
import android.media.AudioFormat
import android.media.AudioManager
import android.media.AudioTrack
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -31,7 +32,7 @@ class BinauralAudioEngine {
AudioFormat.Builder().setEncoding(AudioFormat.ENCODING_PCM_16BIT).setSampleRate(sampleRate).setChannelMask(AudioFormat.CHANNEL_OUT_STEREO).build(),
bufferSize,
AudioTrack.MODE_STREAM,
AudioTrack.AUDIO_SESSION_ID_GENERATE
AudioManager.AUDIO_SESSION_ID_GENERATE
)
track = audioTrack
val localScope = CoroutineScope(Dispatchers.Default)