mckero e0405b541f fix(cw): prevent double AudioRecord when toggling capture
CwDecodeScreen 的 LaunchedEffect 原先用内层 launch{} 启动音频采集。
isListening 在权限授予后由 false->true->(授予回调再次置 true), 加上
LaunchedEffect(isListening, permissionGranted) 的双 key 重启, 会造成
前一个 audioFlow().collect 尚未取消、新的又启动 —— 两个 AudioRecord
同时录音, 内存翻倍、音频混叠, 是低内存机 OOM 崩溃的实锤级嫌疑。

改为在 LaunchedEffect 协程体内直接 collect (取消时随父协程及时停止),
并保持 (isListening, permissionGranted) 双 key 以正确处理权限授予后
需要重启采集的情形。

同时清理不再使用的 kotlinx.coroutines.launch import。

验证: :feature:cw:compileDebugKotlin => BUILD SUCCESSFUL
2026-08-13 03:16:36 +00:00

Look4Sat: Satellite tracker

Look4Sat CI

Get it on Google Play Get it on F-Droid

Radio satellite tracker and pass predictor for Android, inspired by Gpredict

Track satellite passes with ease!

Thanks to Celestrak and SatNOGS you have access to over 9000 active satellites.
You can search the entire database by NORAD Catalog Number or the satellite's name.

Orbital positions and passes are calculated relative to your location.
To get reliable data make sure to set the station position via the app Settings.

The application is built using Kotlin, Coroutines, Jetpack Compose and Navigation.
It is now and always will be completely ad-free and open-source.

Main features:

  • Predicting satellite positions and passes for up to 10 days
  • Showing the list of currently active and upcoming satellite passes
  • Showing the active pass progress, polar trajectory and transceivers info
  • Showing the satellite positional data, footprint and ground track on the map
  • Custom TLE satellite data import is available via Three Line Element .txt files
  • Offline first: calculations are made offline. Weekly TLE data update is recommended.

Star History

Star History Chart
S
Description
Satellite tracker and pass predictor for Android, inspired by Gpredict
https://play.google.com/store/apps/details?id=com.rtbishop.look4sat
Readme AGPL-3.0
55 MiB
0 Stars 1 Watchers 0 Forks
v4.6.2
Latest
2026-08-27 15:47:20 +00:00
Languages
Kotlin 100%