Skip to content
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ android {
applicationId = "com.sameerasw.airsync"
minSdk = 30
targetSdk = 36
versionCode = 25
versionCode = 26
versionName = "3.0.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Expand Down
25 changes: 25 additions & 0 deletions app/src/main/java/com/sameerasw/airsync/AirSyncApp.kt
Original file line number Diff line number Diff line change
@@ -1,17 +1,42 @@
package com.sameerasw.airsync

import android.app.Activity
import android.app.Application
import android.os.Bundle
import com.sameerasw.airsync.data.local.DataStoreManager
import io.sentry.android.core.SentryAndroid
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking

class AirSyncApp : Application() {
private var activityCount = 0

companion object {
private var instance: AirSyncApp? = null
fun isAppForeground(): Boolean = instance?.isForeground() ?: false
}

override fun onCreate() {
super.onCreate()
instance = this
initSentry()
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
override fun onActivityStarted(activity: Activity) {
activityCount++
}
override fun onActivityResumed(activity: Activity) {}
override fun onActivityPaused(activity: Activity) {}
override fun onActivityStopped(activity: Activity) {
activityCount--
}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
override fun onActivityDestroyed(activity: Activity) {}
})
}

private fun isForeground(): Boolean = activityCount > 0

private fun initSentry() {
val dataStoreManager = DataStoreManager.getInstance(this)
val isEnabled = runBlocking { dataStoreManager.getSentryReportingEnabled().first() }
Expand Down
8 changes: 7 additions & 1 deletion app/src/main/java/com/sameerasw/airsync/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,13 @@ class MainActivity : ComponentActivity() {
// Switch to device icon - with null check for OEM device compatibility
try {
splashIcon.setImageResource(deviceIconRes)
Log.d("MainActivity", "Switched to device icon")
// Apply Material You primary color tint
val colorPrimary = androidx.core.content.ContextCompat.getColor(
this@MainActivity,
R.color.material_primary
)
splashIcon.imageTintList = android.content.res.ColorStateList.valueOf(colorPrimary)
Log.d("MainActivity", "Switched to device icon with primary tint")

// Fade in the new device icon
val fadeInIcon =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ fun AirSyncFloatingToolbar(
var expanded by remember { mutableStateOf(true) }

HorizontalFloatingToolbar(
modifier = modifier
.windowInsetsPadding(
androidx.compose.foundation.layout.WindowInsets.navigationBars
),
// modifier = modifier
// .windowInsetsPadding(
// androidx.compose.foundation.layout.WindowInsets.navigationBars
// ),
expanded = expanded,
floatingActionButton = floatingActionButton,
scrollBehavior = scrollBehavior,
Expand Down
Loading