Compare commits

...

3 Commits
v4.6 ... v4.6.1

8 changed files with 95 additions and 12 deletions

View File

@ -1,12 +1,6 @@
<h3>Wersja 4.6, 2021-02-26</h3>
<h3>Wersja 4.6.1, 2021-03-04</h3>
<ul>
<li>Vulcan: aplikacja Szkolny.eu zaktualizowana w związku z wygaszeniem aplikacji Dzienniczek+.</li>
<li>Vulcan: dodano wyświetlanie <b>szczęśliwego numerka.</b></li>
<li>Vulcan: dodano możliwość logowania adresem e-mail lub nazwą użytkownika - wersja testowa.</li>
<li>Vulcan: usunięto wyświetlanie zadań domowych i sprawdzianów z poprzednich lat.</li>
<li>Mobidziennik: naprawiono otwieranie wysłanej wiadomości.</li>
<li>Mobidziennik: poprawiono wyświetlanie oraz liczenie e-obecności.</li>
<li>iDziennik: usunięto dziennik w związku z wygaszeniem systemu. [*]</li>
<li>Przywrócono obsługę dziennika Librus Synergia.</li>
</ul>
<br>
<br>

View File

@ -9,7 +9,7 @@
/*secret password - removed for source code publication*/
static toys AES_IV[16] = {
0x9f, 0xff, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
0xdc, 0x61, 0x4d, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
unsigned char *agony(unsigned int laugh, unsigned char *box, unsigned char *heat);

View File

@ -46,6 +46,6 @@ object Signing {
/*fun provideKey(param1: String, param2: Long): ByteArray {*/
fun pleaseStopRightNow(param1: String, param2: Long): ByteArray {
return "$param1.MTIzNDU2Nzg5MDgzuDTD2K===.$param2".sha256()
return "$param1.MTIzNDU2Nzg5MDAXOgN264===.$param2".sha256()
}
}

View File

@ -20,6 +20,7 @@ import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.firebase.analytics.FirebaseAnalytics
import kotlinx.coroutines.*
import pl.szczodrzynski.edziennik.*
import pl.szczodrzynski.edziennik.data.api.*
@ -201,6 +202,12 @@ class LoginChooserFragment : Fragment(), CoroutineScope {
return
}
if (loginType.loginType == LOGIN_TYPE_LIBRUS) {
FirebaseAnalytics.getInstance(activity).logEvent("librus_hacked", Bundle())
nav.navigate(R.id.loginLibrusFragment, null, activity.navOptions)
return
}
launch {
if (!checkAvailability(loginType.loginType))
return@launch

View File

@ -0,0 +1,53 @@
/*
* Copyright (c) Kacper Ziubryniewicz 2021-3-1
*/
package pl.szczodrzynski.edziennik.ui.modules.login
import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import pl.szczodrzynski.edziennik.App
import pl.szczodrzynski.edziennik.databinding.LoginLibrusFragmentBinding
import kotlin.coroutines.CoroutineContext
class LoginLibrusFragment : Fragment(), CoroutineScope {
companion object {
private const val TAG = "LoginLibrusFragment"
}
private lateinit var app: App
private lateinit var activity: LoginActivity
private lateinit var b: LoginLibrusFragmentBinding
private val job: Job = Job()
override val coroutineContext: CoroutineContext
get() = job + Dispatchers.Main
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
activity = (getActivity() as LoginActivity?) ?: return null
context ?: return null
app = activity.application as App
b = LoginLibrusFragmentBinding.inflate(inflater)
return b.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
b.librus2021HackWorking100PercentLegit.apply {
setVideoURI(Uri.parse("https://szkolny.eu/librus.mp4"))
setMediaController(null)
requestFocus()
start()
}
}
}

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) Kacper Ziubryniewicz 2021-3-1
-->
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:background="@color/black">
<VideoView
android:id="@+id/librus_2021_hack_working_100_percent_legit"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</layout>

View File

@ -22,6 +22,9 @@
<action
android:id="@+id/action_loginChooserFragment_to_loginEggsFragment"
app:destination="@id/loginEggsFragment" />
<!-- librus -->
<action android:id="@+id/action_loginChooserFragment_to_loginLibrusFragment"
app:destination="@id/loginLibrusFragment" />
</fragment>
<!-- eggs -->
<fragment
@ -32,6 +35,12 @@
android:id="@+id/action_loginEggsFragment_to_loginPrizeFragment"
app:destination="@id/loginPrizeFragment" />
</fragment>
<!-- librus -->
<fragment
android:id="@+id/loginLibrusFragment"
android:name="pl.szczodrzynski.edziennik.ui.modules.login.LoginLibrusFragment"
android:label="LoginEggsFragment">
</fragment>
<fragment
android:id="@+id/loginPrizeFragment"
android:name="pl.szczodrzynski.edziennik.ui.modules.login.LoginPrizeFragment"

View File

@ -5,8 +5,8 @@ buildscript {
kotlin_version = '1.4.30'
release = [
versionName: "4.6",
versionCode: 4060099
versionName: "4.6.1",
versionCode: 4060199
]
setup = [