Add overlay permission check - All static methods check the canDrawOverlays permission before starting the service
#21 @ohjables
Fixed floating window initialization flashing - set alpha=0f and visibility=GONE when initializing
Fix WakeWordArbiter port binding error - use reuseAddress to prevent EADDRINUSE
Fix ClientConnection resource leak - explicitly turn off bufferedReader and outputStream
Removed card header status text and waveform icons - Removed capsuleStatusView, statusDotView, and WaveIconView #22 @zaiahgaming
Reconstructed floating state labels - changed from a standalone view to an internal drawing of an EsperSphereView, automatically following the position of the sphere
Optimized text card layout - Fits snugly at the bottom of the screen, with a maximum height of 20%, dynamically adapting to the navigation bar
Remove redundant BLE logs - Remove frequent broadcast logs from VoiceSatellite Bluetooth