forked from github/szkolny
Merge branch 'develop'
This commit is contained in:
commit
6b75715e87
@ -64,6 +64,6 @@
|
||||
|
||||
-keep class pl.szczodrzynski.edziennik.data.api.szkolny.interceptor.Signing { public final byte[] pleaseStopRightNow(java.lang.String, long); }
|
||||
|
||||
-keepclassmembernames class pl.szczodrzynski.edziennik.data.api.szkolny.request.** { *; }
|
||||
-keepclassmembernames class pl.szczodrzynski.edziennik.data.api.szkolny.response.** { *; }
|
||||
-keepclassmembers class pl.szczodrzynski.edziennik.data.api.szkolny.request.** { *; }
|
||||
-keepclassmembers class pl.szczodrzynski.edziennik.data.api.szkolny.response.** { *; }
|
||||
-keepclassmembernames class pl.szczodrzynski.edziennik.ui.modules.login.LoginInfo.Platform { *; }
|
||||
|
@ -1,8 +1,9 @@
|
||||
<h3>Wersja 4.4.1, 2020-09-03</h3>
|
||||
<h3>Wersja 4.4.2, 2020-09-05</h3>
|
||||
<ul>
|
||||
<li>Poprawione komunikaty o aktualizacjach aplikacji.</li>
|
||||
<li>Mobidziennik: poprawione wyświetlanie przedmiotu w planie lekcji.</li>
|
||||
<li>Mobidziennik: naprawiony moduł frekwencji.</li>
|
||||
<li>Naprawione zatrzymanie aplikacji na ekranie logowania.</li>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
/*secret password - removed for source code publication*/
|
||||
static toys AES_IV[16] = {
|
||||
0x72, 0x4b, 0x61, 0x3a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||
0x1a, 0xcd, 0xf0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||
|
||||
unsigned char *agony(unsigned int laugh, unsigned char *box, unsigned char *heat);
|
||||
|
||||
|
@ -647,7 +647,7 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
|
||||
|
||||
app.profile.registerName?.let { registerName ->
|
||||
var status = app.config.sync.registerAvailability[registerName]
|
||||
if (status == null || status.nextCheck < currentTimeUnix()) {
|
||||
if (status == null || status.nextCheckAt < currentTimeUnix()) {
|
||||
withContext(Dispatchers.IO) {
|
||||
val api = SzkolnyApi(app)
|
||||
api.runCatching(this@MainActivity) {
|
||||
|
@ -93,7 +93,7 @@ open class EdziennikTask(override val profileId: Int, val request: Any) : IApiTa
|
||||
|
||||
profile.registerName?.let { registerName ->
|
||||
var status = app.config.sync.registerAvailability[registerName]
|
||||
if (status == null || status.nextCheck < currentTimeUnix()) {
|
||||
if (status == null || status.nextCheckAt < currentTimeUnix()) {
|
||||
val api = SzkolnyApi(app)
|
||||
api.runCatching({
|
||||
val availability = getRegisterAvailability()
|
||||
|
@ -46,6 +46,6 @@ object Signing {
|
||||
|
||||
/*fun provideKey(param1: String, param2: Long): ByteArray {*/
|
||||
fun pleaseStopRightNow(param1: String, param2: Long): ByteArray {
|
||||
return "$param1.MTIzNDU2Nzg5MDv1BTei5k===.$param2".sha256()
|
||||
return "$param1.MTIzNDU2Nzg5MDx45DzIF8===.$param2".sha256()
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,8 @@ import pl.szczodrzynski.edziennik.currentTimeUnix
|
||||
data class RegisterAvailabilityStatus(
|
||||
val available: Boolean,
|
||||
val name: String?,
|
||||
val message: Message?,
|
||||
val nextCheck: Long = currentTimeUnix() + 7 * DAY,
|
||||
val userMessage: Message?,
|
||||
val nextCheckAt: Long = currentTimeUnix() + 7 * DAY,
|
||||
val minVersionCode: Int = BuildConfig.VERSION_CODE
|
||||
) {
|
||||
data class Message(
|
||||
|
@ -47,14 +47,14 @@ class RegisterUnavailableDialog(
|
||||
onShowListener?.invoke(TAG)
|
||||
app = activity.applicationContext as App
|
||||
|
||||
if (!status.available && status.message != null) {
|
||||
if (!status.available && status.userMessage != null) {
|
||||
val b = DialogRegisterUnavailableBinding.inflate(LayoutInflater.from(activity), null, false)
|
||||
b.message = status.message
|
||||
if (status.message.image != null)
|
||||
b.image.load(status.message.image)
|
||||
if (status.message.url != null) {
|
||||
b.message = status.userMessage
|
||||
if (status.userMessage.image != null)
|
||||
b.image.load(status.userMessage.image)
|
||||
if (status.userMessage.url != null) {
|
||||
b.readMore.onClick {
|
||||
Utils.openUrl(activity, status.message.url)
|
||||
Utils.openUrl(activity, status.userMessage.url)
|
||||
}
|
||||
}
|
||||
b.text.movementMethod = LinkMovementMethod.getInstance()
|
||||
@ -67,6 +67,7 @@ class RegisterUnavailableDialog(
|
||||
onDismissListener?.invoke(TAG)
|
||||
}
|
||||
.show()
|
||||
return@run
|
||||
}
|
||||
|
||||
val update = app.config.update
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
package pl.szczodrzynski.edziennik.ui.modules.home.cards
|
||||
|
||||
import android.text.Html
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.plusAssign
|
||||
import androidx.core.view.setMargins
|
||||
@ -58,13 +58,13 @@ class HomeAvailabilityCard(
|
||||
|
||||
var onInfoClick = { _: View -> }
|
||||
|
||||
if (status != null && !status.available && status.message != null) {
|
||||
b.homeAvailabilityTitle.text = Html.fromHtml(status.message.title)
|
||||
b.homeAvailabilityText.text = Html.fromHtml(status.message.contentShort)
|
||||
if (status != null && !status.available && status.userMessage != null) {
|
||||
b.homeAvailabilityTitle.text = HtmlCompat.fromHtml(status.userMessage.title, HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
b.homeAvailabilityText.text = HtmlCompat.fromHtml(status.userMessage.contentShort, HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
b.homeAvailabilityUpdate.isVisible = false
|
||||
b.homeAvailabilityIcon.setImageResource(R.drawable.ic_sync)
|
||||
if (status.message.icon != null)
|
||||
b.homeAvailabilityIcon.load(status.message.icon)
|
||||
if (status.userMessage.icon != null)
|
||||
b.homeAvailabilityIcon.load(status.userMessage.icon)
|
||||
onInfoClick = {
|
||||
RegisterUnavailableDialog(activity, status)
|
||||
}
|
||||
|
@ -117,7 +117,7 @@ class LoginChooserFragment : Fragment(), CoroutineScope {
|
||||
else -> null
|
||||
}?.let { registerName ->
|
||||
var status = app.config.sync.registerAvailability[registerName]
|
||||
if (status == null || status.nextCheck < currentTimeUnix()) {
|
||||
if (status == null || status.nextCheckAt < currentTimeUnix()) {
|
||||
withContext(Dispatchers.IO) {
|
||||
val api = SzkolnyApi(app)
|
||||
api.runCatching(activity) {
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
<import type="android.text.Html" />
|
||||
<import type="androidx.core.text.HtmlCompat" />
|
||||
<variable
|
||||
name="message"
|
||||
type="pl.szczodrzynski.edziennik.data.api.szkolny.response.RegisterAvailabilityStatus.Message" />
|
||||
@ -45,7 +45,7 @@
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{Html.fromHtml(message.title)}"
|
||||
android:text="@{HtmlCompat.fromHtml(message.title, HtmlCompat.FROM_HTML_MODE_LEGACY)}"
|
||||
android:textAppearance="@style/NavView.TextView.Title"
|
||||
tools:text="Dziennik nie działa" />
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@{Html.fromHtml(message.contentLong)}"
|
||||
android:text="@{HtmlCompat.fromHtml(message.contentLong, HtmlCompat.FROM_HTML_MODE_LEGACY)}"
|
||||
tools:text="Dziennik się zepsuł i nie działa, szkoda\n\n\nwiele linijek ma ten tekst" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
@ -1368,7 +1368,7 @@
|
||||
<string name="home_archive_close_no_target_title">Brak aktualnego profilu</string>
|
||||
<string name="home_archive_close_no_target_text">Uczeń %s nie posiada profilu na tym koncie w aktualnym roku szkolnym. Prawdopodobnie ten profil został usunięty lub uczeń nie uczęszcza już do tej klasy.\n\nAby przejść do aktualnego profilu, wybierz ucznia z listy lub zaloguj się na jego konto przyciskiem Dodaj ucznia.</string>
|
||||
<string name="login_copyright_notice">Znaki towarowe zamieszczone w tej aplikacji należą do ich prawowitych właścicieli i są używane wyłącznie w celach informacyjnych.</string>
|
||||
<string name="update_available_title">Dostępna aktualiacja aplikacji</string>
|
||||
<string name="update_available_title">Dostępna aktualizacja aplikacji</string>
|
||||
<string name="update_available_format">Używasz starej wersji aplikacji Szkolny.eu (%s). Aby móc korzystać z aplikacji oraz zapewnić najlepsze działanie, zaktualizuj aplikację do wersji %s.\n\nDziennik zmian:\n%s</string>
|
||||
<string name="update_available_fallback">Posiadasz nieaktualną wersję aplikacji Szkolny.eu. Aby móc dalej synchronizować dane, musisz zaktualizować aplikację.</string>
|
||||
<string name="update_available_button">Aktualizuj</string>
|
||||
|
@ -5,8 +5,8 @@ buildscript {
|
||||
kotlin_version = '1.3.61'
|
||||
|
||||
release = [
|
||||
versionName: "4.4.1",
|
||||
versionCode: 4040199
|
||||
versionName: "4.4.2",
|
||||
versionCode: 4040299
|
||||
]
|
||||
|
||||
setup = [
|
||||
|
Loading…
Reference in New Issue
Block a user