diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/utils/managers/BuildManager.kt b/app/src/main/java/pl/szczodrzynski/edziennik/utils/managers/BuildManager.kt
index be0d790a..6c835066 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/utils/managers/BuildManager.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/utils/managers/BuildManager.kt
@@ -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) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1a858e44..c542860e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1403,9 +1403,9 @@
Trwa weryfikowanie kompilacji…
Nie znaleziono odniesienia do repozytorium zdalnego. Upewnij się, że korzystasz z fork\'a oficjalnego repozytorium oraz zweryfikuj konfigurację Gradle.
Nie znaleziono wartości skrótu aktualnej rewizji. Sprawdź konfigurację Gradle.
- 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.
+ 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.
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
- 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.
+ 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.
Korzystasz z kompilacji typu \"debug\". Ta informacja zostanie wyświetlona tylko jeden raz dla aktualnego urządzenia.
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.
Informacja dotycząca wersji aplikacji