From dda64489d7a072d9c0a35c5e2092949277d12de0 Mon Sep 17 00:00:00 2001
From: Adam Kasprzycki <66315787+santoni0@users.noreply.github.com>
Date: Sun, 16 Oct 2022 00:10:00 +0200
Subject: [PATCH 01/37] Material 3 theme and color support, filled cards
---
.../ui/home/cards/HomeTimetableCard.kt | 6 +-
app/src/main/res/layout/card_home.xml | 4 +-
.../res/layout/fragment_agenda_default.xml | 2 +-
app/src/main/res/values/attrs.xml | 2 +-
app/src/main/res/values/colors.xml | 65 ++++++++++++++++
app/src/main/res/values/styles.xml | 76 +++++++++++++------
6 files changed, 126 insertions(+), 29 deletions(-)
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt
index ab297ef8..a7392be2 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt
@@ -90,21 +90,21 @@ class HomeTimetableCard(
b.settings.setImageDrawable(
IconicsDrawable(activity, CommunityMaterial.Icon.cmd_cog_outline).apply {
- colorAttr(activity, R.attr.colorIcon)
+ colorAttr(activity, R.attr.colorOnPrimaryContainer)
sizeDp = 24
}
)
b.bellSync.setImageDrawable(
IconicsDrawable(activity, SzkolnyFont.Icon.szf_alarm_bell_outline).apply {
- colorAttr(activity, R.attr.colorIcon)
+ colorAttr(activity, R.attr.colorOnPrimaryContainer)
sizeDp = 24
}
)
b.showCounter.setImageDrawable(
IconicsDrawable(activity, CommunityMaterial.Icon2.cmd_fullscreen).apply {
- colorAttr(activity, R.attr.colorIcon)
+ colorAttr(activity, R.attr.colorOnPrimaryContainer)
sizeDp = 24
}
)
diff --git a/app/src/main/res/layout/card_home.xml b/app/src/main/res/layout/card_home.xml
index f013726b..123d591d 100644
--- a/app/src/main/res/layout/card_home.xml
+++ b/app/src/main/res/layout/card_home.xml
@@ -9,4 +9,6 @@
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp"
android:clickable="true"
- android:focusable="true" />
+ android:focusable="true"
+ android:background="?colorSurfaceVariant"
+ style="?attr/materialCardViewFilledStyle" />
diff --git a/app/src/main/res/layout/fragment_agenda_default.xml b/app/src/main/res/layout/fragment_agenda_default.xml
index 8cddf0c7..6bb863a6 100644
--- a/app/src/main/res/layout/fragment_agenda_default.xml
+++ b/app/src/main/res/layout/fragment_agenda_default.xml
@@ -24,7 +24,7 @@
agendaCalendar:calendarHeaderColor="@color/colorSurface_6dp"
agendaCalendar:calendarHeaderTextColor="?colorOnSurface"
agendaCalendar:calendarPastDayTextColor="?android:textColorSecondary"
- agendaCalendar:fabColor="?colorFab"
+ agendaCalendar:fabColor="?colorPrimaryContainer"
agendaCalendar:layout_constraintBottom_toBottomOf="parent"
agendaCalendar:layout_constraintEnd_toEndOf="parent"
agendaCalendar:layout_constraintHorizontal_bias="1.0"
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 55e0d3b5..6f783d0b 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -5,5 +5,5 @@
-
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 3c17d618..3c8029d7 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,5 +1,70 @@
+
+
+
+ #2196f3
+ #0061A4
+ #FFFFFF
+ #D1E4FF
+ #001D36
+ #535F70
+ #FFFFFF
+ #D7E3F7
+ #101C2B
+ #6B5778
+ #FFFFFF
+ #F2DAFF
+ #251431
+ #BA1A1A
+ #FFDAD6
+ #FFFFFF
+ #410002
+ #FDFCFF
+ #1A1C1E
+ #FDFCFF
+ #1A1C1E
+ #DFE2EB
+ #43474E
+ #73777F
+ #F1F0F4
+ #2F3033
+ #9ECAFF
+ #000000
+ #0061A4
+ #0061A4
+
+
+ #9ECAFF
+ #003258
+ #00497D
+ #D1E4FF
+ #BBC7DB
+ #253140
+ #3B4858
+ #D7E3F7
+ #D6BEE4
+ #3B2948
+ #523F5F
+ #F2DAFF
+ #FFB4AB
+ #93000A
+ #690005
+ #FFDAD6
+ #1A1C1E
+ #E2E2E6
+ #1A1C1E
+ #E2E2E6
+ #43474E
+ #C3C7CF
+ #8D9199
+ #1A1C1E
+ #E2E2E6
+ #0061A4
+ #000000
+ #9ECAFF
+ #9ECAFF
+
#2196F3
#1976D2
#6EC6FF
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 4f22fc81..dd709d59 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -98,20 +98,35 @@
-
-
-
+
+
diff --git a/app/src/main/res/values-v31/styles.xml b/app/src/main/res/values-v31/styles.xml
new file mode 100644
index 00000000..b048a142
--- /dev/null
+++ b/app/src/main/res/values-v31/styles.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 3c8029d7..ac8ccf19 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,69 +1,70 @@
-
+
-
#2196f3
- #0061A4
+ #6750A4
#FFFFFF
- #D1E4FF
- #001D36
- #535F70
+ #EADDFF
+ #21005D
+ #625B71
#FFFFFF
- #D7E3F7
- #101C2B
- #6B5778
+ #E8DEF8
+ #1D192B
+ #7D5260
#FFFFFF
- #F2DAFF
- #251431
- #BA1A1A
- #FFDAD6
+ #FFD8E4
+ #31111D
+ #B3261E
#FFFFFF
- #410002
- #FDFCFF
- #1A1C1E
- #FDFCFF
- #1A1C1E
- #DFE2EB
- #43474E
- #73777F
- #F1F0F4
- #2F3033
- #9ECAFF
+ #F9DEDC
+ #410E0B
+ #79747E
+ #FFFBFE
+ #1C1B1F
+ #FFFBFE
+ #1C1B1F
+ #E7E0EC
+ #49454F
+ #313033
+ #F4EFF4
+ #D0BCFF
#000000
- #0061A4
- #0061A4
+ #6750A4
+ #CAC4D0
+ #000000
- #9ECAFF
- #003258
- #00497D
- #D1E4FF
- #BBC7DB
- #253140
- #3B4858
- #D7E3F7
- #D6BEE4
- #3B2948
- #523F5F
- #F2DAFF
- #FFB4AB
- #93000A
- #690005
- #FFDAD6
- #1A1C1E
- #E2E2E6
- #1A1C1E
- #E2E2E6
- #43474E
- #C3C7CF
- #8D9199
- #1A1C1E
- #E2E2E6
- #0061A4
+ #D0BCFF
+ #381E72
+ #4F378B
+ #EADDFF
+ #CCC2DC
+ #332D41
+ #4A4458
+ #E8DEF8
+ #EFB8C8
+ #492532
+ #633B48
+ #FFD8E4
+ #F2B8B5
+ #601410
+ #8C1D18
+ #F9DEDC
+ #938F99
+ #1C1B1F
+ #E6E1E5
+ #1C1B1F
+ #E6E1E5
+ #49454F
+ #CAC4D0
+ #E6E1E5
+ #313033
+ #6750A4
#000000
- #9ECAFF
- #9ECAFF
+ #D0BCFF
+ #49454F
+ #000000
#2196F3
#1976D2
@@ -74,9 +75,7 @@
#fff3f3f3
#ffaaaaaa
#ffb2b2b2
-
#3e7f7f7f
-
#ffffffff
#ffffffff
diff --git a/app/src/main/res/values/ic_launcher_monochrome_background.xml b/app/src/main/res/values/ic_launcher_monochrome_background.xml
new file mode 100644
index 00000000..a6ed0b97
--- /dev/null
+++ b/app/src/main/res/values/ic_launcher_monochrome_background.xml
@@ -0,0 +1,4 @@
+
+
+ #000000
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a8f81073..1af631d0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -144,6 +144,7 @@
Konfiguruj
Skopiowano do schowka
Skopiuj do schowka
+ Odliczanie
Synchronizuj
JeÅli aplikacja nie chce siÄ uruchomiÄ, możesz spróbowaÄ ponownie pobraÄ dane. Kliknij na przycisk, a nastÄpnie Restartuj aplikacjÄ.
SzczegóÅy bÅÄdu
@@ -510,8 +511,8 @@
Zapisz do kalendarza
Dodaj/usuÅ karty
Możesz usunÄ
Ä karty przesuwajÄ
c w lewo lub zmieniÄ ich kolejnoÅÄ, przytrzymujÄ
c na kartÄ.
- %s ⢠Numer w dzienniku to %d
- %s ⢠Kliknij, aby ustawiÄ swój numerek.
+ Numer w dzienniku to %s
+ Kliknij, aby ustawiÄ swój numerek.
Dnia %s szczÄÅliwy numerek to %d.
Brak informacji o szczÄÅliwym numerku.
Nie ma dzisiaj szczÄÅliwego numerka.
@@ -535,7 +536,7 @@
Pobierz
Plan lekcji na tydzieÅ %s nie zostaÅ jeszcze pobrany.
Brak planu lekcji
- Plan lekcji nie zostaÅ opublikowany przez szkoÅÄ.\n\nSkontaktuj siÄ z wychowawcÄ
.
+ Plan lekcji nie zostaÅ opublikowany przez szkoÅÄ. Skontaktuj siÄ z wychowawcÄ
.
Dzisiaj
Jutro (%1$s)
Edytuj
@@ -737,7 +738,7 @@
Napisz wiadomoÅÄā¦
Napisz wiadomoÅÄ
Do
- %s\n%s
+ %s ⢠%s
Czy chcesz usunÄ
Ä wiadomoÅÄ?
Spowoduje to przeniesienie wiadomoÅci do zakÅadki \"UsuniÄte\" w aplikacji. Zmiany nie wpÅynÄ
na wiadomoÅÄ w e-dzienniku (nie zostanie ona tam usuniÄta).
BÅÄ
d pobierania wiadomoÅci
diff --git a/app/src/play-not/java/pl/szczodrzynski/edziennik/sync/UpdateDownloaderService.kt b/app/src/play-not/java/pl/szczodrzynski/edziennik/sync/UpdateDownloaderService.kt
index 93881939..fc9583a1 100644
--- a/app/src/play-not/java/pl/szczodrzynski/edziennik/sync/UpdateDownloaderService.kt
+++ b/app/src/play-not/java/pl/szczodrzynski/edziennik/sync/UpdateDownloaderService.kt
@@ -75,6 +75,7 @@ class UpdateDownloaderService : IntentService(UpdateDownloaderService::class.jav
}
}
+ @Deprecated("Deprecated in Java")
override fun onHandleIntent(intent: Intent?) {
val app = application as App
val update = App.config.update ?: return
diff --git a/build.gradle b/build.gradle
index 7b8133d1..811df234 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,17 +2,17 @@
buildscript {
ext {
- kotlin_version = '1.6.10'
+ kotlin_version = '1.9.10'
release = [
- versionName: "4.12.1",
- versionCode: 4120199
+ versionName: "4.13.6",
+ versionCode: 4130699
]
setup = [
- compileSdk: 33,
+ compileSdk: 34,
minSdk : 16,
- targetSdk : 33
+ targetSdk : 34
]
}
@@ -21,7 +21,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.2.2'
+ classpath 'com.android.tools.build:gradle:8.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.14'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
diff --git a/gradle.properties b/gradle.properties
index 8de50581..ff0578a7 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,15 +1,21 @@
-# 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
+## 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.
-android.enableJetifier=true
-android.useAndroidX=true
-org.gradle.jvmargs=-Xmx1536m
+# Default value: -Xmx1024m -XX:MaxPermSize=256m
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+#
# 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
+#Tue Aug 22 15:52:38 CEST 2023
+android.defaults.buildfeatures.buildconfig=true
+android.enableJetifier=true
+android.nonFinalResIds=false
+android.nonTransitiveRClass=false
+android.useAndroidX=true
+org.gradle.caching=true
+org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
+org.gradle.parallel=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index e004eb08..ffc5f341 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Wed Feb 17 14:04:38 CET 2021
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-rc-2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
From 1540a6cfcd28403db3db8fa87496500a42f3aedb Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Wed, 12 Jun 2024 21:12:02 +0200
Subject: [PATCH 06/37] fix M3 UI code & upgrade kotlin
---
app/build.gradle | 11 ++++++-----
.../edziennik/ui/settings/SettingsUtil.kt | 1 -
build.gradle | 6 +++---
gradle/wrapper/gradle-wrapper.properties | 2 +-
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index ce7b2dd1..72e8e8c7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -148,8 +148,8 @@ dependencies {
// Language cores
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "androidx.multidex:multidex:2.0.1"
- implementation files('libs/navlib-debug.aar')
- implementation files('libs/navlib-font-debug.aar')
+// implementation files('libs/navlib-debug.aar')
+// implementation files('libs/navlib-font-debug.aar')
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.5"
// Android Jetpack
@@ -185,17 +185,18 @@ dependencies {
implementation "pl.droidsonroids.retrofit2:converter-jspoon:1.3.2"
// Szkolny.eu libraries/forks
+ implementation "com.github.santoni0:NavLib:323288f"
implementation "eu.szkolny:android-snowfall:1ca9ea2da3"
- // implementation "eu.szkolny:agendacalendarview:1.0.4"
+ implementation "eu.szkolny:agendacalendarview:1.0.4"
implementation "eu.szkolny:cafebar:5bf0c618de"
implementation "eu.szkolny.fslogin:lib:2.0.0"
- // implementation "eu.szkolny:material-about-library:1d5ebaf47c"
+ implementation "eu.szkolny:material-about-library:1d5ebaf47c"
implementation "eu.szkolny:mhttp:af4b62e6e9"
implementation "eu.szkolny:nachos:0e5dfcaceb"
implementation "eu.szkolny.selective-dao:annotation:27f8f3f194"
officialImplementation "eu.szkolny:ssl-provider:1.0.0"
unofficialImplementation "eu.szkolny:ssl-provider:1.0.0"
- // implementation "pl.szczodrzynski:navlib:0.8.0"
+
implementation "pl.szczodrzynski:numberslidingpicker:2921225f76"
implementation "pl.szczodrzynski:recyclertablayout:700f980584"
implementation "pl.szczodrzynski:tachyon:551943a6b5"
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/SettingsUtil.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/SettingsUtil.kt
index 84252fff..779d3d02 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/SettingsUtil.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/SettingsUtil.kt
@@ -44,7 +44,6 @@ class SettingsUtil(
.title(titleRes ?: 0)
.cardColor(backgroundColor ?: 0)
.theme(theme ?: 0)
- .outline(false)
.build()
card.items.addAll(items)
diff --git a/build.gradle b/build.gradle
index 811df234..52603168 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,7 +2,7 @@
buildscript {
ext {
- kotlin_version = '1.9.10'
+ kotlin_version = '1.9.24'
release = [
versionName: "4.13.6",
@@ -11,7 +11,7 @@ buildscript {
setup = [
compileSdk: 34,
- minSdk : 16,
+ minSdk : 21,
targetSdk : 34
]
}
@@ -21,7 +21,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:8.1.1'
+ classpath 'com.android.tools.build:gradle:8.4.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.14'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ffc5f341..4168db90 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Wed Feb 17 14:04:38 CET 2021
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-rc-2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
From 225070abd9c90238f31ccbe6522eb990d8898887 Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Wed, 12 Jun 2024 21:33:34 +0200
Subject: [PATCH 07/37] update dependencies
---
app/build.gradle | 28 ++++++++++++++--------------
app/src/main/AndroidManifest.xml | 2 ++
2 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 72e8e8c7..ceacc39b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -150,28 +150,28 @@ dependencies {
implementation "androidx.multidex:multidex:2.0.1"
// implementation files('libs/navlib-debug.aar')
// implementation files('libs/navlib-font-debug.aar')
- coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.5"
+ coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.0.4"
// Android Jetpack
- implementation "androidx.appcompat:appcompat:1.5.1"
+ implementation "androidx.appcompat:appcompat:1.7.0"
implementation "androidx.cardview:cardview:1.0.0"
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
- implementation "androidx.core:core-ktx:1.9.0"
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
- implementation "androidx.navigation:navigation-fragment-ktx:2.5.2"
- implementation "androidx.recyclerview:recyclerview:1.2.1"
- implementation "androidx.room:room-runtime:2.4.3"
- implementation "androidx.work:work-runtime-ktx:2.7.1"
- kapt "androidx.room:room-compiler:2.4.3"
+ implementation "androidx.core:core-ktx:1.13.1"
+ implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.2"
+ implementation "androidx.navigation:navigation-fragment-ktx:2.7.7"
+ implementation "androidx.recyclerview:recyclerview:1.3.2"
+ implementation "androidx.room:room-runtime:2.6.1"
+ implementation "androidx.work:work-runtime-ktx:2.9.0"
+ kapt "androidx.room:room-compiler:2.6.1"
// Google design libs
- implementation "com.google.android.material:material:1.11.0-beta01"
+ implementation "com.google.android.material:material:1.12.0"
implementation "com.google.android.flexbox:flexbox:3.0.0"
// Play Services/Firebase
- implementation "com.google.android.gms:play-services-wearable:17.1.0"
+ implementation "com.google.android.gms:play-services-wearable:18.2.0"
implementation("com.google.firebase:firebase-core") { version { strictly "19.0.2" } }
- implementation "com.google.firebase:firebase-crashlytics:18.2.13"
+ implementation "com.google.firebase:firebase-crashlytics:19.0.1"
implementation("com.google.firebase:firebase-messaging") { version { strictly "20.1.3" } }
// OkHttp, Retrofit, Gson, Jsoup
@@ -179,7 +179,7 @@ dependencies {
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
implementation "com.squareup.retrofit2:converter-scalars:2.9.0"
- implementation 'com.google.code.gson:gson:2.8.8'
+ implementation 'com.google.code.gson:gson:2.10.1'
implementation 'org.jsoup:jsoup:1.14.3'
implementation "pl.droidsonroids:jspoon:1.3.2"
implementation "pl.droidsonroids.retrofit2:converter-jspoon:1.3.2"
@@ -257,5 +257,5 @@ dependencies {
debugImplementation 'net.yslibrary.licenseadapter:licenseadapter:3.0.0'
- testImplementation 'junit:junit:4.13'
+ testImplementation 'junit:junit:4.13.2'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7c66eb3a..172ed891 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,9 +9,11 @@
+
+
From c123b28652baa6f4d3e4bf57ed5c7bf79314cc74 Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Thu, 13 Jun 2024 09:44:42 +0200
Subject: [PATCH 08/37] fix missing Intent receiver flags for Tiramisu+
---
app/build.gradle | 34 +++++++++----------
.../szczodrzynski/edziennik/MainActivity.kt | 9 ++++-
2 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index ceacc39b..5d0e7564 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -144,34 +144,32 @@ tasks.whenTaskAdded { task ->
}
dependencies {
- debugImplementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
// Language cores
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "androidx.multidex:multidex:2.0.1"
-// implementation files('libs/navlib-debug.aar')
-// implementation files('libs/navlib-font-debug.aar')
- coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.0.4"
+ coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.5"
// Android Jetpack
- implementation "androidx.appcompat:appcompat:1.7.0"
+ implementation "androidx.appcompat:appcompat:1.5.1"
implementation "androidx.cardview:cardview:1.0.0"
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
- implementation "androidx.core:core-ktx:1.13.1"
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.2"
- implementation "androidx.navigation:navigation-fragment-ktx:2.7.7"
- implementation "androidx.recyclerview:recyclerview:1.3.2"
- implementation "androidx.room:room-runtime:2.6.1"
- implementation "androidx.work:work-runtime-ktx:2.9.0"
- kapt "androidx.room:room-compiler:2.6.1"
+ implementation "androidx.core:core-ktx:1.9.0"
+ implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
+ implementation "androidx.navigation:navigation-fragment-ktx:2.5.2"
+ implementation "androidx.recyclerview:recyclerview:1.2.1"
+ implementation "androidx.room:room-runtime:2.4.3"
+ implementation "androidx.work:work-runtime-ktx:2.7.1"
+ kapt "androidx.room:room-compiler:2.4.3"
// Google design libs
- implementation "com.google.android.material:material:1.12.0"
+ implementation "com.google.android.material:material:1.11.0-beta01"
implementation "com.google.android.flexbox:flexbox:3.0.0"
// Play Services/Firebase
- implementation "com.google.android.gms:play-services-wearable:18.2.0"
+ implementation "com.google.android.gms:play-services-wearable:17.1.0"
implementation("com.google.firebase:firebase-core") { version { strictly "19.0.2" } }
- implementation "com.google.firebase:firebase-crashlytics:19.0.1"
+ implementation "com.google.firebase:firebase-crashlytics:18.2.13"
implementation("com.google.firebase:firebase-messaging") { version { strictly "20.1.3" } }
// OkHttp, Retrofit, Gson, Jsoup
@@ -179,7 +177,7 @@ dependencies {
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
implementation "com.squareup.retrofit2:converter-scalars:2.9.0"
- implementation 'com.google.code.gson:gson:2.10.1'
+ implementation 'com.google.code.gson:gson:2.8.8'
implementation 'org.jsoup:jsoup:1.14.3'
implementation "pl.droidsonroids:jspoon:1.3.2"
implementation "pl.droidsonroids.retrofit2:converter-jspoon:1.3.2"
@@ -215,7 +213,7 @@ dependencies {
implementation "com.daimajia.swipelayout:library:1.2.0@aar"
implementation "com.github.Applandeo:Material-Calendar-View:15de569cbc" // https://github.com/Applandeo/Material-Calendar-View
implementation "com.github.CanHub:Android-Image-Cropper:2.2.2" // https://github.com/CanHub/Android-Image-Cropper
- implementation "com.github.ChuckerTeam.Chucker:library:3.0.1" // https://github.com/ChuckerTeam/chucker
+ implementation "com.github.ChuckerTeam.Chucker:library:3.5.2" // https://github.com/ChuckerTeam/chucker
implementation "com.github.antonKozyriatskyi:CircularProgressIndicator:1.2.2" // https://github.com/antonKozyriatskyi/CircularProgressIndicator
implementation "com.github.bassaer:chatmessageview:2.0.1" // https://github.com/bassaer/ChatMessageView
implementation "com.github.hypertrack:hyperlog-android:0.0.10" // https://github.com/hypertrack/hyperlog-android
@@ -257,5 +255,5 @@ dependencies {
debugImplementation 'net.yslibrary.licenseadapter:licenseadapter:3.0.0'
- testImplementation 'junit:junit:4.13.2'
+ testImplementation 'junit:junit:4.13'
}
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
index 32b20e76..2f633ffe 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
@@ -1,5 +1,6 @@
package pl.szczodrzynski.edziennik
+import android.annotation.SuppressLint
import android.app.ActivityManager
import android.content.BroadcastReceiver
import android.content.Context
@@ -986,7 +987,13 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
d(TAG, "Activity resumed")
val filter = IntentFilter()
filter.addAction(Intent.ACTION_MAIN)
- registerReceiver(intentReceiver, filter)
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
+ registerReceiver(intentReceiver, filter, RECEIVER_NOT_EXPORTED)
+ else
+ @Suppress("UnspecifiedRegisterReceiverFlag")
+ registerReceiver(intentReceiver, filter)
+
EventBus.getDefault().register(this)
super.onResume()
}
From 4b4901e440aa79a49121ceefcf180f521626d267 Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Thu, 13 Jun 2024 18:57:40 +0200
Subject: [PATCH 09/37] fix kapt errors related to SelectiveDAO + migrate
BuildConfig
---
app/build.gradle | 5 +++--
gradle.properties | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 5926d556..a9eaea45 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -89,6 +89,7 @@ android {
buildFeatures {
dataBinding = true
viewBinding = true
+ buildConfig true
}
compileOptions {
coreLibraryDesugaringEnabled = true
@@ -192,14 +193,14 @@ dependencies {
implementation "eu.szkolny:material-about-library:1d5ebaf47c"
implementation "eu.szkolny:mhttp:af4b62e6e9"
implementation "eu.szkolny:nachos:0e5dfcaceb"
- implementation "eu.szkolny.selective-dao:annotation:27f8f3f194"
+ implementation "eu.szkolny.selective-dao:annotation:6a337f9"
officialImplementation "eu.szkolny:ssl-provider:1.0.0"
unofficialImplementation "eu.szkolny:ssl-provider:1.0.0"
implementation "pl.szczodrzynski:numberslidingpicker:2921225f76"
implementation "pl.szczodrzynski:recyclertablayout:700f980584"
implementation "pl.szczodrzynski:tachyon:551943a6b5"
- kapt "eu.szkolny.selective-dao:codegen:27f8f3f194"
+ kapt "eu.szkolny.selective-dao:codegen:6a337f9"
// Iconics & related
implementation "com.mikepenz:iconics-core:5.3.2"
diff --git a/gradle.properties b/gradle.properties
index ff0578a7..aabcac3f 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -11,7 +11,6 @@
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Tue Aug 22 15:52:38 CEST 2023
-android.defaults.buildfeatures.buildconfig=true
android.enableJetifier=true
android.nonFinalResIds=false
android.nonTransitiveRClass=false
From ab3af676638a21e874c6e8d68167f329bf60b270 Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Thu, 13 Jun 2024 19:17:18 +0200
Subject: [PATCH 10/37] adapt code to updated dependencies + align lessons
(based by szkolny-eu/szkolny-android#196)
---
.../main/java/pl/szczodrzynski/edziennik/App.kt | 3 ++-
.../edziennik/config/DelegateConfig.kt | 2 +-
.../data/api/edziennik/vulcan/data/VulcanHebe.kt | 4 +---
.../pl/szczodrzynski/edziennik/sync/WorkerUtils.kt | 12 ++++++++----
.../edziennik/ui/debug/LabProfileFragment.kt | 2 +-
.../edziennik/ui/home/cards/HomeTimetableCard.kt | 8 +++++++-
.../edziennik/ui/timetable/TimetableFragment.kt | 14 ++++++++++++--
7 files changed, 32 insertions(+), 13 deletions(-)
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/App.kt b/app/src/main/java/pl/szczodrzynski/edziennik/App.kt
index 74e23d88..a52b958b 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/App.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/App.kt
@@ -124,7 +124,8 @@ class App : MultiDexApplication(), Configuration.Provider, CoroutineScope {
private val job = Job()
override val coroutineContext: CoroutineContext
get() = job + Dispatchers.Main
- override fun getWorkManagerConfiguration() = Configuration.Builder()
+
+ override val workManagerConfiguration: Configuration = Configuration.Builder()
.setMinimumLoggingLevel(Log.VERBOSE)
.build()
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/config/DelegateConfig.kt b/app/src/main/java/pl/szczodrzynski/edziennik/config/DelegateConfig.kt
index 91dac668..74880afb 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/config/DelegateConfig.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/config/DelegateConfig.kt
@@ -144,7 +144,7 @@ class ConfigDelegate(
java.lang.Float::class.java -> value.toFloatOrNull()
// enums, maps & collections
else -> when {
- Enum::class.java.isAssignableFrom(type) -> value.toIntOrNull()?.toEnum(type) as Enum<*>
+ Enum::class.java.isAssignableFrom(type) -> value.toIntOrNull()?.toEnum(type) as Enum
Collection::class.java.isAssignableFrom(type) -> {
val array = value.toJsonArray()
val genericType = getGenericType()
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt
index 2a11386c..cf7272d5 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt
@@ -391,7 +391,7 @@ open class VulcanHebe(open val data: DataVulcan, open val lastSync: Long?) {
fun apiGetList(
tag: String,
endpoint: String,
- filterType: HebeFilterType? = null,
+ filterType: HebeFilterType = HebeFilterType.BY_PUPIL,
dateFrom: Date? = null,
dateTo: Date? = null,
lastSync: Long? = null,
@@ -424,8 +424,6 @@ open class VulcanHebe(open val data: DataVulcan, open val lastSync: Long?) {
HebeFilterType.BY_MESSAGEBOX -> {
query["box"] = messageBox ?: data.messageBoxKey ?: ""
}
-
- null -> TODO()
}
if (dateFrom != null)
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/sync/WorkerUtils.kt b/app/src/main/java/pl/szczodrzynski/edziennik/sync/WorkerUtils.kt
index e8266a64..c54d699d 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/sync/WorkerUtils.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/sync/WorkerUtils.kt
@@ -23,20 +23,24 @@ object WorkerUtils {
inline fun scheduleNext(app: App, rescheduleIfFailedFound: Boolean = true, crossinline onReschedule: () -> Unit) {
AsyncTask.execute {
val workManager = WorkManager.getInstance(app) as WorkManagerImpl
- val scheduledWork = workManager.workDatabase.workSpecDao().scheduledWork
+ val scheduledWork = workManager.workDatabase.workSpecDao().getScheduledWork() as MutableList;
+
scheduledWork.forEach {
- Utils.d("WorkerUtils", "Work: ${it.id} at ${(it.periodStartTime + it.initialDelay).formatDate()}. State = ${it.state} (finished = ${it.state.isFinished})")
+ Utils.d("WorkerUtils", "Work: ${it.id} at ${it.calculateNextRunTime().formatDate()}. State = ${it.state} (finished = ${it.state.isFinished})")
}
+
// remove finished work and other than SyncWorker
scheduledWork.removeAll { it.workerClassName != SyncWorker::class.java.canonicalName || it.isPeriodic || it.state.isFinished }
Utils.d("WorkerUtils", "Found ${scheduledWork.size} unfinished work")
+
// remove all enqueued work that had to (but didn't) run at some point in the past (at least 1min ago)
- val failedWork = scheduledWork.filter { it.state == WorkInfo.State.ENQUEUED && it.periodStartTime + it.initialDelay < System.currentTimeMillis() - 1 * MINUTE * 1000 }
+ val failedWork = scheduledWork.filter { it.state == WorkInfo.State.ENQUEUED && it.calculateNextRunTime() < System.currentTimeMillis() - 1 * MINUTE * 1000 }
Utils.d("WorkerUtils", "${failedWork.size} work requests failed to start (out of ${scheduledWork.size} requests)")
+
if (rescheduleIfFailedFound) {
if (failedWork.isNotEmpty()) {
Utils.d("WorkerUtils", "App Manager detected!")
- EventBus.getDefault().postSticky(AppManagerDetectedEvent(failedWork.map { it.periodStartTime + it.initialDelay }))
+ EventBus.getDefault().postSticky(AppManagerDetectedEvent(failedWork.map { it.calculateNextRunTime() }))
}
if (scheduledWork.size - failedWork.size < 1) {
Utils.d("WorkerUtils", "No pending work found, scheduling next:")
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/debug/LabProfileFragment.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/debug/LabProfileFragment.kt
index f4267a25..83e1703f 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/debug/LabProfileFragment.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/debug/LabProfileFragment.kt
@@ -129,7 +129,7 @@ class LabProfileFragment : LazyFragment(), CoroutineScope {
is String -> input
is Long -> input.toLong()
is Double -> input.toDouble()
- is Enum<*> -> input.toInt().toEnum(objVal::class.java)
+ is Enum<*> -> input.toInt().toEnum(objVal::class.java) as Enum
else -> input
}
field.set(parent, newVal)
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt
index fa2d0381..2d8109b9 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt
@@ -328,7 +328,7 @@ class HomeTimetableCard(
for (lesson in nextLessons) {
text += listOf(
- lesson.displayStartTime?.stringHM,
+ adjustTimeWidth(lesson.displayStartTime?.stringHM),
lesson.subjectSpannable
).concat(" ")
}
@@ -337,6 +337,12 @@ class HomeTimetableCard(
b.nextLessons.text = text.concat("\n")
}}
+ private fun adjustTimeWidth(time: String?) = when {
+ time == null -> ""
+ time.length == 4 -> " $time "
+ else -> "$time "
+ }
+
private val LessonFull?.subjectSpannable: CharSequence
get() = if (this == null) "?" else when {
hasReplacingNotes() -> getNoteSubstituteText(showNotes = true) ?: "?"
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt
index d4e710ef..925dfd24 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt
@@ -4,11 +4,13 @@
package pl.szczodrzynski.edziennik.ui.timetable
+import android.annotation.SuppressLint
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.AsyncTask
+import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -90,8 +92,16 @@ class TimetableFragment : Fragment(), CoroutineScope {
}
override fun onResume() {
super.onResume()
- activity.registerReceiver(broadcastReceiver, IntentFilter(ACTION_SCROLL_TO_DATE))
- activity.registerReceiver(broadcastReceiver, IntentFilter(ACTION_RELOAD_PAGES))
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ activity.registerReceiver(broadcastReceiver, IntentFilter(ACTION_SCROLL_TO_DATE ),
+ Context.RECEIVER_NOT_EXPORTED)
+ activity.registerReceiver(broadcastReceiver, IntentFilter(ACTION_RELOAD_PAGES),
+ Context.RECEIVER_NOT_EXPORTED)
+ } else @Suppress("UnspecifiedRegisterReceiverFlag") {
+ activity.registerReceiver(broadcastReceiver, IntentFilter(ACTION_SCROLL_TO_DATE))
+ activity.registerReceiver(broadcastReceiver, IntentFilter(ACTION_RELOAD_PAGES))
+ }
}
override fun onPause() {
super.onPause()
From d2789342dadd246414984f26bb9af3e908780672 Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Thu, 13 Jun 2024 22:47:49 +0200
Subject: [PATCH 11/37] fix: no query filtering
---
.../edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt
index cf7272d5..5031393f 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanHebe.kt
@@ -391,7 +391,7 @@ open class VulcanHebe(open val data: DataVulcan, open val lastSync: Long?) {
fun apiGetList(
tag: String,
endpoint: String,
- filterType: HebeFilterType = HebeFilterType.BY_PUPIL,
+ filterType: HebeFilterType? = null,
dateFrom: Date? = null,
dateTo: Date? = null,
lastSync: Long? = null,
@@ -424,6 +424,7 @@ open class VulcanHebe(open val data: DataVulcan, open val lastSync: Long?) {
HebeFilterType.BY_MESSAGEBOX -> {
query["box"] = messageBox ?: data.messageBoxKey ?: ""
}
+ else -> {}
}
if (dateFrom != null)
From eca2028595cd0f62368ec84dd4fc9e60140efa6b Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Thu, 13 Jun 2024 22:53:32 +0200
Subject: [PATCH 12/37] fix: duplicated items in about card
---
.../edziennik/ui/settings/cards/SettingsAboutCard.kt | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/cards/SettingsAboutCard.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/cards/SettingsAboutCard.kt
index c398cc3d..f0e1d309 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/cards/SettingsAboutCard.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/settings/cards/SettingsAboutCard.kt
@@ -47,9 +47,7 @@ class SettingsAboutCard(util: SettingsUtil) : SettingsCard(util), CoroutineScope
items = ::getItems,
itemsMore = ::getItemsMore,
backgroundColor = R.attr.colorPrimaryContainer.resolveAttr(activity)
- ).also {
- it.items.addAll(getItems(it))
- }
+ )
private val versionDetailsItem by lazy {
util.createActionItem(
From b148f7197fdca2ab81d457ab5c70dc1901f102a7 Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Thu, 13 Jun 2024 22:58:47 +0200
Subject: [PATCH 13/37] fix: "Back button opens drawer" (redundant super call)
---
app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
index ad59bf43..c1dbbb58 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
@@ -1,5 +1,6 @@
package pl.szczodrzynski.edziennik
+import android.annotation.SuppressLint
import android.app.ActivityManager
import android.content.BroadcastReceiver
import android.content.Context
@@ -1211,9 +1212,9 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
drawer.addProfileSettings(*drawerProfiles.toTypedArray())
}
+ @SuppressLint("MissingSuperCall")
@Deprecated("Deprecated in Java")
override fun onBackPressed() {
- super.onBackPressed()
if (App.config.ui.openDrawerOnBackPressed) {
if (drawer.isOpen)
navigateUp()
From beed9f858fdedee5aa7edbaafd74c6cdbf1eaffe Mon Sep 17 00:00:00 2001
From: sadorowo
Date: Fri, 14 Jun 2024 06:27:25 +0200
Subject: [PATCH 14/37] fix: too small heading in agenda dialog
---
app/src/main/res/values-v16/styles.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-v16/styles.xml b/app/src/main/res/values-v16/styles.xml
index b3ce5d0c..cd2ef687 100644
--- a/app/src/main/res/values-v16/styles.xml
+++ b/app/src/main/res/values-v16/styles.xml
@@ -76,7 +76,7 @@
- @style/AppTheme.MaterialAlertDialog.BodyText
+
\ No newline at end of file
diff --git a/navlib/src/main/res/values/attrs.xml b/navlib/src/main/res/values/attrs.xml
new file mode 100644
index 00000000..a239e4e4
--- /dev/null
+++ b/navlib/src/main/res/values/attrs.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/navlib/src/main/res/values/attrs_nav_view.xml b/navlib/src/main/res/values/attrs_nav_view.xml
new file mode 100644
index 00000000..c6169965
--- /dev/null
+++ b/navlib/src/main/res/values/attrs_nav_view.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/navlib/src/main/res/values/colors.xml b/navlib/src/main/res/values/colors.xml
new file mode 100644
index 00000000..e881e7bd
--- /dev/null
+++ b/navlib/src/main/res/values/colors.xml
@@ -0,0 +1,19 @@
+
+
+ #202196f3
+ #154FBC
+
+ #ffffff
+ #242424
+ #000000
+
+ #0dffffff
+ #12ffffff
+ #14ffffff
+ #17ffffff
+ #1cffffff
+ #1fffffff
+ #24ffffff
+ #26ffffff
+ #29ffffff
+
\ No newline at end of file
diff --git a/navlib/src/main/res/values/dimens.xml b/navlib/src/main/res/values/dimens.xml
new file mode 100644
index 00000000..3a8e4fd5
--- /dev/null
+++ b/navlib/src/main/res/values/dimens.xml
@@ -0,0 +1,4 @@
+
+
+ 10sp
+
\ No newline at end of file
diff --git a/navlib/src/main/res/values/strings.xml b/navlib/src/main/res/values/strings.xml
new file mode 100644
index 00000000..6f67dcd6
--- /dev/null
+++ b/navlib/src/main/res/values/strings.xml
@@ -0,0 +1,4 @@
+
+ NavLib
+ %1$s
+
diff --git a/navlib/src/main/res/values/styles.xml b/navlib/src/main/res/values/styles.xml
new file mode 100644
index 00000000..6ad92c22
--- /dev/null
+++ b/navlib/src/main/res/values/styles.xml
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/settings.gradle b/settings.gradle
index 02529180..d8939d3d 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,2 +1,2 @@
rootProject.name='Szkolny.eu'
-include ':app'
+include ':app', ':navlib', ':navlib-font'