Auto commit (MindMachine) Fri Apr 10 12:01:02 PM CDT 2026

This commit is contained in:
Tretzi
2026-04-10 12:01:02 -05:00
parent 7b1c4ec474
commit 3cbd8138ee
10 changed files with 318 additions and 2 deletions

View File

@@ -96,8 +96,11 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navArgument
import com.google.android.gms.ads.MobileAds
import com.mindmachine.mvp.audio.BinauralAudioEngine
import com.mindmachine.mvp.audio.HeadsetMonitor
import com.mindmachine.mvp.ads.AdBanner
import com.mindmachine.mvp.ads.rememberInterstitialController
import com.mindmachine.mvp.data.SettingsRepository
import com.mindmachine.mvp.data.UserProgramRepository
import com.mindmachine.mvp.domain.RuntimeState
@@ -136,16 +139,27 @@ private val MindMachineColors = darkColorScheme(
class MainActivity : ComponentActivity() {
private val vm: MainViewModel by viewModels {
val settingsRepo = SettingsRepository(applicationContext)
val billing = com.mindmachine.mvp.billing.BillingManager(
applicationContext,
onNoAdsEntitlementChanged = { hasNoAds ->
// Cache the entitlement so UI can gate ads.
// Billing will refresh on each app start.
lifecycleScope.launch { settingsRepo.updateNoAds(hasNoAds) }
},
)
MainViewModel.Factory(
SettingsRepository(applicationContext),
settingsRepo,
UserProgramRepository(applicationContext),
HeadsetMonitor(applicationContext),
BinauralAudioEngine(),
billing,
)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
MobileAds.initialize(this) {}
setContent {
MaterialTheme(colorScheme = MindMachineColors) {
App(vm)