mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-03 03:17:21 +00:00
feat(settings): custom URL now overrides the online-update default source
The "Custom URL" dialog's two URL fields now control the default source used by the online update, per the user's intent (one-time setup, no extra steps per update): - Defaults are real URLs now: TLE = Celestrak "All" (active group CSV), transceivers = SatNOGS API. The example.com placeholders are gone. - updateFromRemote(): the "All" TLE entry and the "SatNOGS" entry are replaced by the user's URLs when the corresponding custom toggle is ON and the URL is non-blank; otherwise the real defaults are used. The old "Other" appended-source logic is removed - the toggle now means "use my URL for this source" instead of "download an extra source". Each source (TLE / transceivers) is independent. - Each URL field gained a reset (loop) icon button on the right that restores the default URL text (new ic_reset drawable, Autorenew vector). Strings added in en/zh/tr. Test updated: custom TLE URL data now lands under the "All" type instead of "Other". Verified: core:data tests pass, settings + app compile. Version stays 4.4.8 (覆盖 per user).
This commit is contained in:
1 parent
59d6e2ae05
commit
8d88100b15
8 files changed
+47
-5
No files matched your search
+20
@@ -30,6 +30,8 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.FilterChip
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.OutlinedTextField
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.material3.Text
|
||||
@@ -41,11 +43,13 @@ import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.rtbishop.look4sat.core.domain.model.RCSettings
|
||||
import com.rtbishop.look4sat.core.domain.source.Sources
|
||||
import com.rtbishop.look4sat.core.domain.model.RadioControlSettings
|
||||
import com.rtbishop.look4sat.core.presentation.CardButton
|
||||
import com.rtbishop.look4sat.core.presentation.LocalSpacing
|
||||
@@ -203,6 +207,14 @@ fun DataSourcesDialog(
|
||||
singleLine = true,
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
enabled = isEnabledCustomTle.value,
|
||||
trailingIcon = {
|
||||
IconButton(onClick = { urlTle.value = Sources.defaultTleUrl }) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_reset),
|
||||
contentDescription = stringResource(id = R.string.prefs_data_reset_url)
|
||||
)
|
||||
}
|
||||
},
|
||||
)
|
||||
Spacer(modifier = Modifier.height(6.dp))
|
||||
Row(
|
||||
@@ -232,6 +244,14 @@ fun DataSourcesDialog(
|
||||
singleLine = true,
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
enabled = isEnabledCustomTransceivers.value,
|
||||
trailingIcon = {
|
||||
IconButton(onClick = { urlTransceivers.value = Sources.defaultTransceiversUrl }) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_reset),
|
||||
contentDescription = stringResource(id = R.string.prefs_data_reset_url)
|
||||
)
|
||||
}
|
||||
},
|
||||
)
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user