Revert "feat(nav): 4.5.6 AMSAT to bottom bar, Radar to More menu, tablet rail"
This reverts commit d8e1ee3266.
This commit is contained in:
1 parent
d8e1ee3266
commit
4c62b2dfb2
9 files changed
+34
-41
No files matched your search
@@ -149,14 +149,10 @@ fun MainScreen(navigateToRadar: () -> Unit = {}) {
|
||||
val trackingState by container.radioTrackingService.state.collectAsStateWithLifecycle()
|
||||
val otherSettings by container.settingsRepo.otherSettings.collectAsStateWithLifecycle()
|
||||
// UI settings: sort by screenOrder (empty = default order), then filter by hiddenScreens (Settings always kept)
|
||||
|
||||
val screenOrder = if (otherSettings.screenOrder.isEmpty()) emptyList()
|
||||
else otherSettings.screenOrder.filter { it != "Radar" }
|
||||
.let { list -> if ("AMSAT" in list) list else list + "AMSAT" }
|
||||
val allNavItems = listOf(Screen.Satellites, Screen.Passes, Screen.Radar, Screen.Mutual, Screen.Roaming, Screen.CwDecode, Screen.WavelogLog, Screen.AmSat, Screen.Map, Screen.Settings)
|
||||
.sortedBy { screen ->
|
||||
// Unknown pages (e.g. CwDecode not in old persisted order): use default-order position (Roaming<->Map), then fall back to last
|
||||
val idx = screenOrder.indexOf(screen.screenId)
|
||||
val idx = otherSettings.screenOrder.indexOf(screen.screenId)
|
||||
if (idx != -1) idx
|
||||
else com.rtbishop.look4sat.core.presentation.defaultScreenOrder.indexOf(screen.screenId).let {
|
||||
if (it != -1) it else Int.MAX_VALUE
|
||||
@@ -164,12 +160,10 @@ fun MainScreen(navigateToRadar: () -> Unit = {}) {
|
||||
}
|
||||
.filter { it.screenId !in otherSettings.hiddenScreens || it is Screen.Settings }
|
||||
// 4.5.1 foldable menu: main menu (5 bottom-bar slots) + More menu (overflow page)
|
||||
// 4.5.6 migration: Radar moved to the More menu, AMSAT promoted to the main menu
|
||||
// Legacy migration: persisted subMenuOrder lacks new pages (WavelogLog) -> append to the sub-menu tail
|
||||
val subOrder = (otherSettings.subMenuOrder.ifEmpty { com.rtbishop.look4sat.core.presentation.defaultSubMenuOrder })
|
||||
.filter { it != "AMSAT" }
|
||||
.let { list -> if ("WavelogLog" in list) list else list + "WavelogLog" }
|
||||
.let { list -> if ("Radar" in list) list else list + "Radar" }
|
||||
.let { list -> if ("AMSAT" in list) list else list + "AMSAT" }
|
||||
val mainNavItems = remember(allNavItems, subOrder) {
|
||||
allNavItems.filter { it.screenId !in subOrder }.take(5)
|
||||
}
|
||||
@@ -237,8 +231,8 @@ fun MainScreen(navigateToRadar: () -> Unit = {}) {
|
||||
navigationRailContainerColor = MaterialTheme.colorScheme.surfaceContainer
|
||||
),
|
||||
layoutType = when {
|
||||
hasEnoughWidth() -> NavigationSuiteType.NavigationRail
|
||||
!hasEnoughHeight() -> NavigationSuiteType.ShortNavigationBarCompact
|
||||
!hasEnoughHeight() && hasEnoughWidth() -> NavigationSuiteType.NavigationRail
|
||||
!hasEnoughWidth() -> NavigationSuiteType.ShortNavigationBarCompact
|
||||
else -> NavigationSuiteType.ShortNavigationBarMedium
|
||||
}
|
||||
) {
|
||||
|
||||
+3
-3
@@ -48,17 +48,17 @@ sealed class Screen(val iconResId: Int, val titleResId: Int, val screenId: Strin
|
||||
data object WavelogLog : Screen(R.drawable.ic_log, R.string.nav_log, "WavelogLog")
|
||||
|
||||
@Serializable
|
||||
data object AmSat : Screen(R.drawable.ic_satellite_alt, R.string.nav_amsat, "AMSAT")
|
||||
data object AmSat : Screen(R.drawable.ic_satellites, R.string.nav_amsat, "AMSAT")
|
||||
|
||||
@Serializable
|
||||
data object Settings : Screen(R.drawable.ic_settings, R.string.nav_prefs, "Settings")
|
||||
}
|
||||
|
||||
// UI settings: default main-menu page order (5 bottom-bar slots)
|
||||
val defaultScreenOrder = listOf("Satellites", "Passes", "AMSAT", "Map", "Settings")
|
||||
val defaultScreenOrder = listOf("Satellites", "Passes", "Radar", "Map", "Settings")
|
||||
|
||||
// UI settings: default More-menu order (pages behind "More")
|
||||
val defaultSubMenuOrder = listOf("Mutual", "Radar", "Roaming", "CwDecode", "WavelogLog")
|
||||
val defaultSubMenuOrder = listOf("Mutual", "Roaming", "CwDecode", "WavelogLog", "AMSAT")
|
||||
|
||||
@Serializable
|
||||
data object RadarDestination : NavKey
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- MDI satellite-variant (Material Design Icons, Apache 2.0, https://pictogrammers.com) -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M11.62,1L17.28,6.67L15.16,8.79L13.04,6.67L11.62,8.09L13.95,10.41L12.79,11.58L13.24,12.04C14.17,11.61 15.31,11.77 16.07,12.54L12.54,16.07C11.77,15.31 11.61,14.17 12.04,13.24L11.58,12.79L10.41,13.95L8.09,11.62L6.67,13.04L8.79,15.16L6.67,17.28L1,11.62L3.14,9.5L5.26,11.62L6.67,10.21L3.84,7.38C3.06,6.6 3.06,5.33 3.84,4.55L4.55,3.84C5.33,3.06 6.6,3.06 7.38,3.84L10.21,6.67L11.62,5.26L9.5,3.14L11.62,1M18,14A4,4 0 0,0 14,18A4,4 0 0,0 18,22A4,4 0 0,0 22,18A4,4 0 0,0 18,14M18,20A2,2 0 0,1 16,18A2,2 0 0,1 18,16A2,2 0 0,1 20,18A2,2 0 0,1 18,20M4.27,10.5L6.09,12.32C6.45,11.91 6.85,11.53 7.28,11.17L5.45,9.34L4.27,10.5M8.5,14.73L10.32,16.55C10.73,16.2 11.1,15.8 11.46,15.37L9.64,13.55L8.5,14.73M2.39,2.39L1,3.77L3.08,5.85C2.2,6.7 1.66,7.87 1.66,9.17L4.37,9.21C4.37,8.67 4.57,8.17 4.91,7.77L5.82,8.68L7.39,7.11L4.17,3.89C4.03,3.75 3.86,3.69 3.69,3.69C3.5,3.69 3.3,3.75 3.14,3.89L2.39,2.39M14,2.78C14,2.78 12.95,2.78 12.95,2.78V4.9H14V2.78M14,6.31H12.95V8.55H14V6.31M14,9.85H12.95V11.2H14V9.85Z" />
|
||||
</vector>
|
||||
@@ -93,9 +93,11 @@
|
||||
\n\nPerbarui database setidaknya seminggu sekali untuk prediksi yang akurat.</string>
|
||||
<string name="pass_whatsnew_title" translatable="false">Apa yang baru di Look4Sat</string>
|
||||
<string name="pass_whatsnew_message" translatable="false">
|
||||
* Navigasi: AMSAT dipindahkan ke bilah bawah, Radar dipindahkan ke menu Lainnya (maks 5 tujuan utama)
|
||||
* Layar lebar / tablet: rel navigasi samping, bukan bilah bawah (strip kosong bawah dihilangkan)
|
||||
* Ikon tab AMSAT baru (MDI satellite-variant, Apache 2.0)
|
||||
* BARU: Status satelit AMSAT kini menggunakan API resmi AMSAT (v1 JSON, lebih cepat dan andal)
|
||||
* Halaman status AMSAT kini mendukung layar penuh (tombol refresh dan waktu selalu dapat diakses)
|
||||
* WaveLog: pencarian grid lawan QRZ (dialog ⚙ tempel Cookie + uji query)
|
||||
* WaveLog: tombol perbarui daftar satelit LoTW (112 satelit bawaan)
|
||||
* WaveLog: laporan sinyal RST 59/59 untuk QSO (v1 dan v2)
|
||||
</string>
|
||||
<string name="radar_back">Kembali</string>
|
||||
<string name="radar_notify">Beri tahu</string>
|
||||
|
||||
@@ -92,9 +92,11 @@
|
||||
\n\nPerbarui database setidaknya seminggu sekali untuk prediksi yang akurat.</string>
|
||||
<string name="pass_whatsnew_title" translatable="false">Apa yang baru di Look4Sat</string>
|
||||
<string name="pass_whatsnew_message" translatable="false">
|
||||
* Navigasi: AMSAT dipindahkan ke bilah bawah, Radar dipindahkan ke menu Lainnya (maks 5 tujuan utama)
|
||||
* Layar lebar / tablet: rel navigasi samping, bukan bilah bawah (strip kosong bawah dihilangkan)
|
||||
* Ikon tab AMSAT baru (MDI satellite-variant, Apache 2.0)
|
||||
* BARU: Status satelit AMSAT kini menggunakan API resmi AMSAT (v1 JSON, lebih cepat dan andal)
|
||||
* Halaman status AMSAT kini mendukung layar penuh (tombol refresh dan waktu selalu dapat diakses)
|
||||
* WaveLog: pencarian grid lawan QRZ (dialog ⚙ tempel Cookie + uji query)
|
||||
* WaveLog: tombol perbarui daftar satelit LoTW (112 satelit bawaan)
|
||||
* WaveLog: laporan sinyal RST 59/59 untuk QSO (v1 dan v2)
|
||||
</string>
|
||||
<string name="radar_back">Kembali</string>
|
||||
<string name="radar_notify">Beri tahu</string>
|
||||
|
||||
@@ -97,9 +97,11 @@
|
||||
\n\nDoğru tahminler alabilmek için veritabanını en az haftada bir güncelleyin.</string>
|
||||
<string name="pass_whatsnew_title" translatable="false">What\'s new in Look4Sat</string>
|
||||
<string name="pass_whatsnew_message" translatable="false">
|
||||
* Gezinme: AMSAT alt çubuğa taşındı, Radar Daha Fazla menüsüne taşındı (en fazla 5 ana hedef)
|
||||
* Geniş ekran / tablet: alt çubuk yerine yan gezinme rayı (alttaki boş şerit kaldırıldı)
|
||||
* Yeni AMSAT sekme simgesi (MDI satellite-variant, Apache 2.0)
|
||||
* YENİ: AMSAT uydu durumu resmi AMSAT API kullanıyor (v1 JSON, daha hızlı ve güvenilir)
|
||||
* AMSAT durum sayfası tam ekran cihazlara uyumlu (yenileme düğmesi ve saat her zaman erişilebilir)
|
||||
* WaveLog: QRZ karşı grid sorgulama (⚙ diyalogda Cookie yapıştır + test sorgusu)
|
||||
* WaveLog: LoTW uydu listesi güncelleme düğmesi (112 uydu yerleşik)
|
||||
* WaveLog: RST 59/59 sinyal raporu (v1 ve v2)
|
||||
</string>
|
||||
|
||||
<!-- Radar screen -->
|
||||
|
||||
@@ -87,9 +87,11 @@
|
||||
<string name="pass_welcome_message">请务必在设置中通过GPS、经纬度或QTH定位您的位置\n建议至少每周更新一次数据库,以确保预测结果的准确性</string>
|
||||
<string name="pass_whatsnew_title">Look4Sat Pro 更新内容</string>
|
||||
<string name="pass_whatsnew_message" translatable="false">
|
||||
* 导航: AMSAT 移到底部栏,雷达移到更多菜单(主目的地最多 5 个)
|
||||
* 宽屏/平板: 改为侧边导航栏(不再有底部空白条)
|
||||
* AMSAT 标签新图标(MDI satellite-variant,Apache 2.0)
|
||||
* 新: AMSAT 卫星状态改用官方 AMSAT API(v1 JSON,更快更稳)
|
||||
* AMSAT 状态页适配全面屏(刷新按钮和更新时间始终可点)
|
||||
* WaveLog: QRZ 对方网格查询(⚙ 弹窗粘贴 Cookie + 测试查询)
|
||||
* WaveLog: LoTW 卫星列表更新按钮(内置 112 颗卫星)
|
||||
* WaveLog: 信号报告 59/59(v1 和 v2)
|
||||
</string>
|
||||
|
||||
<!-- Radar screen -->
|
||||
|
||||
@@ -99,9 +99,11 @@
|
||||
\n\nPlease update the database at least weekly to get accurate predictions.</string>
|
||||
<string name="pass_whatsnew_title" translatable="false">What\'s new in Look4Sat</string>
|
||||
<string name="pass_whatsnew_message" translatable="false">
|
||||
* Navigation: AMSAT moved to the bottom bar, Radar moved to the More menu (5 primary destinations max)
|
||||
* Wide screens / tablets: side navigation rail instead of the bottom bar (no more wasted bottom strip)
|
||||
* New AMSAT tab icon (MDI satellite-variant, Apache 2.0)
|
||||
* NEW: AMSAT satellite status now uses the official AMSAT API (v1 JSON, faster and more reliable)
|
||||
* AMSAT status page fits edge-to-edge screens (refresh button and update time always reachable)
|
||||
* WaveLog: QRZ counterpart grid lookup (gear dialog > paste QRZ cookies > test query)
|
||||
* WaveLog: LoTW satellite list refresh button (112 satellites built in)
|
||||
* WaveLog: RST 59/59 signal reports for QSOs (v1 and v2)
|
||||
</string>
|
||||
|
||||
<!-- Radar screen -->
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[versions]
|
||||
#noinspection UnusedVersionCatalogEntry
|
||||
appVersionCode = "457"
|
||||
appVersionCode = "456"
|
||||
#noinspection UnusedVersionCatalogEntry
|
||||
appVersionName = "4.5.6"
|
||||
appVersionName = "4.5.5"
|
||||
#noinspection UnusedVersionCatalogEntry
|
||||
compileSdk = "37"
|
||||
#noinspection UnusedVersionCatalogEntry
|
||||
|
||||
Reference in new issue
Block a user