mirror of
https://github.com/wulkanowy/wulkanowy.git
synced 2024-11-25 08:44:36 -06:00
Merge branch 'release/2.2.5'
This commit is contained in:
commit
d9bab2af78
@ -27,8 +27,8 @@ android {
|
|||||||
testApplicationId "io.github.tests.wulkanowy"
|
testApplicationId "io.github.tests.wulkanowy"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 34
|
targetSdkVersion 34
|
||||||
versionCode 136
|
versionCode 137
|
||||||
versionName "2.2.4"
|
versionName "2.2.5"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
resValue "string", "app_name", "Wulkanowy"
|
resValue "string", "app_name", "Wulkanowy"
|
||||||
@ -192,7 +192,7 @@ ext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'io.github.wulkanowy:sdk:2.2.4'
|
implementation 'io.github.wulkanowy:sdk:2.2.5'
|
||||||
|
|
||||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
||||||
|
|
||||||
@ -242,13 +242,13 @@ dependencies {
|
|||||||
implementation "at.favre.lib:slf4j-timber:1.0.1"
|
implementation "at.favre.lib:slf4j-timber:1.0.1"
|
||||||
implementation 'com.github.bastienpaulfr:Treessence:1.1.2'
|
implementation 'com.github.bastienpaulfr:Treessence:1.1.2'
|
||||||
implementation "com.mikepenz:aboutlibraries-core:$about_libraries"
|
implementation "com.mikepenz:aboutlibraries-core:$about_libraries"
|
||||||
implementation "io.coil-kt:coil:2.4.0"
|
implementation 'io.coil-kt:coil:2.5.0'
|
||||||
implementation "io.github.wulkanowy:AppKillerManager:3.0.1"
|
implementation "io.github.wulkanowy:AppKillerManager:3.0.1"
|
||||||
implementation 'me.xdrop:fuzzywuzzy:1.4.0'
|
implementation 'me.xdrop:fuzzywuzzy:1.4.0'
|
||||||
implementation 'com.fredporciuncula:flow-preferences:1.9.1'
|
implementation 'com.fredporciuncula:flow-preferences:1.9.1'
|
||||||
implementation 'org.apache.commons:commons-text:1.10.0'
|
implementation 'org.apache.commons:commons-text:1.11.0'
|
||||||
|
|
||||||
playImplementation platform('com.google.firebase:firebase-bom:32.4.0')
|
playImplementation platform('com.google.firebase:firebase-bom:32.5.0')
|
||||||
playImplementation 'com.google.firebase:firebase-analytics-ktx'
|
playImplementation 'com.google.firebase:firebase-analytics-ktx'
|
||||||
playImplementation 'com.google.firebase:firebase-messaging:'
|
playImplementation 'com.google.firebase:firebase-messaging:'
|
||||||
playImplementation 'com.google.firebase:firebase-crashlytics:'
|
playImplementation 'com.google.firebase:firebase-crashlytics:'
|
||||||
@ -272,7 +272,7 @@ dependencies {
|
|||||||
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines"
|
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines"
|
||||||
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
|
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
|
||||||
|
|
||||||
testImplementation 'org.robolectric:robolectric:4.10.3'
|
testImplementation 'org.robolectric:robolectric:4.11.1'
|
||||||
testImplementation "androidx.test:runner:1.5.2"
|
testImplementation "androidx.test:runner:1.5.2"
|
||||||
testImplementation "androidx.test.ext:junit:1.1.5"
|
testImplementation "androidx.test.ext:junit:1.1.5"
|
||||||
testImplementation "androidx.test:core:1.5.0"
|
testImplementation "androidx.test:core:1.5.0"
|
||||||
|
@ -5,7 +5,7 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration10 : Migration(9, 10) {
|
class Migration10 : Migration(9, 10) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Grades_Summary RENAME TO GradesSummary")
|
db.execSQL("ALTER TABLE Grades_Summary RENAME TO GradesSummary")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration11 : Migration(10, 11) {
|
class Migration11 : Migration(10, 11) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Grades_temp (
|
CREATE TABLE IF NOT EXISTS Grades_temp (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
is_read INTEGER NOT NULL,
|
is_read INTEGER NOT NULL,
|
||||||
@ -26,9 +27,10 @@ class Migration11 : Migration(10, 11) {
|
|||||||
date INTEGER NOT NULL,
|
date INTEGER NOT NULL,
|
||||||
teacher TEXT NOT NULL
|
teacher TEXT NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
database.execSQL("INSERT INTO Grades_temp SELECT * FROM Grades")
|
)
|
||||||
database.execSQL("DROP TABLE Grades")
|
db.execSQL("INSERT INTO Grades_temp SELECT * FROM Grades")
|
||||||
database.execSQL("ALTER TABLE Grades_temp RENAME TO Grades")
|
db.execSQL("DROP TABLE Grades")
|
||||||
|
db.execSQL("ALTER TABLE Grades_temp RENAME TO Grades")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,16 +5,17 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration12 : Migration(11, 12) {
|
class Migration12 : Migration(11, 12) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
createTempStudentsTable(database)
|
createTempStudentsTable(db)
|
||||||
replaceStudentTable(database)
|
replaceStudentTable(db)
|
||||||
updateStudentsWithClassId(database, getStudentsIds(database))
|
updateStudentsWithClassId(db, getStudentsIds(db))
|
||||||
removeStudentsWithNoClassId(database)
|
removeStudentsWithNoClassId(db)
|
||||||
ensureThereIsOnlyOneCurrentStudent(database)
|
ensureThereIsOnlyOneCurrentStudent(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createTempStudentsTable(database: SupportSQLiteDatabase) {
|
private fun createTempStudentsTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Students_tmp (
|
CREATE TABLE IF NOT EXISTS Students_tmp (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
endpoint TEXT NOT NULL,
|
endpoint TEXT NOT NULL,
|
||||||
@ -30,15 +31,16 @@ class Migration12 : Migration(11, 12) {
|
|||||||
registration_date INTEGER NOT NULL,
|
registration_date INTEGER NOT NULL,
|
||||||
class_id INTEGER NOT NULL
|
class_id INTEGER NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
database.execSQL("CREATE UNIQUE INDEX index_Students_email_symbol_student_id_school_id_class_id ON Students_tmp (email, symbol, student_id, school_id, class_id)")
|
)
|
||||||
|
db.execSQL("CREATE UNIQUE INDEX index_Students_email_symbol_student_id_school_id_class_id ON Students_tmp (email, symbol, student_id, school_id, class_id)")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun replaceStudentTable(database: SupportSQLiteDatabase) {
|
private fun replaceStudentTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN class_id INTEGER DEFAULT 0 NOT NULL")
|
db.execSQL("ALTER TABLE Students ADD COLUMN class_id INTEGER DEFAULT 0 NOT NULL")
|
||||||
database.execSQL("INSERT INTO Students_tmp SELECT * FROM Students")
|
db.execSQL("INSERT INTO Students_tmp SELECT * FROM Students")
|
||||||
database.execSQL("DROP TABLE Students")
|
db.execSQL("DROP TABLE Students")
|
||||||
database.execSQL("ALTER TABLE Students_tmp RENAME TO Students")
|
db.execSQL("ALTER TABLE Students_tmp RENAME TO Students")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getStudentsIds(database: SupportSQLiteDatabase): List<Int> {
|
private fun getStudentsIds(database: SupportSQLiteDatabase): List<Int> {
|
||||||
@ -54,18 +56,18 @@ class Migration12 : Migration(11, 12) {
|
|||||||
return students
|
return students
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateStudentsWithClassId(database: SupportSQLiteDatabase, students: List<Int>) {
|
private fun updateStudentsWithClassId(db: SupportSQLiteDatabase, students: List<Int>) {
|
||||||
students.forEach {
|
students.forEach {
|
||||||
database.execSQL("UPDATE Students SET class_id = IFNULL((SELECT class_id FROM Semesters WHERE student_id = $it), 0) WHERE student_id = $it")
|
db.execSQL("UPDATE Students SET class_id = IFNULL((SELECT class_id FROM Semesters WHERE student_id = $it), 0) WHERE student_id = $it")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun removeStudentsWithNoClassId(database: SupportSQLiteDatabase) {
|
private fun removeStudentsWithNoClassId(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DELETE FROM Students WHERE class_id = 0")
|
db.execSQL("DELETE FROM Students WHERE class_id = 0")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun ensureThereIsOnlyOneCurrentStudent(database: SupportSQLiteDatabase) {
|
private fun ensureThereIsOnlyOneCurrentStudent(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("UPDATE Students SET is_current = 0")
|
db.execSQL("UPDATE Students SET is_current = 0")
|
||||||
database.execSQL("UPDATE Students SET is_current = 1 WHERE id = (SELECT MAX(id) FROM Students)")
|
db.execSQL("UPDATE Students SET is_current = 1 WHERE id = (SELECT MAX(id) FROM Students)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,27 +5,30 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration13 : Migration(12, 13) {
|
class Migration13 : Migration(12, 13) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
addClassNameToStudents(database, getStudentsIds(database))
|
addClassNameToStudents(db, getStudentsIds(db))
|
||||||
updateSemestersTable(database)
|
updateSemestersTable(db)
|
||||||
markAtLeastAndOnlyOneSemesterAtCurrent(database, getStudentsAndClassIds(database))
|
markAtLeastAndOnlyOneSemesterAtCurrent(db, getStudentsAndClassIds(db))
|
||||||
clearMessagesTable(database)
|
clearMessagesTable(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addClassNameToStudents(database: SupportSQLiteDatabase, students: List<Pair<Int, String>>) {
|
private fun addClassNameToStudents(
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN class_name TEXT DEFAULT \"\" NOT NULL")
|
db: SupportSQLiteDatabase,
|
||||||
|
students: List<Pair<Int, String>>
|
||||||
|
) {
|
||||||
|
db.execSQL("ALTER TABLE Students ADD COLUMN class_name TEXT DEFAULT \"\" NOT NULL")
|
||||||
|
|
||||||
students.forEach { (id, name) ->
|
students.forEach { (id, name) ->
|
||||||
val schoolName = name.substringAfter(" - ")
|
val schoolName = name.substringAfter(" - ")
|
||||||
val className = name.substringBefore(" - ", "").replace("Klasa ", "")
|
val className = name.substringBefore(" - ", "").replace("Klasa ", "")
|
||||||
database.execSQL("UPDATE Students SET class_name = '$className' WHERE id = '$id'")
|
db.execSQL("UPDATE Students SET class_name = '$className' WHERE id = '$id'")
|
||||||
database.execSQL("UPDATE Students SET school_name = '$schoolName' WHERE id = '$id'")
|
db.execSQL("UPDATE Students SET school_name = '$schoolName' WHERE id = '$id'")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getStudentsIds(database: SupportSQLiteDatabase): MutableList<Pair<Int, String>> {
|
private fun getStudentsIds(db: SupportSQLiteDatabase): MutableList<Pair<Int, String>> {
|
||||||
val students = mutableListOf<Pair<Int, String>>()
|
val students = mutableListOf<Pair<Int, String>>()
|
||||||
database.query("SELECT id, school_name FROM Students").use {
|
db.query("SELECT id, school_name FROM Students").use {
|
||||||
if (it.moveToFirst()) {
|
if (it.moveToFirst()) {
|
||||||
do {
|
do {
|
||||||
students.add(it.getInt(0) to it.getString(1))
|
students.add(it.getInt(0) to it.getString(1))
|
||||||
@ -36,15 +39,15 @@ class Migration13 : Migration(12, 13) {
|
|||||||
return students
|
return students
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateSemestersTable(database: SupportSQLiteDatabase) {
|
private fun updateSemestersTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Semesters ADD COLUMN school_year INTEGER DEFAULT 1970 NOT NULL")
|
db.execSQL("ALTER TABLE Semesters ADD COLUMN school_year INTEGER DEFAULT 1970 NOT NULL")
|
||||||
database.execSQL("ALTER TABLE Semesters ADD COLUMN start INTEGER DEFAULT 0 NOT NULL")
|
db.execSQL("ALTER TABLE Semesters ADD COLUMN start INTEGER DEFAULT 0 NOT NULL")
|
||||||
database.execSQL("ALTER TABLE Semesters ADD COLUMN `end` INTEGER DEFAULT 0 NOT NULL")
|
db.execSQL("ALTER TABLE Semesters ADD COLUMN `end` INTEGER DEFAULT 0 NOT NULL")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getStudentsAndClassIds(database: SupportSQLiteDatabase): List<Pair<Int, Int>> {
|
private fun getStudentsAndClassIds(db: SupportSQLiteDatabase): List<Pair<Int, Int>> {
|
||||||
val students = mutableListOf<Pair<Int, Int>>()
|
val students = mutableListOf<Pair<Int, Int>>()
|
||||||
database.query("SELECT student_id, class_id FROM Students").use {
|
db.query("SELECT student_id, class_id FROM Students").use {
|
||||||
if (it.moveToFirst()) {
|
if (it.moveToFirst()) {
|
||||||
do {
|
do {
|
||||||
students.add(it.getInt(0) to it.getInt(1))
|
students.add(it.getInt(0) to it.getInt(1))
|
||||||
@ -55,14 +58,17 @@ class Migration13 : Migration(12, 13) {
|
|||||||
return students
|
return students
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun markAtLeastAndOnlyOneSemesterAtCurrent(database: SupportSQLiteDatabase, students: List<Pair<Int, Int>>) {
|
private fun markAtLeastAndOnlyOneSemesterAtCurrent(
|
||||||
|
db: SupportSQLiteDatabase,
|
||||||
|
students: List<Pair<Int, Int>>
|
||||||
|
) {
|
||||||
students.forEach { (studentId, classId) ->
|
students.forEach { (studentId, classId) ->
|
||||||
database.execSQL("UPDATE Semesters SET is_current = 0 WHERE student_id = '$studentId' AND class_id = '$classId'")
|
db.execSQL("UPDATE Semesters SET is_current = 0 WHERE student_id = '$studentId' AND class_id = '$classId'")
|
||||||
database.execSQL("UPDATE Semesters SET is_current = 1 WHERE id = (SELECT id FROM Semesters WHERE student_id = '$studentId' AND class_id = '$classId' ORDER BY semester_id DESC)")
|
db.execSQL("UPDATE Semesters SET is_current = 1 WHERE id = (SELECT id FROM Semesters WHERE student_id = '$studentId' AND class_id = '$classId' ORDER BY semester_id DESC)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun clearMessagesTable(database: SupportSQLiteDatabase) {
|
private fun clearMessagesTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DELETE FROM Messages")
|
db.execSQL("DELETE FROM Messages")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration14 : Migration(13, 14) {
|
class Migration14 : Migration(13, 14) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS GradesSummary")
|
db.execSQL("DROP TABLE IF EXISTS GradesSummary")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS GradesSummary (
|
CREATE TABLE IF NOT EXISTS GradesSummary (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
semester_id INTEGER NOT NULL,
|
semester_id INTEGER NOT NULL,
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration15 : Migration(14, 15) {
|
class Migration15 : Migration(14, 15) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS MobileDevices (
|
CREATE TABLE IF NOT EXISTS MobileDevices (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -14,6 +15,7 @@ class Migration15 : Migration(14, 15) {
|
|||||||
name TEXT NOT NULL,
|
name TEXT NOT NULL,
|
||||||
date INTEGER NOT NULL
|
date INTEGER NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration16 : Migration(15, 16) {
|
class Migration16 : Migration(15, 16) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Teachers (
|
CREATE TABLE IF NOT EXISTS Teachers (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -15,6 +16,7 @@ class Migration16 : Migration(15, 16) {
|
|||||||
name TEXT NOT NULL,
|
name TEXT NOT NULL,
|
||||||
short_name TEXT NOT NULL
|
short_name TEXT NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,13 +5,14 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration17 : Migration(16, 17) {
|
class Migration17 : Migration(16, 17) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
createGradesPointsStatisticsTable(database)
|
createGradesPointsStatisticsTable(db)
|
||||||
truncateSemestersTable(database)
|
truncateSemestersTable(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createGradesPointsStatisticsTable(database: SupportSQLiteDatabase) {
|
private fun createGradesPointsStatisticsTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS GradesPointsStatistics(
|
CREATE TABLE IF NOT EXISTS GradesPointsStatistics(
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -20,10 +21,11 @@ class Migration17 : Migration(16, 17) {
|
|||||||
others REAL NOT NULL,
|
others REAL NOT NULL,
|
||||||
student REAL NOT NULL
|
student REAL NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun truncateSemestersTable(database: SupportSQLiteDatabase) {
|
private fun truncateSemestersTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DELETE FROM Semesters")
|
db.execSQL("DELETE FROM Semesters")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration18 : Migration(17, 18) {
|
class Migration18 : Migration(17, 18) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS School (
|
CREATE TABLE IF NOT EXISTS School (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
|
@ -6,16 +6,17 @@ import io.github.wulkanowy.data.db.SharedPrefProvider
|
|||||||
|
|
||||||
class Migration19(private val sharedPrefProvider: SharedPrefProvider) : Migration(18, 19) {
|
class Migration19(private val sharedPrefProvider: SharedPrefProvider) : Migration(18, 19) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
migrateMessages(database)
|
migrateMessages(db)
|
||||||
migrateGrades(database)
|
migrateGrades(db)
|
||||||
migrateStudents(database)
|
migrateStudents(db)
|
||||||
migrateSharedPreferences()
|
migrateSharedPreferences()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateMessages(database: SupportSQLiteDatabase) {
|
private fun migrateMessages(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE Messages")
|
db.execSQL("DROP TABLE Messages")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Messages (
|
CREATE TABLE IF NOT EXISTS Messages (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
is_notified INTEGER NOT NULL,
|
is_notified INTEGER NOT NULL,
|
||||||
@ -34,12 +35,14 @@ class Migration19(private val sharedPrefProvider: SharedPrefProvider) : Migratio
|
|||||||
read_by INTEGER NOT NULL,
|
read_by INTEGER NOT NULL,
|
||||||
removed INTEGER NOT NULL
|
removed INTEGER NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateGrades(database: SupportSQLiteDatabase) {
|
private fun migrateGrades(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE Grades")
|
db.execSQL("DROP TABLE Grades")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Grades (
|
CREATE TABLE IF NOT EXISTS Grades (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
is_read INTEGER NOT NULL,
|
is_read INTEGER NOT NULL,
|
||||||
@ -59,11 +62,13 @@ class Migration19(private val sharedPrefProvider: SharedPrefProvider) : Migratio
|
|||||||
date INTEGER NOT NULL,
|
date INTEGER NOT NULL,
|
||||||
teacher TEXT NOT NULL
|
teacher TEXT NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateStudents(database: SupportSQLiteDatabase) {
|
private fun migrateStudents(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Students_tmp (
|
CREATE TABLE IF NOT EXISTS Students_tmp (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
scrapper_base_url TEXT NOT NULL,
|
scrapper_base_url TEXT NOT NULL,
|
||||||
@ -86,26 +91,29 @@ class Migration19(private val sharedPrefProvider: SharedPrefProvider) : Migratio
|
|||||||
is_current INTEGER NOT NULL,
|
is_current INTEGER NOT NULL,
|
||||||
registration_date INTEGER NOT NULL
|
registration_date INTEGER NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN scrapperBaseUrl TEXT NOT NULL DEFAULT \"\";")
|
db.execSQL("ALTER TABLE Students ADD COLUMN scrapperBaseUrl TEXT NOT NULL DEFAULT \"\";")
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN apiBaseUrl TEXT NOT NULL DEFAULT \"\";")
|
db.execSQL("ALTER TABLE Students ADD COLUMN apiBaseUrl TEXT NOT NULL DEFAULT \"\";")
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN is_parent INT NOT NULL DEFAULT 0;")
|
db.execSQL("ALTER TABLE Students ADD COLUMN is_parent INT NOT NULL DEFAULT 0;")
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN loginMode TEXT NOT NULL DEFAULT \"\";")
|
db.execSQL("ALTER TABLE Students ADD COLUMN loginMode TEXT NOT NULL DEFAULT \"\";")
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN certificateKey TEXT NOT NULL DEFAULT \"\";")
|
db.execSQL("ALTER TABLE Students ADD COLUMN certificateKey TEXT NOT NULL DEFAULT \"\";")
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN privateKey TEXT NOT NULL DEFAULT \"\";")
|
db.execSQL("ALTER TABLE Students ADD COLUMN privateKey TEXT NOT NULL DEFAULT \"\";")
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN user_login_id INTEGER NOT NULL DEFAULT 0;")
|
db.execSQL("ALTER TABLE Students ADD COLUMN user_login_id INTEGER NOT NULL DEFAULT 0;")
|
||||||
|
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
INSERT INTO Students_tmp(
|
INSERT INTO Students_tmp(
|
||||||
id, scrapper_base_url, mobile_base_url, is_parent, login_type, login_mode, certificate_key, private_key, email, password, symbol, student_id, user_login_id, student_name, school_id, school_name, school_id, school_name, class_name, class_id, is_current, registration_date)
|
id, scrapper_base_url, mobile_base_url, is_parent, login_type, login_mode, certificate_key, private_key, email, password, symbol, student_id, user_login_id, student_name, school_id, school_name, school_id, school_name, class_name, class_id, is_current, registration_date)
|
||||||
SELECT
|
SELECT
|
||||||
id, endpoint, apiBaseUrl, is_parent, loginType, "SCRAPPER", certificateKey, privateKey, email, password, symbol, student_id, user_login_id, student_name, school_id, school_name, school_id, school_name, class_name, class_id, is_current, registration_date
|
id, endpoint, apiBaseUrl, is_parent, loginType, "SCRAPPER", certificateKey, privateKey, email, password, symbol, student_id, user_login_id, student_name, school_id, school_name, school_id, school_name, class_name, class_id, is_current, registration_date
|
||||||
FROM Students
|
FROM Students
|
||||||
""")
|
"""
|
||||||
database.execSQL("DROP TABLE Students")
|
)
|
||||||
database.execSQL("ALTER TABLE Students_tmp RENAME TO Students")
|
db.execSQL("DROP TABLE Students")
|
||||||
database.execSQL("CREATE UNIQUE INDEX index_Students_email_symbol_student_id_school_id_class_id ON Students (email, symbol, student_id, school_id, class_id)")
|
db.execSQL("ALTER TABLE Students_tmp RENAME TO Students")
|
||||||
|
db.execSQL("CREATE UNIQUE INDEX index_Students_email_symbol_student_id_school_id_class_id ON Students (email, symbol, student_id, school_id, class_id)")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateSharedPreferences() {
|
private fun migrateSharedPreferences() {
|
||||||
|
@ -5,14 +5,16 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration2 : Migration(1, 2) {
|
class Migration2 : Migration(1, 2) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS LuckyNumbers (
|
CREATE TABLE IF NOT EXISTS LuckyNumbers (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
is_notified INTEGER NOT NULL,
|
is_notified INTEGER NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
date INTEGER NOT NULL,
|
date INTEGER NOT NULL,
|
||||||
lucky_number INTEGER NOT NULL)
|
lucky_number INTEGER NOT NULL)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,15 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration20 : Migration(19, 20) {
|
class Migration20 : Migration(19, 20) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
migrateTimetable(database)
|
migrateTimetable(db)
|
||||||
truncateSubjects(database)
|
truncateSubjects(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateTimetable(database: SupportSQLiteDatabase) {
|
private fun migrateTimetable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE Timetable")
|
db.execSQL("DROP TABLE Timetable")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `Timetable` (
|
CREATE TABLE IF NOT EXISTS `Timetable` (
|
||||||
`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
`student_id` INTEGER NOT NULL,
|
`student_id` INTEGER NOT NULL,
|
||||||
@ -33,10 +34,11 @@ class Migration20 : Migration(19, 20) {
|
|||||||
`changes` INTEGER NOT NULL,
|
`changes` INTEGER NOT NULL,
|
||||||
`canceled` INTEGER NOT NULL
|
`canceled` INTEGER NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun truncateSubjects(database: SupportSQLiteDatabase) {
|
private fun truncateSubjects(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DELETE FROM Subjects")
|
db.execSQL("DELETE FROM Subjects")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,11 +5,11 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration21 : Migration(20, 21) {
|
class Migration21 : Migration(20, 21) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Attendance ADD COLUMN excusable INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Attendance ADD COLUMN excusable INTEGER NOT NULL DEFAULT 0")
|
||||||
database.execSQL("ALTER TABLE Attendance ADD COLUMN time_id INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Attendance ADD COLUMN time_id INTEGER NOT NULL DEFAULT 0")
|
||||||
database.execSQL("ALTER TABLE Attendance ADD COLUMN excuse_status TEXT DEFAULT NULL")
|
db.execSQL("ALTER TABLE Attendance ADD COLUMN excuse_status TEXT DEFAULT NULL")
|
||||||
|
|
||||||
database.execSQL("DELETE FROM Semesters")
|
db.execSQL("DELETE FROM Semesters")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration22 : Migration(21, 22) {
|
class Migration22 : Migration(21, 22) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN school_short TEXT NOT NULL DEFAULT ''")
|
db.execSQL("ALTER TABLE Students ADD COLUMN school_short TEXT NOT NULL DEFAULT ''")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration23 : Migration(22, 23) {
|
class Migration23 : Migration(22, 23) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Notes ADD COLUMN teacher_symbol TEXT NOT NULL DEFAULT ''")
|
db.execSQL("ALTER TABLE Notes ADD COLUMN teacher_symbol TEXT NOT NULL DEFAULT ''")
|
||||||
database.execSQL("ALTER TABLE Notes ADD COLUMN category_type INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Notes ADD COLUMN category_type INTEGER NOT NULL DEFAULT 0")
|
||||||
database.execSQL("ALTER TABLE Notes ADD COLUMN is_points_show INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Notes ADD COLUMN is_points_show INTEGER NOT NULL DEFAULT 0")
|
||||||
database.execSQL("ALTER TABLE Notes ADD COLUMN points INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Notes ADD COLUMN points INTEGER NOT NULL DEFAULT 0")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration24 : Migration(23, 24) {
|
class Migration24 : Migration(23, 24) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Messages ADD COLUMN has_attachments INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Messages ADD COLUMN has_attachments INTEGER NOT NULL DEFAULT 0")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS MessageAttachments (
|
CREATE TABLE IF NOT EXISTS MessageAttachments (
|
||||||
real_id INTEGER NOT NULL,
|
real_id INTEGER NOT NULL,
|
||||||
message_id INTEGER NOT NULL,
|
message_id INTEGER NOT NULL,
|
||||||
@ -16,6 +17,7 @@ class Migration24 : Migration(23, 24) {
|
|||||||
filename TEXT NOT NULL,
|
filename TEXT NOT NULL,
|
||||||
PRIMARY KEY(real_id)
|
PRIMARY KEY(real_id)
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration25 : Migration(24, 25) {
|
class Migration25 : Migration(24, 25) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Homework ADD COLUMN is_done INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Homework ADD COLUMN is_done INTEGER NOT NULL DEFAULT 0")
|
||||||
database.execSQL("ALTER TABLE Homework ADD COLUMN attachments TEXT NOT NULL DEFAULT \"[]\"")
|
db.execSQL("ALTER TABLE Homework ADD COLUMN attachments TEXT NOT NULL DEFAULT \"[]\"")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration26 : Migration(25, 26) {
|
class Migration26 : Migration(25, 26) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE GradesSummary ADD COLUMN is_predicted_grade_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE GradesSummary ADD COLUMN is_predicted_grade_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
database.execSQL("ALTER TABLE GradesSummary ADD COLUMN is_final_grade_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE GradesSummary ADD COLUMN is_final_grade_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
database.execSQL("ALTER TABLE GradesSummary ADD COLUMN predicted_grade_last_change INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE GradesSummary ADD COLUMN predicted_grade_last_change INTEGER NOT NULL DEFAULT 0")
|
||||||
database.execSQL("ALTER TABLE GradesSummary ADD COLUMN final_grade_last_change INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE GradesSummary ADD COLUMN final_grade_last_change INTEGER NOT NULL DEFAULT 0")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,24 +5,25 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration27 : Migration(26, 27) {
|
class Migration27 : Migration(26, 27) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN user_name TEXT NOT NULL DEFAULT \"\"")
|
db.execSQL("ALTER TABLE Students ADD COLUMN user_name TEXT NOT NULL DEFAULT \"\"")
|
||||||
|
|
||||||
val students = getStudentsIdsAndNames(database)
|
val students = getStudentsIdsAndNames(db)
|
||||||
val units = getReportingUnits(database)
|
val units = getReportingUnits(db)
|
||||||
|
|
||||||
students.forEach { (id, userLoginId, studentName) ->
|
students.forEach { (id, userLoginId, studentName) ->
|
||||||
val userNameFromUnits = units.singleOrNull { (senderId, _) -> senderId == userLoginId }?.second
|
val userNameFromUnits =
|
||||||
|
units.singleOrNull { (senderId, _) -> senderId == userLoginId }?.second
|
||||||
val normalizedStudentName = studentName.split(" ").asReversed().joinToString(" ")
|
val normalizedStudentName = studentName.split(" ").asReversed().joinToString(" ")
|
||||||
|
|
||||||
val userName = userNameFromUnits ?: normalizedStudentName
|
val userName = userNameFromUnits ?: normalizedStudentName
|
||||||
database.execSQL("UPDATE Students SET user_name = '$userName' WHERE id = '$id'")
|
db.execSQL("UPDATE Students SET user_name = '$userName' WHERE id = '$id'")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getStudentsIdsAndNames(database: SupportSQLiteDatabase): MutableList<Triple<Long, Int, String>> {
|
private fun getStudentsIdsAndNames(db: SupportSQLiteDatabase): MutableList<Triple<Long, Int, String>> {
|
||||||
val students = mutableListOf<Triple<Long, Int, String>>()
|
val students = mutableListOf<Triple<Long, Int, String>>()
|
||||||
database.query("SELECT id, user_login_id, student_name FROM Students").use {
|
db.query("SELECT id, user_login_id, student_name FROM Students").use {
|
||||||
if (it.moveToFirst()) {
|
if (it.moveToFirst()) {
|
||||||
do {
|
do {
|
||||||
students.add(Triple(it.getLong(0), it.getInt(1), it.getString(2)))
|
students.add(Triple(it.getLong(0), it.getInt(1), it.getString(2)))
|
||||||
@ -33,9 +34,9 @@ class Migration27 : Migration(26, 27) {
|
|||||||
return students
|
return students
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getReportingUnits(database: SupportSQLiteDatabase): MutableList<Pair<Int, String>> {
|
private fun getReportingUnits(db: SupportSQLiteDatabase): MutableList<Pair<Int, String>> {
|
||||||
val units = mutableListOf<Pair<Int, String>>()
|
val units = mutableListOf<Pair<Int, String>>()
|
||||||
database.query("SELECT sender_id, sender_name FROM ReportingUnits").use {
|
db.query("SELECT sender_id, sender_name FROM ReportingUnits").use {
|
||||||
if (it.moveToFirst()) {
|
if (it.moveToFirst()) {
|
||||||
do {
|
do {
|
||||||
units.add(it.getInt(0) to it.getString(1))
|
units.add(it.getInt(0) to it.getString(1))
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration28 : Migration(27, 28) {
|
class Migration28 : Migration(27, 28) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Conferences (
|
CREATE TABLE IF NOT EXISTS Conferences (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
|
@ -5,9 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration29 : Migration(28, 29) {
|
class Migration29 : Migration(28, 29) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS GradesStatistics")
|
db.execSQL("DROP TABLE IF EXISTS GradesStatistics")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS GradeSemesterStatistics (
|
CREATE TABLE IF NOT EXISTS GradeSemesterStatistics (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -16,8 +17,10 @@ class Migration29 : Migration(28, 29) {
|
|||||||
amounts TEXT NOT NULL,
|
amounts TEXT NOT NULL,
|
||||||
student_grade INTEGER NOT NULL
|
student_grade INTEGER NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
database.execSQL("""
|
)
|
||||||
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS GradePartialStatistics (
|
CREATE TABLE IF NOT EXISTS GradePartialStatistics (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration3 : Migration(2, 3) {
|
class Migration3 : Migration(2, 3) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS CompletedLesson (
|
CREATE TABLE IF NOT EXISTS CompletedLesson (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration30 : Migration(29, 30) {
|
class Migration30 : Migration(29, 30) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE TimetableAdditional (
|
CREATE TABLE TimetableAdditional (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -16,6 +17,7 @@ class Migration30 : Migration(29, 30) {
|
|||||||
date INTEGER NOT NULL,
|
date INTEGER NOT NULL,
|
||||||
subject TEXT NOT NULL
|
subject TEXT NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration31 : Migration(30, 31) {
|
class Migration31 : Migration(30, 31) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""CREATE TABLE IF NOT EXISTS StudentInfo (
|
"""CREATE TABLE IF NOT EXISTS StudentInfo (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration32 : Migration(31, 32) {
|
class Migration32 : Migration(31, 32) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN nick TEXT NOT NULL DEFAULT \"\"")
|
db.execSQL("ALTER TABLE Students ADD COLUMN nick TEXT NOT NULL DEFAULT \"\"")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration33 : Migration(32, 33) {
|
class Migration33 : Migration(32, 33) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS StudentInfo")
|
db.execSQL("DROP TABLE IF EXISTS StudentInfo")
|
||||||
|
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""CREATE TABLE IF NOT EXISTS StudentInfo (
|
"""CREATE TABLE IF NOT EXISTS StudentInfo (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
|
@ -5,9 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration34 : Migration(33, 34) {
|
class Migration34 : Migration(33, 34) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DELETE FROM ReportingUnits")
|
db.execSQL("DELETE FROM ReportingUnits")
|
||||||
database.execSQL("DELETE FROM Recipients")
|
db.execSQL("DELETE FROM Recipients")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,13 +7,13 @@ import io.github.wulkanowy.utils.AppInfo
|
|||||||
|
|
||||||
class Migration35(private val appInfo: AppInfo) : Migration(34, 35) {
|
class Migration35(private val appInfo: AppInfo) : Migration(34, 35) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN `avatar_color` INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Students ADD COLUMN `avatar_color` INTEGER NOT NULL DEFAULT 0")
|
||||||
|
|
||||||
database.query("SELECT * FROM Students").use {
|
db.query("SELECT * FROM Students").use {
|
||||||
while (it.moveToNext()) {
|
while (it.moveToNext()) {
|
||||||
val studentId = it.getLongOrNull(0)
|
val studentId = it.getLongOrNull(0)
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
UPDATE Students
|
UPDATE Students
|
||||||
SET avatar_color = ${appInfo.defaultColorsForAvatar.random()}
|
SET avatar_color = ${appInfo.defaultColorsForAvatar.random()}
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration36 : Migration(35, 36) {
|
class Migration36 : Migration(35, 36) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Exams ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE Exams ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
database.execSQL("ALTER TABLE Homework ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE Homework ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration37 : Migration(36, 37) {
|
class Migration37 : Migration(36, 37) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS TimetableHeaders (
|
CREATE TABLE IF NOT EXISTS TimetableHeaders (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration38 : Migration(37, 38) {
|
class Migration38 : Migration(37, 38) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `SchoolAnnouncements` (
|
CREATE TABLE IF NOT EXISTS `SchoolAnnouncements` (
|
||||||
`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
`student_id` INTEGER NOT NULL,
|
`student_id` INTEGER NOT NULL,
|
||||||
@ -14,6 +15,7 @@ class Migration38 : Migration(37, 38) {
|
|||||||
`subject` TEXT NOT NULL,
|
`subject` TEXT NOT NULL,
|
||||||
`content` TEXT NOT NULL
|
`content` TEXT NOT NULL
|
||||||
)
|
)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration39 : Migration(38, 39) {
|
class Migration39 : Migration(38, 39) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Conferences ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE Conferences ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
database.execSQL("ALTER TABLE SchoolAnnouncements ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE SchoolAnnouncements ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration4 : Migration(3, 4) {
|
class Migration4 : Migration(3, 4) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS Messages")
|
db.execSQL("DROP TABLE IF EXISTS Messages")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Messages (
|
CREATE TABLE IF NOT EXISTS Messages (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
is_notified INTEGER NOT NULL,
|
is_notified INTEGER NOT NULL,
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration40 : Migration(39, 40) {
|
class Migration40 : Migration(39, 40) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `Notifications` (
|
CREATE TABLE IF NOT EXISTS `Notifications` (
|
||||||
`student_id` INTEGER NOT NULL,
|
`student_id` INTEGER NOT NULL,
|
||||||
@ -20,4 +20,4 @@ class Migration40 : Migration(39, 40) {
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,9 @@ import io.github.wulkanowy.data.enums.GradeExpandMode
|
|||||||
|
|
||||||
class Migration41(private val sharedPrefProvider: SharedPrefProvider) : Migration(40, 41) {
|
class Migration41(private val sharedPrefProvider: SharedPrefProvider) : Migration(40, 41) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
migrateSharedPreferences()
|
migrateSharedPreferences()
|
||||||
database.execSQL("ALTER TABLE Homework ADD COLUMN is_added_by_user INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE Homework ADD COLUMN is_added_by_user INTEGER NOT NULL DEFAULT 0")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateSharedPreferences() {
|
private fun migrateSharedPreferences() {
|
||||||
@ -18,4 +18,4 @@ class Migration41(private val sharedPrefProvider: SharedPrefProvider) : Migratio
|
|||||||
}
|
}
|
||||||
sharedPrefProvider.delete("pref_key_expand_grade")
|
sharedPrefProvider.delete("pref_key_expand_grade")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration42 : Migration(41, 42) {
|
class Migration42 : Migration(41, 42) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""CREATE TABLE IF NOT EXISTS `AdminMessages` (
|
"""CREATE TABLE IF NOT EXISTS `AdminMessages` (
|
||||||
`id` INTEGER NOT NULL,
|
`id` INTEGER NOT NULL,
|
||||||
`title` TEXT NOT NULL,
|
`title` TEXT NOT NULL,
|
||||||
@ -21,4 +21,4 @@ class Migration42 : Migration(41, 42) {
|
|||||||
PRIMARY KEY(`id`))"""
|
PRIMARY KEY(`id`))"""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration43 : Migration(42, 43) {
|
class Migration43 : Migration(42, 43) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Timetable ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE Timetable ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
database.execSQL("ALTER TABLE Attendance ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
db.execSQL("ALTER TABLE Attendance ADD COLUMN is_notified INTEGER NOT NULL DEFAULT 1")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration44 : Migration(43, 44) {
|
class Migration44 : Migration(43, 44) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE AdminMessages ADD COLUMN is_dismissible INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE AdminMessages ADD COLUMN is_dismissible INTEGER NOT NULL DEFAULT 0")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,65 +8,65 @@ import java.time.ZoneOffset
|
|||||||
|
|
||||||
class Migration46 : Migration(45, 46) {
|
class Migration46 : Migration(45, 46) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
migrateConferences(database)
|
migrateConferences(db)
|
||||||
migrateMessages(database)
|
migrateMessages(db)
|
||||||
migrateMobileDevices(database)
|
migrateMobileDevices(db)
|
||||||
migrateNotifications(database)
|
migrateNotifications(db)
|
||||||
migrateTimetable(database)
|
migrateTimetable(db)
|
||||||
migrateTimetableAdditional(database)
|
migrateTimetableAdditional(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateConferences(database: SupportSQLiteDatabase) {
|
private fun migrateConferences(db: SupportSQLiteDatabase) {
|
||||||
database.query("SELECT * FROM Conferences").use {
|
db.query("SELECT * FROM Conferences").use {
|
||||||
while (it.moveToNext()) {
|
while (it.moveToNext()) {
|
||||||
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
||||||
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
||||||
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
||||||
|
|
||||||
database.execSQL("UPDATE Conferences SET date = $timestampUtc WHERE id = $id")
|
db.execSQL("UPDATE Conferences SET date = $timestampUtc WHERE id = $id")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateMessages(database: SupportSQLiteDatabase) {
|
private fun migrateMessages(db: SupportSQLiteDatabase) {
|
||||||
database.query("SELECT * FROM Messages").use {
|
db.query("SELECT * FROM Messages").use {
|
||||||
while (it.moveToNext()) {
|
while (it.moveToNext()) {
|
||||||
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
||||||
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
||||||
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
||||||
|
|
||||||
database.execSQL("UPDATE Messages SET date = $timestampUtc WHERE id = $id")
|
db.execSQL("UPDATE Messages SET date = $timestampUtc WHERE id = $id")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateMobileDevices(database: SupportSQLiteDatabase) {
|
private fun migrateMobileDevices(db: SupportSQLiteDatabase) {
|
||||||
database.query("SELECT * FROM MobileDevices").use {
|
db.query("SELECT * FROM MobileDevices").use {
|
||||||
while (it.moveToNext()) {
|
while (it.moveToNext()) {
|
||||||
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
||||||
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
||||||
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
||||||
|
|
||||||
database.execSQL("UPDATE MobileDevices SET date = $timestampUtc WHERE id = $id")
|
db.execSQL("UPDATE MobileDevices SET date = $timestampUtc WHERE id = $id")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateNotifications(database: SupportSQLiteDatabase) {
|
private fun migrateNotifications(db: SupportSQLiteDatabase) {
|
||||||
database.query("SELECT * FROM Notifications").use {
|
db.query("SELECT * FROM Notifications").use {
|
||||||
while (it.moveToNext()) {
|
while (it.moveToNext()) {
|
||||||
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
||||||
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
val timestampLocal = it.getLong(it.getColumnIndexOrThrow("date"))
|
||||||
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
val timestampUtc = timestampLocal.timestampLocalToUTC()
|
||||||
|
|
||||||
database.execSQL("UPDATE Notifications SET date = $timestampUtc WHERE id = $id")
|
db.execSQL("UPDATE Notifications SET date = $timestampUtc WHERE id = $id")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateTimetable(database: SupportSQLiteDatabase) {
|
private fun migrateTimetable(db: SupportSQLiteDatabase) {
|
||||||
database.query("SELECT * FROM Timetable").use {
|
db.query("SELECT * FROM Timetable").use {
|
||||||
while (it.moveToNext()) {
|
while (it.moveToNext()) {
|
||||||
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
||||||
val timestampLocalStart = it.getLong(it.getColumnIndexOrThrow("start"))
|
val timestampLocalStart = it.getLong(it.getColumnIndexOrThrow("start"))
|
||||||
@ -74,13 +74,13 @@ class Migration46 : Migration(45, 46) {
|
|||||||
val timestampUtcStart = timestampLocalStart.timestampLocalToUTC()
|
val timestampUtcStart = timestampLocalStart.timestampLocalToUTC()
|
||||||
val timestampUtcEnd = timestampLocalEnd.timestampLocalToUTC()
|
val timestampUtcEnd = timestampLocalEnd.timestampLocalToUTC()
|
||||||
|
|
||||||
database.execSQL("UPDATE Timetable SET start = $timestampUtcStart, end = $timestampUtcEnd WHERE id = $id")
|
db.execSQL("UPDATE Timetable SET start = $timestampUtcStart, end = $timestampUtcEnd WHERE id = $id")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateTimetableAdditional(database: SupportSQLiteDatabase) {
|
private fun migrateTimetableAdditional(db: SupportSQLiteDatabase) {
|
||||||
database.query("SELECT * FROM TimetableAdditional").use {
|
db.query("SELECT * FROM TimetableAdditional").use {
|
||||||
while (it.moveToNext()) {
|
while (it.moveToNext()) {
|
||||||
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
val id = it.getLong(it.getColumnIndexOrThrow("id"))
|
||||||
val timestampLocalStart = it.getLong(it.getColumnIndexOrThrow("start"))
|
val timestampLocalStart = it.getLong(it.getColumnIndexOrThrow("start"))
|
||||||
@ -88,7 +88,7 @@ class Migration46 : Migration(45, 46) {
|
|||||||
val timestampUtcStart = timestampLocalStart.timestampLocalToUTC()
|
val timestampUtcStart = timestampLocalStart.timestampLocalToUTC()
|
||||||
val timestampUtcEnd = timestampLocalEnd.timestampLocalToUTC()
|
val timestampUtcEnd = timestampLocalEnd.timestampLocalToUTC()
|
||||||
|
|
||||||
database.execSQL("UPDATE TimetableAdditional SET start = $timestampUtcStart, end = $timestampUtcEnd WHERE id = $id")
|
db.execSQL("UPDATE TimetableAdditional SET start = $timestampUtcStart, end = $timestampUtcEnd WHERE id = $id")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration49 : Migration(48, 49) {
|
class Migration49 : Migration(48, 49) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS SchoolAnnouncements")
|
db.execSQL("DROP TABLE IF EXISTS SchoolAnnouncements")
|
||||||
|
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `SchoolAnnouncements` (
|
CREATE TABLE IF NOT EXISTS `SchoolAnnouncements` (
|
||||||
`user_login_id` INTEGER NOT NULL,
|
`user_login_id` INTEGER NOT NULL,
|
||||||
|
@ -7,11 +7,16 @@ import java.time.ZoneOffset
|
|||||||
|
|
||||||
class Migration5 : Migration(4, 5) {
|
class Migration5 : Migration(4, 5) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Students ADD COLUMN registration_date INTEGER DEFAULT 0 NOT NULL")
|
db.execSQL("ALTER TABLE Students ADD COLUMN registration_date INTEGER DEFAULT 0 NOT NULL")
|
||||||
database.execSQL("UPDATE Students SET registration_date = '${now().atZone(ZoneOffset.UTC).toInstant().toEpochMilli()}'")
|
db.execSQL(
|
||||||
database.execSQL("DROP TABLE IF EXISTS Notes")
|
"UPDATE Students SET registration_date = '${
|
||||||
database.execSQL("""
|
now().atZone(ZoneOffset.UTC).toInstant().toEpochMilli()
|
||||||
|
}'"
|
||||||
|
)
|
||||||
|
db.execSQL("DROP TABLE IF EXISTS Notes")
|
||||||
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Notes (
|
CREATE TABLE IF NOT EXISTS Notes (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
is_read INTEGER NOT NULL,
|
is_read INTEGER NOT NULL,
|
||||||
@ -21,6 +26,7 @@ class Migration5 : Migration(4, 5) {
|
|||||||
teacher TEXT NOT NULL,
|
teacher TEXT NOT NULL,
|
||||||
category TEXT NOT NULL,
|
category TEXT NOT NULL,
|
||||||
content TEXT NOT NULL)
|
content TEXT NOT NULL)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration50 : Migration(49, 50) {
|
class Migration50 : Migration(49, 50) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS MobileDevices")
|
db.execSQL("DROP TABLE IF EXISTS MobileDevices")
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `MobileDevices` (
|
CREATE TABLE IF NOT EXISTS `MobileDevices` (
|
||||||
`user_login_id` INTEGER NOT NULL,
|
`user_login_id` INTEGER NOT NULL,
|
||||||
|
@ -5,17 +5,17 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration51 : Migration(50, 51) {
|
class Migration51 : Migration(50, 51) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
createMailboxTable(database)
|
createMailboxTable(db)
|
||||||
recreateMessagesTable(database)
|
recreateMessagesTable(db)
|
||||||
recreateMessageAttachmentsTable(database)
|
recreateMessageAttachmentsTable(db)
|
||||||
recreateRecipientsTable(database)
|
recreateRecipientsTable(db)
|
||||||
deleteReportingUnitTable(database)
|
deleteReportingUnitTable(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createMailboxTable(database: SupportSQLiteDatabase) {
|
private fun createMailboxTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS Mailboxes")
|
db.execSQL("DROP TABLE IF EXISTS Mailboxes")
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `Mailboxes` (
|
CREATE TABLE IF NOT EXISTS `Mailboxes` (
|
||||||
`globalKey` TEXT NOT NULL,
|
`globalKey` TEXT NOT NULL,
|
||||||
@ -30,9 +30,9 @@ class Migration51 : Migration(50, 51) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun recreateMessagesTable(database: SupportSQLiteDatabase) {
|
private fun recreateMessagesTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS Messages")
|
db.execSQL("DROP TABLE IF EXISTS Messages")
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `Messages` (
|
CREATE TABLE IF NOT EXISTS `Messages` (
|
||||||
`message_global_key` TEXT NOT NULL,
|
`message_global_key` TEXT NOT NULL,
|
||||||
@ -52,9 +52,9 @@ class Migration51 : Migration(50, 51) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun recreateMessageAttachmentsTable(database: SupportSQLiteDatabase) {
|
private fun recreateMessageAttachmentsTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS MessageAttachments")
|
db.execSQL("DROP TABLE IF EXISTS MessageAttachments")
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `MessageAttachments` (
|
CREATE TABLE IF NOT EXISTS `MessageAttachments` (
|
||||||
`real_id` INTEGER NOT NULL,
|
`real_id` INTEGER NOT NULL,
|
||||||
@ -66,9 +66,9 @@ class Migration51 : Migration(50, 51) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun recreateRecipientsTable(database: SupportSQLiteDatabase) {
|
private fun recreateRecipientsTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS Recipients")
|
db.execSQL("DROP TABLE IF EXISTS Recipients")
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `Recipients` (
|
CREATE TABLE IF NOT EXISTS `Recipients` (
|
||||||
`mailboxGlobalKey` TEXT NOT NULL,
|
`mailboxGlobalKey` TEXT NOT NULL,
|
||||||
@ -82,7 +82,7 @@ class Migration51 : Migration(50, 51) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun deleteReportingUnitTable(database: SupportSQLiteDatabase) {
|
private fun deleteReportingUnitTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS ReportingUnits")
|
db.execSQL("DROP TABLE IF EXISTS ReportingUnits")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,14 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration53 : Migration(52, 53) {
|
class Migration53 : Migration(52, 53) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
createMailboxTable(database)
|
createMailboxTable(db)
|
||||||
recreateMessagesTable(database)
|
recreateMessagesTable(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createMailboxTable(database: SupportSQLiteDatabase) {
|
private fun createMailboxTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS Mailboxes")
|
db.execSQL("DROP TABLE IF EXISTS Mailboxes")
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `Mailboxes` (
|
CREATE TABLE IF NOT EXISTS `Mailboxes` (
|
||||||
`globalKey` TEXT NOT NULL,
|
`globalKey` TEXT NOT NULL,
|
||||||
@ -29,9 +29,9 @@ class Migration53 : Migration(52, 53) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun recreateMessagesTable(database: SupportSQLiteDatabase) {
|
private fun recreateMessagesTable(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS Messages")
|
db.execSQL("DROP TABLE IF EXISTS Messages")
|
||||||
database.execSQL(
|
db.execSQL(
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS `Messages` (
|
CREATE TABLE IF NOT EXISTS `Messages` (
|
||||||
`email` TEXT NOT NULL,
|
`email` TEXT NOT NULL,
|
||||||
|
@ -5,22 +5,24 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration54 : Migration(53, 54) {
|
class Migration54 : Migration(53, 54) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
migrateResman(database)
|
migrateResman(db)
|
||||||
removeTomaszowMazowieckiStudents(database)
|
removeTomaszowMazowieckiStudents(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun migrateResman(database: SupportSQLiteDatabase) {
|
private fun migrateResman(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
UPDATE Students SET
|
UPDATE Students SET
|
||||||
scrapper_base_url = 'https://vulcan.net.pl',
|
scrapper_base_url = 'https://vulcan.net.pl',
|
||||||
login_type = 'ADFSLightScoped',
|
login_type = 'ADFSLightScoped',
|
||||||
symbol = 'rzeszowprojekt'
|
symbol = 'rzeszowprojekt'
|
||||||
WHERE scrapper_base_url = 'https://resman.pl'
|
WHERE scrapper_base_url = 'https://resman.pl'
|
||||||
""".trimIndent())
|
""".trimIndent()
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun removeTomaszowMazowieckiStudents(database: SupportSQLiteDatabase) {
|
private fun removeTomaszowMazowieckiStudents(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DELETE FROM Students WHERE symbol = 'tomaszowmazowiecki'")
|
db.execSQL("DELETE FROM Students WHERE symbol = 'tomaszowmazowiecki'")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration6 : Migration(5, 6) {
|
class Migration6 : Migration(5, 6) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS ReportingUnits (
|
CREATE TABLE IF NOT EXISTS ReportingUnits (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -15,9 +16,11 @@ class Migration6 : Migration(5, 6) {
|
|||||||
sender_id INTEGER NOT NULL,
|
sender_id INTEGER NOT NULL,
|
||||||
sender_name TEXT NOT NULL,
|
sender_name TEXT NOT NULL,
|
||||||
roles TEXT NOT NULL)
|
roles TEXT NOT NULL)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Recipients (
|
CREATE TABLE IF NOT EXISTS Recipients (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -28,10 +31,11 @@ class Migration6 : Migration(5, 6) {
|
|||||||
unit_id INTEGER NOT NULL,
|
unit_id INTEGER NOT NULL,
|
||||||
role INTEGER NOT NULL,
|
role INTEGER NOT NULL,
|
||||||
hash TEXT NOT NULL)
|
hash TEXT NOT NULL)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
database.execSQL("DELETE FROM Semesters WHERE 1")
|
db.execSQL("DELETE FROM Semesters WHERE 1")
|
||||||
database.execSQL("ALTER TABLE Semesters ADD COLUMN class_id INTEGER DEFAULT 0 NOT NULL")
|
db.execSQL("ALTER TABLE Semesters ADD COLUMN class_id INTEGER DEFAULT 0 NOT NULL")
|
||||||
database.execSQL("ALTER TABLE Semesters ADD COLUMN unit_id INTEGER DEFAULT 0 NOT NULL")
|
db.execSQL("ALTER TABLE Semesters ADD COLUMN unit_id INTEGER DEFAULT 0 NOT NULL")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration7 : Migration(6, 7) {
|
class Migration7 : Migration(6, 7) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS GradesStatistics (
|
CREATE TABLE IF NOT EXISTS GradesStatistics (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
@ -15,6 +16,7 @@ class Migration7 : Migration(6, 7) {
|
|||||||
grade INTEGER NOT NULL,
|
grade INTEGER NOT NULL,
|
||||||
amount INTEGER NOT NULL,
|
amount INTEGER NOT NULL,
|
||||||
is_semester INTEGER NOT NULL)
|
is_semester INTEGER NOT NULL)
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,9 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration8 : Migration(7, 8) {
|
class Migration8 : Migration(7, 8) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("ALTER TABLE Timetable ADD COLUMN subjectOld TEXT DEFAULT \"\" NOT NULL")
|
db.execSQL("ALTER TABLE Timetable ADD COLUMN subjectOld TEXT DEFAULT \"\" NOT NULL")
|
||||||
database.execSQL("ALTER TABLE Timetable ADD COLUMN roomOld TEXT DEFAULT \"\" NOT NULL")
|
db.execSQL("ALTER TABLE Timetable ADD COLUMN roomOld TEXT DEFAULT \"\" NOT NULL")
|
||||||
database.execSQL("ALTER TABLE Timetable ADD COLUMN teacherOld TEXT DEFAULT \"\" NOT NULL")
|
db.execSQL("ALTER TABLE Timetable ADD COLUMN teacherOld TEXT DEFAULT \"\" NOT NULL")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase
|
|||||||
|
|
||||||
class Migration9 : Migration(8, 9) {
|
class Migration9 : Migration(8, 9) {
|
||||||
|
|
||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
database.execSQL("DROP TABLE IF EXISTS Messages")
|
db.execSQL("DROP TABLE IF EXISTS Messages")
|
||||||
database.execSQL("""
|
db.execSQL(
|
||||||
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS Messages (
|
CREATE TABLE IF NOT EXISTS Messages (
|
||||||
id INTEGER PRIMARY KEY NOT NULL,
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
student_id INTEGER NOT NULL,
|
student_id INTEGER NOT NULL,
|
||||||
|
@ -42,7 +42,7 @@ class GradeSummaryPresenter @Inject constructor(
|
|||||||
val student = studentRepository.getCurrentStudent()
|
val student = studentRepository.getCurrentStudent()
|
||||||
averageProvider.getGradesDetailsWithAverage(student, semesterId, forceRefresh)
|
averageProvider.getGradesDetailsWithAverage(student, semesterId, forceRefresh)
|
||||||
}
|
}
|
||||||
.logResourceStatus("load grade summary", showData = true)
|
.logResourceStatus("load grade summary")
|
||||||
.mapResourceData { createGradeSummaryItems(it) }
|
.mapResourceData { createGradeSummaryItems(it) }
|
||||||
.onResourceData {
|
.onResourceData {
|
||||||
view?.run {
|
view?.run {
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
Wersja 2.2.4
|
Wersja 2.2.5
|
||||||
|
|
||||||
— ułatwiliśmy przełączenie dnia na weekend w planie lekcji przy użyciu strzałek
|
— naprawiliśmy logowanie do aplikacji, które zostało zepsute w piątek aktualizacją dziennika VULCAN
|
||||||
— poprawiliśmy wsparcie dla statystyk ocen z systemem punktowym
|
|
||||||
— poprawiliśmy sortowanie nauczycieli w widoku Szkoła i nauczyciele
|
|
||||||
|
|
||||||
Pełna lista zmian: https://github.com/wulkanowy/wulkanowy/releases
|
Pełna lista zmian: https://github.com/wulkanowy/wulkanowy/releases
|
||||||
|
@ -36,7 +36,3 @@ allprojects {
|
|||||||
maven { url "https://developer.huawei.com/repo/" }
|
maven { url "https://developer.huawei.com/repo/" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('clean', Delete) {
|
|
||||||
delete rootProject.buildDir
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user