@@ -24,6 +24,7 @@ import androidx.compose.material3.Text
2424import androidx.compose.runtime.Composable
2525import androidx.compose.ui.Modifier
2626import androidx.compose.ui.draw.clip
27+ import androidx.compose.ui.graphics.Color
2728import androidx.compose.ui.platform.ComposeView
2829import androidx.compose.ui.platform.ViewCompositionStrategy
2930import androidx.compose.ui.text.font.FontWeight
@@ -36,7 +37,6 @@ import androidx.lifecycle.setViewTreeViewModelStoreOwner
3637import androidx.savedstate.setViewTreeSavedStateRegistryOwner
3738import com.joebuildsthings.gamedeck.ui.theme.AccentRed
3839import com.joebuildsthings.gamedeck.ui.theme.AccentRedBright
39- import com.joebuildsthings.gamedeck.ui.theme.AccentRedDim
4040import com.joebuildsthings.gamedeck.ui.theme.GameDeckTheme
4141
4242class OverlayService : Service () {
@@ -132,26 +132,21 @@ class OverlayService : Service() {
132132 }
133133 layoutParams = params
134134
135- // 1. Create the lifecycle owner for our overlay
136135 val owner = OverlayLifecycleOwner ()
137136 lifecycleOwner = owner
138137
139- // 2. Create the ComposeView
140138 val composeView = ComposeView (this ).apply {
141139 setViewCompositionStrategy(ViewCompositionStrategy .DisposeOnDetachedFromWindow )
142- setContent { GameDeckTheme { Pill () } }
140+ setContent { GameDeckTheme { GlassPill () } }
143141 }
144142
145- // 3. Create a plain View wrapper (FrameLayout) that will be the window's root
146143 val wrapper = TouchInterceptor (this ).apply {
147- // 4. IMPORTANT: Attach the lifecycle owners to the WRAPPER, not the ComposeView
148144 setViewTreeLifecycleOwner(owner)
149145 setViewTreeViewModelStoreOwner(owner)
150146 setViewTreeSavedStateRegistryOwner(owner)
151147 addView(composeView)
152148 }
153149
154- // 5. Set touch listener on the wrapper for dragging
155150 var initialX = 0
156151 var initialY = 0
157152 var touchX = 0f
@@ -176,7 +171,6 @@ class OverlayService : Service() {
176171 }
177172
178173 owner.start()
179- // 6. Add the WRAPPER to the WindowManager
180174 windowManager?.addView(wrapper, params)
181175 overlayView = wrapper
182176 }
@@ -190,18 +184,18 @@ class OverlayService : Service() {
190184}
191185
192186@Composable
193- private fun Pill () {
187+ private fun GlassPill () {
194188 Box (
195189 Modifier
196- .clip(RoundedCornerShape (20 .dp ))
197- .background(AccentRedDim )
198- .border(1 .dp, AccentRed , RoundedCornerShape (20 .dp ))
199- .padding(horizontal = 14 .dp, vertical = 7 .dp)
190+ .clip(RoundedCornerShape (50 ))
191+ .background(Color ( 0x33FFFFFF ) )
192+ .border(1 .dp, Color ( 0x55FFFFFF ) , RoundedCornerShape (50 ))
193+ .padding(horizontal = 18 .dp, vertical = 10 .dp)
200194 ) {
201195 Text (
202- " -- FPS" ,
203- color = AccentRedBright ,
204- fontSize = 12 .sp,
196+ " 60 FPS" ,
197+ color = Color . White ,
198+ fontSize = 13 .sp,
205199 fontWeight = FontWeight .SemiBold ,
206200 letterSpacing = 1 .sp
207201 )
0 commit comments