Fixed bugs and updated readme.md

This commit is contained in:
2024-12-16 12:14:17 +04:00
parent eef73591e2
commit 7fba7cb3c7
3 changed files with 12 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
# Расписание СамГУ # Расписание СамГУ
> **Расписание СамГУ** - это нативное Android-приложение приложение, позволяющее студентам СамГУ просматривать своё учебное расписание в удобном формате на своём мобильном устройстве > **Расписание СамГУ** - это нативное Android-приложение, позволяющее студентам [СамГУ](https://ssau.ru) просматривать своё [учебное расписание](https://ssau.ru/rasp) в удобном формате на своём мобильном устройстве
| ![](./screenshots/2s.png) | ![](./screenshots/2l.png) | ![](./screenshots/2w.png) | | ![](./screenshots/2s.png) | ![](./screenshots/2l.png) | ![](./screenshots/2w.png) |
|:-:|:-:|:-:| |:-:|:-:|:-:|
@@ -8,7 +8,7 @@
## Функционал ## Функционал
- Приветственная страница с логотипом университета - Приветственная страница с логотипом университета
- Форма входа в личный кабинет - Форма входа в личный кабинет
- Используется API официального сервера университета, поэтому для авторизации используется логин и пароль от [личного кабинета студента](https://lk.ssau.ru) - Проведён реверс-инжиниринг нового [личного кабинета студента](https://lk.ssau.ru), используется API официального сервера университета, поэтому для авторизации используется учётная запись университета
- Страница расписания по дням - Страница расписания по дням
- Загрузка расписания в фоновом режиме создаёт эффект бесконечной прокрутки - Загрузка расписания в фоновом режиме создаёт эффект бесконечной прокрутки
- Использованы официальные цвета [личного кабинета студента](https://lk.ssau.ru) - Использованы официальные цвета [личного кабинета студента](https://lk.ssau.ru)
@@ -47,4 +47,6 @@
- [ ] Выход из аккаунта - [ ] Выход из аккаунта
- [ ] **Страница с расписанием на неделю** (в горизонтальной ориентации) - [ ] **Страница с расписанием на неделю** (в горизонтальной ориентации)
- [ ] **Синхронизация с календарём** - [ ] **Синхронизация с календарём**
- [ ] Отправка уведомлений за Х минут до начала занятий - [ ] Отправка уведомлений за Х минут до начала занятий
- [ ] Подробное расписание занятий в ВУЦ
- [ ] Перемены между парами

View File

@@ -91,7 +91,7 @@ class MainActivity : ComponentActivity() {
val lessons = remember { mutableStateOf<List<Lesson>>(listOf()) } val lessons = remember { mutableStateOf<List<Lesson>>(listOf()) }
val animationScope = rememberCoroutineScope() val animationScope = rememberCoroutineScope()
val pagerState = rememberPagerState( val pagerState = rememberPagerState(
initialPage = Utils.Date.getDayOfWeek(Date()) - 1, pageCount = { Int.MAX_VALUE }) initialPage = Utils.Date.getDayOfWeek(Date()), pageCount = { Int.MAX_VALUE })
val studyYear = remember { mutableStateOf<Year?>(null) } val studyYear = remember { mutableStateOf<Year?>(null) }
val loadedWeeks = remember { mutableStateOf<List<Int>>(listOf()) } val loadedWeeks = remember { mutableStateOf<List<Int>>(listOf()) }
val workStarted = remember { mutableStateOf(false) } val workStarted = remember { mutableStateOf(false) }
@@ -141,7 +141,7 @@ class MainActivity : ComponentActivity() {
studyYear.value = generalData.year studyYear.value = generalData.year
val day = Utils.Date.addDays( val day = Utils.Date.addDays(
Date(), Date(),
pagerState.currentPage - Utils.Date.getDayOfWeek(Date())+1 pagerState.currentPage - Utils.Date.getDayOfWeek(Date())
) )
var week = generalData.year.getWeekOfDate(day) var week = generalData.year.getWeekOfDate(day)
if (!loadedWeeks.value.contains(week)) getLessons(generalData, week) if (!loadedWeeks.value.contains(week)) getLessons(generalData, week)
@@ -224,7 +224,7 @@ class MainActivity : ComponentActivity() {
Date(), Date(),
pagerState.currentPage - Utils.Date.getDayOfWeek( pagerState.currentPage - Utils.Date.getDayOfWeek(
Date() Date()
)+1 )
) )
), ),
color = MaterialTheme.colorScheme.primary, color = MaterialTheme.colorScheme.primary,
@@ -258,10 +258,10 @@ class MainActivity : ComponentActivity() {
HorizontalPager(state = pagerState) { page -> HorizontalPager(state = pagerState) { page ->
val todayLessons = lessons.value.filter { lesson -> val todayLessons = lessons.value.filter { lesson ->
lesson.dayOfWeek - 1 == Utils.Date.getDayOfWeek( lesson.dayOfWeek - 1 == Utils.Date.getDayOfWeek(
Utils.Date.addDays(Date(), page - Utils.Date.getDayOfWeek(Date())+1) Utils.Date.addDays(Date(), page - Utils.Date.getDayOfWeek(Date()))
) && ) &&
lesson.week == Utils.Date.getWeekOfStudyYear( lesson.week - 1 == Utils.Date.getWeekOfStudyYear(
Utils.Date.addDays(Date(), page - Utils.Date.getDayOfWeek(Date())+1) Utils.Date.addDays(Date(), page - Utils.Date.getDayOfWeek(Date()))
) )
}.sortedBy { lesson -> lesson.beginTime } }.sortedBy { lesson -> lesson.beginTime }
if (todayLessons.isEmpty()) if (todayLessons.isEmpty())

View File

@@ -65,7 +65,7 @@ class ScheduleWidget : GlanceAppWidget() {
it it
) )
) && ) &&
lesson.week == Utils.Date.getWeekOfStudyYear(Date()) lesson.week - 1 == Utils.Date.getWeekOfStudyYear(Date())
}.sortedBy { lesson -> lesson.beginTime } }.sortedBy { lesson -> lesson.beginTime }
Box( Box(