diff --git a/app/proguard/app.pro b/app/proguard/app.pro
index 68d1fde8..b96a904c 100644
--- a/app/proguard/app.pro
+++ b/app/proguard/app.pro
@@ -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 { *; }
diff --git a/app/src/main/assets/pl-changelog.html b/app/src/main/assets/pl-changelog.html
index 217e9cd2..c7150a83 100644
--- a/app/src/main/assets/pl-changelog.html
+++ b/app/src/main/assets/pl-changelog.html
@@ -1,8 +1,9 @@
-
Wersja 4.4.1, 2020-09-03
+Wersja 4.4.2, 2020-09-05
- Poprawione komunikaty o aktualizacjach aplikacji.
- Mobidziennik: poprawione wyświetlanie przedmiotu w planie lekcji.
- Mobidziennik: naprawiony moduł frekwencji.
+ - Naprawione zatrzymanie aplikacji na ekranie logowania.
diff --git a/app/src/main/cpp/szkolny-signing.cpp b/app/src/main/cpp/szkolny-signing.cpp
index 4d19eb33..9642f8a9 100644
--- a/app/src/main/cpp/szkolny-signing.cpp
+++ b/app/src/main/cpp/szkolny-signing.cpp
@@ -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);
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
index e1fe3b0c..28331a75 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
@@ -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) {
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt
index aa316948..c6938f7a 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt
@@ -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()
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/interceptor/Signing.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/interceptor/Signing.kt
index 76fc1193..4d9f425c 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/interceptor/Signing.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/interceptor/Signing.kt
@@ -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()
}
}
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/response/RegisterAvailabilityStatus.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/response/RegisterAvailabilityStatus.kt
index 0596a8ac..82f2e050 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/response/RegisterAvailabilityStatus.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/szkolny/response/RegisterAvailabilityStatus.kt
@@ -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(
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/RegisterUnavailableDialog.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/RegisterUnavailableDialog.kt
index e1e4b2b6..6ecd494f 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/RegisterUnavailableDialog.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/RegisterUnavailableDialog.kt
@@ -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
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeAvailabilityCard.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeAvailabilityCard.kt
index eefd4f6f..957dff0c 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeAvailabilityCard.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeAvailabilityCard.kt
@@ -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)
}
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/login/LoginChooserFragment.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/login/LoginChooserFragment.kt
index 90945294..abbb4ad9 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/login/LoginChooserFragment.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/login/LoginChooserFragment.kt
@@ -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) {
diff --git a/app/src/main/res/layout/dialog_register_unavailable.xml b/app/src/main/res/layout/dialog_register_unavailable.xml
index da86a52b..a47bf17c 100644
--- a/app/src/main/res/layout/dialog_register_unavailable.xml
+++ b/app/src/main/res/layout/dialog_register_unavailable.xml
@@ -8,7 +8,7 @@
-
+
@@ -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" />
Brak aktualnego profilu
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.
Znaki towarowe zamieszczone w tej aplikacji należą do ich prawowitych właścicieli i są używane wyłącznie w celach informacyjnych.
- Dostępna aktualiacja aplikacji
+ Dostępna aktualizacja aplikacji
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
Posiadasz nieaktualną wersję aplikacji Szkolny.eu. Aby móc dalej synchronizować dane, musisz zaktualizować aplikację.
Aktualizuj
diff --git a/build.gradle b/build.gradle
index 1f63c6ba..43dc3e9f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,8 +5,8 @@ buildscript {
kotlin_version = '1.3.61'
release = [
- versionName: "4.4.1",
- versionCode: 4040199
+ versionName: "4.4.2",
+ versionCode: 4040299
]
setup = [