diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml
index cb7184b..fdab2fc 100644
--- a/.idea/appInsightsSettings.xml
+++ b/.idea/appInsightsSettings.xml
@@ -17,6 +17,15 @@
+
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 396ae31..62f0b4c 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -32,8 +32,8 @@ android {
applicationId = "ru.n08i40k.polytechnic.next"
minSdk = 26
targetSdk = 35
- versionCode = 4
- versionName = "1.2.1"
+ versionCode = 5
+ versionName = "1.2.2"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
diff --git a/app/src/main/java/ru/n08i40k/polytechnic/next/data/schedule/impl/FakeScheduleRepository.kt b/app/src/main/java/ru/n08i40k/polytechnic/next/data/schedule/impl/FakeScheduleRepository.kt
index 37b8e3d..8e83e35 100644
--- a/app/src/main/java/ru/n08i40k/polytechnic/next/data/schedule/impl/FakeScheduleRepository.kt
+++ b/app/src/main/java/ru/n08i40k/polytechnic/next/data/schedule/impl/FakeScheduleRepository.kt
@@ -52,8 +52,8 @@ class FakeScheduleRepository : ScheduleRepository {
defaultIndex = 2,
name = "Операционные системы и среды",
time = LessonTime(655, 735),
- cabinets = arrayListOf("42"),
- teacherNames = arrayListOf("Сергачева А.О."),
+ cabinets = arrayListOf("42", "52"),
+ teacherNames = arrayListOf("Сергачева А.О.", "Не Сергачева А.О."),
),
Lesson(
type = LessonType.DEFAULT,
@@ -61,7 +61,7 @@ class FakeScheduleRepository : ScheduleRepository {
name = "Физическая культура",
time = LessonTime(755, 835),
cabinets = arrayListOf("c/3"),
- teacherNames = arrayListOf("Васюнин В.Г."),
+ teacherNames = arrayListOf("Васюнин В.Г.", "Не Васюнин В.Г."),
),
Lesson(
type = LessonType.DEFAULT,
diff --git a/app/src/main/java/ru/n08i40k/polytechnic/next/ui/main/schedule/LessonView.kt b/app/src/main/java/ru/n08i40k/polytechnic/next/ui/main/schedule/LessonView.kt
index 6a82b80..faafdd1 100644
--- a/app/src/main/java/ru/n08i40k/polytechnic/next/ui/main/schedule/LessonView.kt
+++ b/app/src/main/java/ru/n08i40k/polytechnic/next/ui/main/schedule/LessonView.kt
@@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
+import androidx.compose.material3.Card
import androidx.compose.material3.CardColors
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Text
@@ -19,7 +20,6 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
@@ -67,41 +67,44 @@ fun LessonExtraInfo(
mutableExpanded: MutableState = mutableStateOf(true)
) {
Dialog(onDismissRequest = { mutableExpanded.value = false }) {
- Column(modifier = Modifier.padding(5.dp)) {
- Text(lesson.name)
+ Card {
+ Column(Modifier.padding(10.dp)) {
+ Text(lesson.name)
- if (lesson.teacherNames.isNotEmpty()) {
- val teachers = buildString {
- append(stringResource(if (lesson.teacherNames.count() > 1) R.string.lesson_teachers else R.string.lesson_teacher))
- append(" - ")
- append(lesson.teacherNames.joinToString(", "))
+ if (lesson.teacherNames.isNotEmpty()) {
+ val teachers = buildString {
+ append(stringResource(if (lesson.teacherNames.count() > 1) R.string.lesson_teachers else R.string.lesson_teacher))
+ append(" - ")
+ append(lesson.teacherNames.joinToString(", "))
+ }
+ Text(teachers)
}
- Text(teachers)
- }
- val duration = buildString {
- append(stringResource(R.string.lesson_duration))
- append(" - ")
- val duration = if (lesson.time != null) lesson.time.end - lesson.time.start else 0
-
- val hours = duration / 60
- val minutes = duration % 60
-
- append(hours)
- append(stringResource(R.string.hours))
- append(" ")
- append(minutes)
- append(stringResource(R.string.minutes))
- }
- Text(duration)
-
- if (lesson.cabinets.isNotEmpty()) {
- val cabinets = buildString {
- append(stringResource(R.string.cabinets))
+ val duration = buildString {
+ append(stringResource(R.string.lesson_duration))
append(" - ")
- append(lesson.cabinets.joinToString(", "))
+ val duration =
+ if (lesson.time != null) lesson.time.end - lesson.time.start else 0
+
+ val hours = duration / 60
+ val minutes = duration % 60
+
+ append(hours)
+ append(stringResource(R.string.hours))
+ append(" ")
+ append(minutes)
+ append(stringResource(R.string.minutes))
+ }
+ Text(duration)
+
+ if (lesson.cabinets.isNotEmpty()) {
+ val cabinets = buildString {
+ append(stringResource(R.string.cabinets))
+ append(" - ")
+ append(lesson.cabinets.joinToString(", "))
+ }
+ Text(cabinets)
}
- Text(cabinets)
}
}
}
@@ -114,7 +117,7 @@ private fun LessonViewRow(
time: LessonTime? = LessonTime(0, 60),
timeFormat: LessonTimeFormat = LessonTimeFormat.FROM_TO,
name: String = "Test",
- teacherNames: String? = "Хомченко Н.Е.",
+ teacherNames: ArrayList = arrayListOf("Хомченко Н.Е.", "Хомченко Н.Е."),
cabinets: ArrayList = arrayListOf("14", "31"),
cardColors: CardColors = CardDefaults.cardColors(),
verticalPadding: Dp = 10.dp
@@ -123,8 +126,7 @@ private fun LessonViewRow(
if (timeFormat == LessonTimeFormat.FROM_TO) cardColors.contentColor else cardColors.disabledContentColor
Row(
- modifier = Modifier
- .padding(10.dp, verticalPadding),
+ modifier = Modifier.padding(10.dp, verticalPadding),
verticalAlignment = Alignment.CenterVertically,
) {
Text(
@@ -145,9 +147,7 @@ private fun LessonViewRow(
verticalArrangement = Arrangement.Center
) {
Text(
- text = formattedTime[0],
- fontFamily = FontFamily.Monospace,
- color = contentColor
+ text = formattedTime[0], fontFamily = FontFamily.Monospace, color = contentColor
)
if (formattedTime.count() > 1) {
Text(
@@ -164,40 +164,54 @@ private fun LessonViewRow(
Column(
verticalArrangement = Arrangement.Center
) {
- val fraction =
- if (cabinets.size == 0) 1F
- else if (cabinets.any { it.contains("/") }) 0.9F
- else 0.925F
- Text(
- modifier = Modifier.fillMaxWidth(fraction),
- text = name,
- maxLines = 1,
- overflow = TextOverflow.Ellipsis,
- color = contentColor
- )
- if (!teacherNames.isNullOrEmpty()) {
- Text(
- modifier = Modifier.fillMaxWidth(fraction),
- text = teacherNames,
- maxLines = 1,
- overflow = TextOverflow.Ellipsis,
- color = contentColor
- )
- }
- }
+ val fraction = if (cabinets.size == 0) 1F
+ else if (cabinets.any { it.contains("/") }) 0.9F
+ else 0.925F
- Column(verticalArrangement = Arrangement.Center) {
- cabinets.forEach {
- Text(
- modifier = Modifier.fillMaxWidth(),
- textAlign = TextAlign.End,
- text = it,
- fontFamily = FontFamily.Monospace,
- fontWeight = FontWeight.Bold,
- maxLines = 1,
- color = contentColor
- )
+
+ Row {
+ Column {
+ Text(
+ modifier = Modifier.fillMaxWidth(fraction),
+ text = name,
+ fontWeight = FontWeight.Medium,
+ maxLines = 1,
+ overflow = TextOverflow.Ellipsis,
+ color = contentColor
+ )
+
+ for (listIdx: Int in 0..