mirror of
https://github.com/szkolny-eu/szkolny-android.git
synced 2025-01-18 12:56:45 -06:00
[App] Add remote repository validation.
This commit is contained in:
parent
6824960731
commit
abcd6916b3
@ -8,6 +8,7 @@ import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import kotlinx.coroutines.*
|
||||
import okhttp3.Request
|
||||
import pl.szczodrzynski.edziennik.*
|
||||
import pl.szczodrzynski.edziennik.data.api.szkolny.interceptor.Signing
|
||||
import pl.szczodrzynski.edziennik.ui.modules.base.BuildInvalidActivity
|
||||
@ -121,7 +122,34 @@ class BuildManager(val app: App) : CoroutineScope {
|
||||
repo: String,
|
||||
commitHash: String
|
||||
) = withContext(Dispatchers.IO) {
|
||||
true
|
||||
val request = Request.Builder()
|
||||
.url("https://api.github.com/repos/$repo/git/commits/$commitHash")
|
||||
.header("Accept", "application/vnd.github.v3+json")
|
||||
.build()
|
||||
|
||||
val call = app.http.newCall(request)
|
||||
|
||||
val response = runCatching {
|
||||
call.execute()
|
||||
}.getOrNull() ?: return@withContext false
|
||||
|
||||
if (response.code() != 200)
|
||||
return@withContext false
|
||||
|
||||
val json = runCatching {
|
||||
response.body()?.string()?.toJsonObject()
|
||||
}.getOrNull() ?: return@withContext false
|
||||
|
||||
val sha = json.getString("sha")
|
||||
if (sha != commitHash)
|
||||
return@withContext false
|
||||
|
||||
val author = json.getJsonObject("author") ?: return@withContext false
|
||||
val name = author.getString("name")
|
||||
val email = author.getString("email")
|
||||
gitAuthor = "$name <$email>"
|
||||
|
||||
return@withContext true
|
||||
}
|
||||
|
||||
fun validateBuild(activity: AppCompatActivity) {
|
||||
|
@ -1403,9 +1403,9 @@
|
||||
<string name="build_validate_progress">Trwa weryfikowanie kompilacji…</string>
|
||||
<string name="build_invalid_no_remote_repo">Nie znaleziono odniesienia do repozytorium zdalnego. Upewnij się, że korzystasz z fork\'a oficjalnego repozytorium oraz zweryfikuj konfigurację Gradle.</string>
|
||||
<string name="build_invalid_no_commit_hash">Nie znaleziono wartości skrótu aktualnej rewizji. Sprawdź konfigurację Gradle.</string>
|
||||
<string name="build_invalid_remote_no_commit">Posiadasz kompilację aplikacji zawierającą nieopublikowane zmiany. Kompilacja znajduje się w repozytorium %1$s (%2$s), które jest prywatne lub nie zawiera najnowszych zmian.\n\nDla bezpieczeństwa oraz ze względów zgodności z licencją, korzystanie z aplikacji zostało zablokowane.</string>
|
||||
<string name="build_invalid_remote_no_commit">Posiadasz kompilację aplikacji zawierającą nieopublikowane zmiany. Kompilacja znajduje się w repozytorium:\n%1$s (%2$s)\nktóre jest prywatne lub nie zawiera najnowszych zmian.\n\nDla bezpieczeństwa oraz ze względów zgodności z licencją, korzystanie z aplikacji zostało zablokowane.</string>
|
||||
<string name="build_invalid_official_unsigned">Nie możesz modyfikować tego rodzaju kompilacji aplikacji Szkolny.eu.\n\nAby wprowadzić własne zmiany, skorzystaj z kodu źródłowego dostępnego na GitHubie oraz zapoznaj się z README i informacją o licencji.\n\nhttps://szkolny.eu/github/android</string>
|
||||
<string name="build_invalid_unstaged_changes">Ta kompilacja zawiera zmiany niezatwierdzone do żadnej rewizji. Zapisz oraz opublikuj wszystkie zmiany przed wydaniem wersji release.\n\nDla bezpieczeństwa oraz ze względów zgodności z licencją, korzystanie z aplikacji zostało zablokowane.</string>
|
||||
<string name="build_invalid_unstaged_changes">Ta kompilacja zawiera zmiany niezatwierdzone do żadnej rewizji. Zapisz oraz opublikuj wszystkie zmiany przed wydaniem wersji \"release\".\n\nDla bezpieczeństwa oraz ze względów zgodności z licencją, korzystanie z aplikacji zostało zablokowane.</string>
|
||||
<string name="build_invalid_debug">Korzystasz z kompilacji typu \"debug\". Ta informacja zostanie wyświetlona tylko jeden raz dla aktualnego urządzenia.</string>
|
||||
<string name="build_valid_unofficial">Korzystasz z nieoficjalnej kompilacji aplikacji Szkolny.eu. Zalecamy używanie wyłącznie oficjalnych wersji aplikacji.\n\nOstatnie zmiany w tej wersji zostały wprowadzone przez %3$s w repozytorium %2$s (%1$s).\n\nTo okno nie wyświetli się ponownie.</string>
|
||||
<string name="build_invalid_title">Informacja dotycząca wersji aplikacji</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user