Skip to content

Commit d769550

Browse files
authored
Merge pull request #94 from sameerasw/develop
Develop - new device icons, Improved device mapper, Floating player, Some fixes
2 parents 52ba795 + 3e9941e commit d769550

36 files changed

Lines changed: 1183 additions & 431 deletions

app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ android {
1717
applicationId = "com.sameerasw.airsync"
1818
minSdk = 30
1919
targetSdk = 36
20-
versionCode = 25
20+
versionCode = 26
2121
versionName = "3.0.0"
2222

2323
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

app/src/main/java/com/sameerasw/airsync/AirSyncApp.kt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,42 @@
11
package com.sameerasw.airsync
22

3+
import android.app.Activity
34
import android.app.Application
5+
import android.os.Bundle
46
import com.sameerasw.airsync.data.local.DataStoreManager
57
import io.sentry.android.core.SentryAndroid
68
import kotlinx.coroutines.flow.first
79
import kotlinx.coroutines.runBlocking
810

911
class AirSyncApp : Application() {
12+
private var activityCount = 0
13+
14+
companion object {
15+
private var instance: AirSyncApp? = null
16+
fun isAppForeground(): Boolean = instance?.isForeground() ?: false
17+
}
18+
1019
override fun onCreate() {
1120
super.onCreate()
21+
instance = this
1222
initSentry()
23+
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
24+
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
25+
override fun onActivityStarted(activity: Activity) {
26+
activityCount++
27+
}
28+
override fun onActivityResumed(activity: Activity) {}
29+
override fun onActivityPaused(activity: Activity) {}
30+
override fun onActivityStopped(activity: Activity) {
31+
activityCount--
32+
}
33+
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
34+
override fun onActivityDestroyed(activity: Activity) {}
35+
})
1336
}
1437

38+
private fun isForeground(): Boolean = activityCount > 0
39+
1540
private fun initSentry() {
1641
val dataStoreManager = DataStoreManager.getInstance(this)
1742
val isEnabled = runBlocking { dataStoreManager.getSentryReportingEnabled().first() }

app/src/main/java/com/sameerasw/airsync/MainActivity.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,13 @@ class MainActivity : ComponentActivity() {
228228
// Switch to device icon - with null check for OEM device compatibility
229229
try {
230230
splashIcon.setImageResource(deviceIconRes)
231-
Log.d("MainActivity", "Switched to device icon")
231+
// Apply Material You primary color tint
232+
val colorPrimary = androidx.core.content.ContextCompat.getColor(
233+
this@MainActivity,
234+
R.color.material_primary
235+
)
236+
splashIcon.imageTintList = android.content.res.ColorStateList.valueOf(colorPrimary)
237+
Log.d("MainActivity", "Switched to device icon with primary tint")
232238

233239
// Fade in the new device icon
234240
val fadeInIcon =

app/src/main/java/com/sameerasw/airsync/presentation/ui/components/AirSyncFloatingToolbar.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ fun AirSyncFloatingToolbar(
4848
var expanded by remember { mutableStateOf(true) }
4949

5050
HorizontalFloatingToolbar(
51-
modifier = modifier
52-
.windowInsetsPadding(
53-
androidx.compose.foundation.layout.WindowInsets.navigationBars
54-
),
51+
// modifier = modifier
52+
// .windowInsetsPadding(
53+
// androidx.compose.foundation.layout.WindowInsets.navigationBars
54+
// ),
5555
expanded = expanded,
5656
floatingActionButton = floatingActionButton,
5757
scrollBehavior = scrollBehavior,

0 commit comments

Comments
 (0)