diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8b4c79d..89688d6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,7 +5,7 @@
,
- val stream: String,
- val begin: LocalTime,
- val end: LocalTime)
+class ScheduleUnit(
+ val oid: Int,
+ val auditorium: Auditorium,
+ val date: LocalDate,
+ val discipline: Discipline,
+ val kindOfWork: KindOfWork,
+ val lecturers: ArrayList,
+ val stream: String,
+ val begin: LocalTime,
+ val end: LocalTime
+)
-class Auditorium( val name: String,
- val oid: Int,
- val floor: Int,
- val building: Building)
-class Building( val name: String,
- val gid: Int,
- val oid: Int)
+class Auditorium(
+ val name: String,
+ val oid: Int,
+ val floor: Int,
+ val building: Building
+)
-class Discipline( val name: String,
- val oid: Int,
- val type: Int)
+class Building(
+ val name: String,
+ val gid: Int,
+ val oid: Int
+)
-class KindOfWork( val name: String,
- val oid: Int,
- val uid: String,
- val complexity: Int)
+class Discipline(
+ val name: String,
+ val oid: Int,
+ val type: Int
+)
-class Lecturer( val name: String,
- val rank: LecturerRank,
- val email: String,
- val unnId: Int,
- val uid: String)
+class KindOfWork(
+ val name: String,
+ val oid: Int,
+ val uid: String,
+ val complexity: Int
+)
-class User (val unnId: Int?,
- val bitrixId: Int,
- val userId: Int,
- val type: Type,
- val email: String,
- val nameRu: String,
- val nameEn: String,
- val isMale: Boolean,
- val birthday: LocalDate,
- val avatar: ImageSet)
+class Lecturer(
+ val name: String,
+ val rank: LecturerRank,
+ val email: String,
+ val unnId: Int,
+ val uid: String
+)
+
+class User(
+ val unnId: Int?,
+ val bitrixId: Int,
+ val userId: Int,
+ val type: Type,
+ val email: String,
+ val nameRu: String,
+ val nameEn: String,
+ val isMale: Boolean,
+ val birthday: LocalDate,
+ val avatar: ImageSet
+)
class Post(
val id: Int,
@@ -89,18 +103,25 @@ class Post(
val enableComments: Boolean,
val numComments: Int,
val date: LocalDateTime,
- val content: String)
+ val content: String
+)
-class ImageSet(val original: String,
- val thumbnail: String,
- val small: String)
+class ImageSet(
+ val original: String,
+ val thumbnail: String,
+ val small: String
+)
/**
* Authorize user by [login] and [password]
*
* Also defines local vars [PHPSESSID] and [ME]
*/
-suspend fun auth(login: String = LoginData.login, password: String = LoginData.password, forced: Boolean = false): Boolean {
+suspend fun auth(
+ login: String = LoginData.login,
+ password: String = LoginData.password,
+ forced: Boolean = false
+): Boolean {
if (!forced) {
if (::PHPSESSID.isInitialized and ::ME.isInitialized)
return true
@@ -115,7 +136,8 @@ suspend fun auth(login: String = LoginData.login, password: String = LoginData.p
}
)
if (r.status.value == 302) {
- PHPSESSID = """PHPSESSID=([\w\d]+)""".toRegex().find(r.headers["Set-Cookie"]!!)!!.groupValues[1]
+ PHPSESSID =
+ """PHPSESSID=([\w\d]+)""".toRegex().find(r.headers["Set-Cookie"]!!)!!.groupValues[1]
getMyself(login)
getCSRF()
return true
@@ -133,7 +155,7 @@ private suspend fun getMyself(login: String) {
val user = JSONObject(
client.get("$vuzapiURL/user") {
- header("Cookie", "PHPSESSID=${PHPSESSID}")
+ header("Cookie", "PHPSESSID=$PHPSESSID")
}.bodyAsText()
)
@@ -141,7 +163,7 @@ private suspend fun getMyself(login: String) {
unnId = studentinfo.getString("id").toInt(),
bitrixId = user.getInt("bitrix_id"),
userId = user.getInt("id"),
- type = when(studentinfo.getString("type")) {
+ type = when (studentinfo.getString("type")) {
"lecturer" -> Type.Lecturer // ig,,,
else -> Type.Student
},
@@ -229,8 +251,14 @@ suspend fun getSchedule(
),
lecturers = lecturers,
stream = unit.getString("stream"),
- begin = LocalTime.parse(unit.getString("beginLesson"), DateTimeFormatter.ofPattern("HH:mm")),
- end = LocalTime.parse(unit.getString("endLesson"), DateTimeFormatter.ofPattern("HH:mm"))
+ begin = LocalTime.parse(
+ unit.getString("beginLesson"),
+ DateTimeFormatter.ofPattern("HH:mm")
+ ),
+ end = LocalTime.parse(
+ unit.getString("endLesson"),
+ DateTimeFormatter.ofPattern("HH:mm")
+ )
)
)
}
@@ -239,7 +267,7 @@ suspend fun getSchedule(
suspend fun getCSRF() {
val r = client.get("$restURL/log.blogpost.get") {
- header("Cookie", "PHPSESSID=${PHPSESSID}")
+ header("Cookie", "PHPSESSID=$PHPSESSID")
parameter("sessid", "")
}
CSRF = JSONObject(r.bodyAsText()).getString("sessid")
@@ -247,7 +275,7 @@ suspend fun getCSRF() {
suspend fun getBlogposts(): ArrayList {
val r = client.get("$restURL/log.blogpost.get") {
- header("Cookie", "PHPSESSID=${PHPSESSID}")
+ header("Cookie", "PHPSESSID=$PHPSESSID")
parameter("sessid", CSRF)
}
val json = JSONObject(r.bodyAsText())
@@ -275,7 +303,7 @@ suspend fun getBlogposts(): ArrayList {
suspend fun getUserByBitrixId(id: Int): User {
val userId = JSONObject(client.get("$vuzapiURL/user/bx/$id") {
- header("Cookie", "PHPSESSID=${PHPSESSID}")
+ header("Cookie", "PHPSESSID=$PHPSESSID")
}.bodyAsText()).getInt("id")
return getUser(userId)
}
@@ -283,7 +311,7 @@ suspend fun getUserByBitrixId(id: Int): User {
suspend fun getUser(id: Int): User {
val json = JSONObject(
client.get("$vuzapiURL/user/$id") {
- header("Cookie", "PHPSESSID=${PHPSESSID}")
+ header("Cookie", "PHPSESSID=$PHPSESSID")
}.bodyAsText()
)
diff --git a/app/src/main/java/ru/sweetbread/unn/ui/UNNApp.kt b/app/src/main/java/ru/sweetbread/unn/UNNApp.kt
similarity index 91%
rename from app/src/main/java/ru/sweetbread/unn/ui/UNNApp.kt
rename to app/src/main/java/ru/sweetbread/unn/UNNApp.kt
index 1f3c6f7..b5b20e6 100644
--- a/app/src/main/java/ru/sweetbread/unn/ui/UNNApp.kt
+++ b/app/src/main/java/ru/sweetbread/unn/UNNApp.kt
@@ -1,4 +1,4 @@
-package ru.sweetbread.unn.ui
+package ru.sweetbread.unn
import android.app.Application
import android.content.Context
@@ -6,7 +6,6 @@ import org.acra.config.httpSender
import org.acra.data.StringFormat
import org.acra.ktx.initAcra
import org.acra.sender.HttpSender
-import ru.sweetbread.unn.BuildConfig
class UNNApp : Application() {
override fun attachBaseContext(base: Context) {
diff --git a/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt b/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt
index b38aa37..82e7d3e 100644
--- a/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt
+++ b/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt
@@ -47,14 +47,14 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import org.kefirsf.bb.BBProcessorFactory
import org.kefirsf.bb.TextProcessor
+import ru.sweetbread.unn.ImageSet
+import ru.sweetbread.unn.Post
import ru.sweetbread.unn.R
-import ru.sweetbread.unn.ui.ImageSet
-import ru.sweetbread.unn.ui.Post
-import ru.sweetbread.unn.ui.Type
-import ru.sweetbread.unn.ui.User
-import ru.sweetbread.unn.ui.getBlogposts
-import ru.sweetbread.unn.ui.getUserByBitrixId
-import ru.sweetbread.unn.ui.portalURL
+import ru.sweetbread.unn.Type
+import ru.sweetbread.unn.User
+import ru.sweetbread.unn.getBlogposts
+import ru.sweetbread.unn.getUserByBitrixId
+import ru.sweetbread.unn.portalURL
import ru.sweetbread.unn.ui.theme.UNNTheme
import java.time.LocalDate
import java.time.LocalDateTime
diff --git a/app/src/main/java/ru/sweetbread/unn/ui/composes/Schedule.kt b/app/src/main/java/ru/sweetbread/unn/ui/composes/Schedule.kt
index 5a9b65b..07f3f02 100644
--- a/app/src/main/java/ru/sweetbread/unn/ui/composes/Schedule.kt
+++ b/app/src/main/java/ru/sweetbread/unn/ui/composes/Schedule.kt
@@ -41,15 +41,15 @@ import com.kizitonwose.calendar.compose.WeekCalendar
import com.kizitonwose.calendar.compose.weekcalendar.rememberWeekCalendarState
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
+import ru.sweetbread.unn.Auditorium
+import ru.sweetbread.unn.Building
+import ru.sweetbread.unn.Discipline
+import ru.sweetbread.unn.KindOfWork
+import ru.sweetbread.unn.Lecturer
+import ru.sweetbread.unn.LecturerRank
import ru.sweetbread.unn.R
-import ru.sweetbread.unn.ui.Auditorium
-import ru.sweetbread.unn.ui.Building
-import ru.sweetbread.unn.ui.Discipline
-import ru.sweetbread.unn.ui.KindOfWork
-import ru.sweetbread.unn.ui.Lecturer
-import ru.sweetbread.unn.ui.LecturerRank
-import ru.sweetbread.unn.ui.ScheduleUnit
-import ru.sweetbread.unn.ui.getSchedule
+import ru.sweetbread.unn.ScheduleUnit
+import ru.sweetbread.unn.getSchedule
import ru.sweetbread.unn.ui.theme.UNNTheme
import java.time.DayOfWeek
import java.time.LocalDate
diff --git a/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt b/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt
index bc4595e..b5bbb41 100644
--- a/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt
+++ b/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt
@@ -38,7 +38,7 @@ import androidx.compose.ui.unit.dp
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import ru.sweetbread.unn.R
-import ru.sweetbread.unn.ui.auth
+import ru.sweetbread.unn.auth
import ru.sweetbread.unn.ui.theme.UNNTheme
import splitties.activities.start
import splitties.preferences.Preferences