feat(brand): disable upstream self-updater, add attribution and NOTICE
The GitHub release checker would install Hy4ri/hermes-mobile APKs; the About screen now points to https://turkservis.online/indir and credits the original project. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
This commit is contained in:
1 parent
34758975b7
commit
8e48a0fa1e
3 files changed
+66
-16
No files matched your search
@@ -0,0 +1,26 @@
|
||||
AITURK Mobil
|
||||
Copyright 2026 TurkServis
|
||||
|
||||
AITURK Mobil, Hy4ri/hermes-mobile (Apache-2.0) projesinden uyarlanmıştır.
|
||||
AITURK Mobil is adapted from Hy4ri/hermes-mobile (Apache-2.0).
|
||||
|
||||
This product includes software developed by M57 (Hy4ri):
|
||||
Hermes Mobile - https://github.com/Hy4ri/hermes-mobile
|
||||
Copyright (c) 2026 M57 (Hy4ri)
|
||||
Licensed under the Apache License, Version 2.0 (see LICENSE).
|
||||
|
||||
Summary of changes made by TurkServis (Apache-2.0, section 4(b)):
|
||||
- Display name changed to "AITURK Mobil"; user-visible "Hermes" / "Hermes
|
||||
Mobile" texts replaced with AITURK branding in all locales.
|
||||
- applicationId changed to online.turkservis.aiturk.mobil (the Kotlin
|
||||
namespace and source packages remain com.m57.hermescontrol).
|
||||
- Turkish translation added (app/src/main/res/values-tr) and Turkish added
|
||||
to the in-app language picker.
|
||||
- Launcher icon replaced with the AITURK mark.
|
||||
- The in-app GitHub self-updater (Hy4ri/hermes-mobile releases) is switched
|
||||
off; builds are distributed from https://turkservis.online/indir.
|
||||
- About screen shows this attribution; the support card names the original
|
||||
developer.
|
||||
|
||||
AITURK and TurkServis names and the AITURK mark are not covered by the
|
||||
Apache-2.0 license grant of the original project.
|
||||
@@ -37,7 +37,10 @@ object UpdateNoticeManager {
|
||||
* disabled in debug builds (BuildConfig.DEBUG) so daily dev builds never
|
||||
* hit the GitHub API or nag about updates. Tests flip this to true.
|
||||
*/
|
||||
var enabled: Boolean = !BuildConfig.DEBUG
|
||||
// AITURK: off in every build. The upstream checker installs Hy4ri/hermes-mobile
|
||||
// release APKs (different package id and signing key); AITURK Mobil builds are
|
||||
// published at https://turkservis.online/indir.
|
||||
var enabled: Boolean = false
|
||||
internal set
|
||||
|
||||
/** Avoid duplicate foreground checks in one process; a cold launch always rechecks. */
|
||||
|
||||
@@ -24,9 +24,12 @@ import androidx.compose.ui.unit.dp
|
||||
import com.m57.hermescontrol.BuildConfig
|
||||
import com.m57.hermescontrol.R
|
||||
import com.m57.hermescontrol.data.update.AppUpdateState
|
||||
import com.m57.hermescontrol.data.update.UpdateNoticeManager
|
||||
import com.m57.hermescontrol.ui.settings.InfoRow
|
||||
import com.m57.hermescontrol.ui.settings.SectionCard
|
||||
|
||||
private const val AITURK_DOWNLOAD_URL = "https://turkservis.online/indir"
|
||||
|
||||
@Composable
|
||||
internal fun AboutSection(
|
||||
updateState: AppUpdateState = AppUpdateState.Idle,
|
||||
@@ -55,21 +58,31 @@ internal fun AboutSection(
|
||||
label = stringResource(R.string.settings_about_version),
|
||||
value = "v${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})",
|
||||
)
|
||||
UpdateRow(
|
||||
state = updateState,
|
||||
onCheckUpdate = onCheckUpdate,
|
||||
onStartUpdate = onStartUpdate,
|
||||
onOpenInstallSettings = onOpenInstallSettings,
|
||||
)
|
||||
ReleaseCandidateRow(
|
||||
checked = checkReleaseCandidateUpdates,
|
||||
// Mid-download / mid-install the channel must not flip under the
|
||||
// in-flight APK.
|
||||
enabled =
|
||||
updateState !is AppUpdateState.Downloading &&
|
||||
updateState !is AppUpdateState.Installing,
|
||||
onCheckedChange = onCheckReleaseCandidateUpdatesChange,
|
||||
)
|
||||
// AITURK: the upstream GitHub self-updater is switched off
|
||||
// (UpdateNoticeManager.enabled = false); new builds ship from the
|
||||
// AITURK download page instead.
|
||||
if (UpdateNoticeManager.enabled) {
|
||||
UpdateRow(
|
||||
state = updateState,
|
||||
onCheckUpdate = onCheckUpdate,
|
||||
onStartUpdate = onStartUpdate,
|
||||
onOpenInstallSettings = onOpenInstallSettings,
|
||||
)
|
||||
ReleaseCandidateRow(
|
||||
checked = checkReleaseCandidateUpdates,
|
||||
// Mid-download / mid-install the channel must not flip under the
|
||||
// in-flight APK.
|
||||
enabled =
|
||||
updateState !is AppUpdateState.Downloading &&
|
||||
updateState !is AppUpdateState.Installing,
|
||||
onCheckedChange = onCheckReleaseCandidateUpdatesChange,
|
||||
)
|
||||
} else {
|
||||
InfoRow(
|
||||
label = stringResource(R.string.settings_about_download),
|
||||
value = AITURK_DOWNLOAD_URL,
|
||||
)
|
||||
}
|
||||
InfoRow(
|
||||
label = stringResource(R.string.settings_about_build),
|
||||
value =
|
||||
@@ -87,6 +100,14 @@ internal fun AboutSection(
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
Text(
|
||||
text = stringResource(R.string.settings_about_attribution),
|
||||
style =
|
||||
MaterialTheme.typography.bodySmall.copy(
|
||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
),
|
||||
)
|
||||
Spacer(modifier = Modifier.height(4.dp))
|
||||
Text(
|
||||
text = "https://github.com/Hy4ri/hermes-mobile",
|
||||
style =
|
||||
|
||||
Reference in new issue
Block a user