mirror of
https://github.com/StepanovPlaton/SSAU_Schedule.git
synced 2026-04-03 12:20:39 +04:00
Fixed bugs and updated readme.md
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Расписание СамГУ
|
# Расписание СамГУ
|
||||||
|
|
||||||
> **Расписание СамГУ** - это нативное Android-приложение приложение, позволяющее студентам СамГУ просматривать своё учебное расписание в удобном формате на своём мобильном устройстве
|
> **Расписание СамГУ** - это нативное Android-приложение, позволяющее студентам [СамГУ](https://ssau.ru) просматривать своё [учебное расписание](https://ssau.ru/rasp) в удобном формате на своём мобильном устройстве
|
||||||
|
|
||||||
|  |  |  |
|
|  |  |  |
|
||||||
|:-:|:-:|:-:|
|
|:-:|:-:|:-:|
|
||||||
@@ -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 @@
|
|||||||
- [ ] Выход из аккаунта
|
- [ ] Выход из аккаунта
|
||||||
- [ ] **Страница с расписанием на неделю** (в горизонтальной ориентации)
|
- [ ] **Страница с расписанием на неделю** (в горизонтальной ориентации)
|
||||||
- [ ] **Синхронизация с календарём**
|
- [ ] **Синхронизация с календарём**
|
||||||
- [ ] Отправка уведомлений за Х минут до начала занятий
|
- [ ] Отправка уведомлений за Х минут до начала занятий
|
||||||
|
- [ ] Подробное расписание занятий в ВУЦ
|
||||||
|
- [ ] Перемены между парами
|
||||||
@@ -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())
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user