Compare commits
22 Commits
Author | SHA1 | Date | |
---|---|---|---|
fd482777e8 | |||
d4ae0d56d6 | |||
63487249b8 | |||
1bc0f2d214 | |||
41bde45731 | |||
556f42195b | |||
06fd7b0c36 | |||
db4e4d8cef | |||
48e4a9fec5 | |||
70333737cf | |||
3096fa1538 | |||
19ed121466 | |||
e7733bfa2a | |||
b9b464ea9b | |||
cc46b3b124 | |||
092e86b621 | |||
c170614461 | |||
6ce8e00ebf | |||
c40cdf88ad | |||
4c1fe233c7 | |||
aca88b57e0 | |||
a603c12625 |
@ -23,8 +23,8 @@ android {
|
||||
testApplicationId "io.github.tests.wulkanowy"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 33
|
||||
versionCode 126
|
||||
versionName "2.0.4"
|
||||
versionCode 129
|
||||
versionName "2.0.7"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
resValue "string", "app_name", "Wulkanowy"
|
||||
@ -165,7 +165,7 @@ play {
|
||||
defaultToAppBundles = false
|
||||
track = 'production'
|
||||
releaseStatus = com.github.triplet.gradle.androidpublisher.ReleaseStatus.IN_PROGRESS
|
||||
userFraction = 0.50d
|
||||
userFraction = 0.25d
|
||||
updatePriority = 1
|
||||
enabled.set(false)
|
||||
}
|
||||
@ -196,7 +196,7 @@ ext {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'io.github.wulkanowy:sdk:2.0.4'
|
||||
implementation 'io.github.wulkanowy:sdk:2.0.7'
|
||||
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
||||
|
||||
@ -205,14 +205,14 @@ dependencies {
|
||||
|
||||
implementation "androidx.core:core-ktx:1.10.1"
|
||||
implementation 'androidx.core:core-splashscreen:1.0.1'
|
||||
implementation "androidx.activity:activity-ktx:1.7.1"
|
||||
implementation "androidx.activity:activity-ktx:1.7.2"
|
||||
implementation "androidx.appcompat:appcompat:1.6.1"
|
||||
implementation "androidx.fragment:fragment-ktx:1.5.7"
|
||||
implementation "androidx.annotation:annotation:1.6.0"
|
||||
|
||||
implementation "androidx.preference:preference-ktx:1.2.0"
|
||||
implementation "androidx.recyclerview:recyclerview:1.3.0"
|
||||
implementation "androidx.viewpager2:viewpager2:1.1.0-beta01"
|
||||
implementation "androidx.viewpager2:viewpager2:1.1.0-beta02"
|
||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
||||
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
||||
implementation "androidx.coordinatorlayout:coordinatorlayout:1.2.0"
|
||||
@ -246,22 +246,22 @@ dependencies {
|
||||
implementation "at.favre.lib:slf4j-timber:1.0.1"
|
||||
implementation 'com.github.bastienpaulfr:Treessence:1.0.5'
|
||||
implementation "com.mikepenz:aboutlibraries-core:$about_libraries"
|
||||
implementation "io.coil-kt:coil:2.3.0"
|
||||
implementation "io.coil-kt:coil:2.4.0"
|
||||
implementation "io.github.wulkanowy:AppKillerManager:3.0.1"
|
||||
implementation 'me.xdrop:fuzzywuzzy:1.4.0'
|
||||
implementation 'com.fredporciuncula:flow-preferences:1.9.1'
|
||||
implementation 'org.apache.commons:commons-text:1.10.0'
|
||||
|
||||
playImplementation platform('com.google.firebase:firebase-bom:32.0.0')
|
||||
playImplementation platform('com.google.firebase:firebase-bom:32.1.0')
|
||||
playImplementation 'com.google.firebase:firebase-analytics-ktx'
|
||||
playImplementation 'com.google.firebase:firebase-messaging:'
|
||||
playImplementation 'com.google.firebase:firebase-crashlytics:'
|
||||
playImplementation 'com.google.firebase:firebase-config-ktx'
|
||||
playImplementation 'com.google.android.play:core:1.10.3'
|
||||
playImplementation 'com.google.android.play:core-ktx:1.8.1'
|
||||
playImplementation 'com.google.android.gms:play-services-ads:22.0.0'
|
||||
playImplementation 'com.google.android.gms:play-services-ads:22.1.0'
|
||||
|
||||
hmsImplementation 'com.huawei.hms:hianalytics:6.10.0.300'
|
||||
hmsImplementation 'com.huawei.hms:hianalytics:6.10.0.301'
|
||||
hmsImplementation 'com.huawei.agconnect:agconnect-crash:1.9.0.300'
|
||||
|
||||
releaseImplementation "com.github.ChuckerTeam.Chucker:library-no-op:$chucker"
|
||||
|
16
app/proguard-rules.pro
vendored
16
app/proguard-rules.pro
vendored
@ -1,5 +1,6 @@
|
||||
# General
|
||||
-dontobfuscate
|
||||
-ignorewarnings
|
||||
|
||||
|
||||
#Config for wulkanowy
|
||||
@ -24,3 +25,18 @@
|
||||
|
||||
#Config for Material Components
|
||||
-keep class com.google.android.material.tabs.** { *; }
|
||||
|
||||
|
||||
#Config for HMS SDK
|
||||
-keepattributes *Annotation*
|
||||
-keepattributes Exceptions
|
||||
-keepattributes InnerClasses
|
||||
-keepattributes Signature
|
||||
-keep class com.huawei.agconnect.**{*;}
|
||||
-keep class com.huawei.hianalytics.**{*;}
|
||||
-keep class com.huawei.updatesdk.**{*;}
|
||||
-keep class com.huawei.hms.**{*;}
|
||||
|
||||
|
||||
#Config for Wulkanowy SDK
|
||||
-keep,allowobfuscation,allowshrinking class retrofit2.Response
|
||||
|
@ -1,9 +1,7 @@
|
||||
Wersja 2.0.4
|
||||
Wersja 2.0.7
|
||||
|
||||
— zaktualizowaliśmy wygląd aplikacji na (częściowo) zgodny z wytycznymi Material 3
|
||||
— dodaliśmy możliwość zmiany kolejności pozycji w menu dolnym
|
||||
— poprawiliśmy sposób wyświetlania błędu o nieprawidłowym haśle na ekranie logowania
|
||||
— od teraz zmiana ustawień liczenia średniej automatycznie odświeży listę ocen
|
||||
— dodaliśmy okienko na wpisanie numeru PESEL, gdy dziennik wymaga dodatkowej autoryzacji dostępu
|
||||
— poprawiliśmy wyświetlanie kilku rodzajów zmian w planie lekcji
|
||||
— dodaliśmy limit znaków w okienku usprawiedliwiania
|
||||
— naprawiliśmy wyświetlanie frekwencji w szkołach, gdzie działa już system eduOne (ciągle jednak brak opcji usprawiedliwiania)
|
||||
|
||||
Pełna lista zmian: https://github.com/wulkanowy/wulkanowy/releases
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
@ -8,13 +9,18 @@
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
app:counterEnabled="true"
|
||||
app:counterMaxLength="256">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/excuseReason"
|
||||
style="@style/Widget.Material3.TextInputEditText.OutlinedBox"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/attendance_excuse_dialog_reason" />
|
||||
android:layout_weight="1"
|
||||
android:hint="@string/attendance_excuse_dialog_reason"
|
||||
android:maxLength="256" />
|
||||
|
||||
<requestFocus />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
@ -682,7 +682,7 @@
|
||||
<string name="all_cancel">Отменить</string>
|
||||
<!--Timetable Widget-->
|
||||
<string name="widget_timetable_no_items">Нет уроков</string>
|
||||
<string name="widget_timetable_last_synchronization">Synchronized on %1$s at %2$s</string>
|
||||
<string name="widget_timetable_last_synchronization">Синхронизировано %1$s в %2$s</string>
|
||||
<string name="widget_timetable_theme_title">Выбрать тему</string>
|
||||
<string name="widget_timetable_theme_light">Светлая</string>
|
||||
<string name="widget_timetable_theme_dark">Тёмная</string>
|
||||
@ -778,7 +778,7 @@
|
||||
<string name="pref_advanced_category_summary">Значения плюса и минуса, расчёт средней оценки</string>
|
||||
<string name="pref_advanced_category">Расширенные</string>
|
||||
<string name="pref_about_category_summary">Версия приложения, разработчики, соц. сети</string>
|
||||
<string name="pref_ads_category_summary">Displaying advertisements, project support</string>
|
||||
<string name="pref_ads_category_summary">Посмотреть рекламу, чтобы поддержать проект</string>
|
||||
<!--Notification Channels-->
|
||||
<string name="channel_new_grades">Новые оценки</string>
|
||||
<string name="channel_new_homework">Новое домашнее задание</string>
|
||||
@ -810,14 +810,14 @@
|
||||
<string name="menu_order_confirm_content">Для сохранения изменений необходимо перезапустить приложение</string>
|
||||
<string name="menu_order_confirm_restart">Перезапустить</string>
|
||||
<!--Auth-->
|
||||
<string name="auth_api_error">Authorization has been rejected. The data provided does not match the records in the secretary\'s office.</string>
|
||||
<string name="auth_invalid_error">Invalid PESEL</string>
|
||||
<string name="auth_pesel">PESEL</string>
|
||||
<string name="auth_api_error">Авторизация отклонена. Предоставленные данные не соответствуют записям в кабинете секретаря.</string>
|
||||
<string name="auth_invalid_error">Неправильный номер PESEL</string>
|
||||
<string name="auth_pesel">Номер PESEL</string>
|
||||
<string name="auth_button">Authorize</string>
|
||||
<string name="auth_success">Authorization completed successfully</string>
|
||||
<string name="auth_title">Authorization</string>
|
||||
<string name="auth_description">To operate the application, we need to confirm your identity. Please enter the student\'s PESEL <b>%1$s</b> in the field below</string>
|
||||
<string name="auth_button_skip">Skip for now</string>
|
||||
<string name="auth_success">Авторизация прошла успешно</string>
|
||||
<string name="auth_title">Авторизация</string>
|
||||
<string name="auth_description">Для работы приложения нам необходимо подтвердить вашу личность. Введите PESEL учащегося <b>%1$s</b> в поле ниже</string>
|
||||
<string name="auth_button_skip">Пропустить сейчас</string>
|
||||
<!--Errors-->
|
||||
<string name="error_no_internet">Интернет-соединение отсутствует</string>
|
||||
<string name="error_invalid_device_datetime">Произошла ошибка. Проверьте время на вашем устройстве</string>
|
||||
|
@ -682,7 +682,7 @@
|
||||
<string name="all_cancel">Скасувати</string>
|
||||
<!--Timetable Widget-->
|
||||
<string name="widget_timetable_no_items">Немаэ уроків</string>
|
||||
<string name="widget_timetable_last_synchronization">Synchronized on %1$s at %2$s</string>
|
||||
<string name="widget_timetable_last_synchronization">Синхронізовано %1$s в %2$s</string>
|
||||
<string name="widget_timetable_theme_title">Увібрати тему</string>
|
||||
<string name="widget_timetable_theme_light">Яскрава</string>
|
||||
<string name="widget_timetable_theme_dark">Темна</string>
|
||||
@ -810,14 +810,14 @@
|
||||
<string name="menu_order_confirm_content">Додаток потрібно перезавантажити для збереження змін</string>
|
||||
<string name="menu_order_confirm_restart">Перезавантажити</string>
|
||||
<!--Auth-->
|
||||
<string name="auth_api_error">Authorization has been rejected. The data provided does not match the records in the secretary\'s office.</string>
|
||||
<string name="auth_invalid_error">Invalid PESEL</string>
|
||||
<string name="auth_pesel">PESEL</string>
|
||||
<string name="auth_api_error">Авторизацію відхилено. Надані дані не збігаються із записами в кабінеті секретаря.</string>
|
||||
<string name="auth_invalid_error">Неправильний PESEL</string>
|
||||
<string name="auth_pesel">Число PESEL</string>
|
||||
<string name="auth_button">Authorize</string>
|
||||
<string name="auth_success">Authorization completed successfully</string>
|
||||
<string name="auth_title">Authorization</string>
|
||||
<string name="auth_description">To operate the application, we need to confirm your identity. Please enter the student\'s PESEL <b>%1$s</b> in the field below</string>
|
||||
<string name="auth_button_skip">Skip for now</string>
|
||||
<string name="auth_title">Авторизувати</string>
|
||||
<string name="auth_description">Для роботи програми нам потрібно підтвердити вашу особу. Будь ласка, введіть число PESEL <b>%1$s</b> студента в поле нижче</string>
|
||||
<string name="auth_button_skip">Поки що пропустити</string>
|
||||
<!--Errors-->
|
||||
<string name="error_no_internet">Немає з\'єднання з інтернетом</string>
|
||||
<string name="error_invalid_device_datetime">Сталася помилка. Перевірте годинник пристрою</string>
|
||||
|
@ -1,7 +1,7 @@
|
||||
buildscript {
|
||||
ext {
|
||||
kotlin_version = '1.8.21'
|
||||
about_libraries = '10.6.3'
|
||||
about_libraries = '10.7.0'
|
||||
hilt_version = "2.46.1"
|
||||
}
|
||||
repositories {
|
||||
@ -13,14 +13,14 @@ buildscript {
|
||||
dependencies {
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
|
||||
classpath 'com.android.tools.build:gradle:8.0.1'
|
||||
classpath 'com.android.tools.build:gradle:8.0.2'
|
||||
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
|
||||
classpath 'com.google.gms:google-services:4.3.15'
|
||||
classpath 'com.huawei.agconnect:agcp:1.9.0.300'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.5'
|
||||
classpath "com.github.triplet.gradle:play-publisher:3.6.0"
|
||||
classpath "ru.cian:huawei-publish-gradle-plugin:1.4.0"
|
||||
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:4.0.0.2929"
|
||||
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:4.1.0.3113"
|
||||
classpath "gradle.plugin.com.star-zero.gradle:githook:1.2.0"
|
||||
classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:$about_libraries"
|
||||
}
|
||||
|
@ -1,28 +1,13 @@
|
||||
# Project-wide Gradle settings.
|
||||
# IDE (e.g. Android Studio) users:
|
||||
# Gradle settings configured through the IDE *will override*
|
||||
# any settings specified in this file.
|
||||
# For more details on how to configure your build environment visit
|
||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||
#
|
||||
# Specifies the JVM arguments used for the daemon process.
|
||||
# The setting is particularly useful for tweaking memory settings.
|
||||
org.gradle.jvmargs=-Xmx1536m
|
||||
#
|
||||
android.enableJetifier=true
|
||||
android.useAndroidX=true
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonTransitiveRClass=false
|
||||
android.nonFinalResIds=false
|
||||
#
|
||||
kotlin.code.style=official
|
||||
kapt.use.worker.api=true
|
||||
kapt.include.compile.classpath=false
|
||||
kotlin.code.style=official
|
||||
#
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
android.nonTransitiveRClass=false
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
#
|
||||
# https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-common-faq-0000001063210244#section17273113244910
|
||||
apmsInstrumentationEnabled=false
|
||||
#
|
||||
# When configured, Gradle will run in incubating parallel mode.
|
||||
# This option should only be used with decoupled projects. More details, visit
|
||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
# org.gradle.parallel=true
|
||||
|
||||
|
Reference in New Issue
Block a user