diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7643783 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,123 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 0ad17cb..9f71c83 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 271b11e..610e9a2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,7 +16,7 @@ android:theme="@style/Theme.SSAU_Schedule" tools:targetApi="31"> @@ -27,7 +27,7 @@ diff --git a/app/src/main/java/com/example/ssau_schedule/AuthActivity.kt b/app/src/main/java/com/example/ssau_schedule/AuthActivity.kt index 3b0c422..4a4b46a 100644 --- a/app/src/main/java/com/example/ssau_schedule/AuthActivity.kt +++ b/app/src/main/java/com/example/ssau_schedule/AuthActivity.kt @@ -21,9 +21,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.imePadding -import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.statusBarsPadding import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.ButtonDefaults diff --git a/app/src/main/java/com/example/ssau_schedule/MainActivity.kt b/app/src/main/java/com/example/ssau_schedule/MainActivity.kt index c41dfbd..740f0dc 100644 --- a/app/src/main/java/com/example/ssau_schedule/MainActivity.kt +++ b/app/src/main/java/com/example/ssau_schedule/MainActivity.kt @@ -95,38 +95,38 @@ class MainActivity : ComponentActivity() { val pagerState = rememberPagerState( initialPage = currentDayOfWeek.intValue-1, pageCount = {Int.MAX_VALUE}) - LaunchedEffect(false) { - lessons.value = database.lessonDao().getAll() - } - // LaunchedEffect(false) { -// val generalData = StoreUtils.getGeneralData(applicationContext) -// if(generalData == null) -// startActivity(Intent(applicationContext, AuthActivity::class.java)) -// else { -// val week = generalData.year.getWeekOfDate(Date()) -// val (apiLessons, apiError) = lessonAPI.getLessons( -// generalData.token, generalData.group, generalData.year, week) -// if(apiLessons != null && apiError == null) { -// val (databaseLessons, converterErrors) = apiLessons.toLessons(week) -// Log.i("Lessons", Json.encodeToString(apiLessons)) -// database.lessonDao().insert(*databaseLessons.toTypedArray()) -// converterErrors.forEach { error -> -// val message = error.getMessage(applicationContext) -// if(message != null) snackbarHostState.showSnackbar(message) -// } -// lessons.value = databaseLessons -// } else { -// if(apiError == LessonAPIErrorMessage.USER_NOT_AUTHORIZED) { -// startActivity(Intent(applicationContext, AuthActivity::class.java)) -// } else { -// val message = apiError?.getMessage(applicationContext) -// if(message != null) snackbarHostState.showSnackbar(message) -// } -// } -// } +// lessons.value = database.lessonDao().getAll() // } + LaunchedEffect(false) { + val generalData = StoreUtils.getGeneralData(applicationContext) + if(generalData == null) + startActivity(Intent(applicationContext, AuthActivity::class.java)) + else { + val week = generalData.year.getWeekOfDate(Date()) + val (apiLessons, apiError) = lessonAPI.getLessons( + generalData.token, generalData.group, generalData.year, week) + if(apiLessons != null && apiError == null) { + val (databaseLessons, converterErrors) = apiLessons.toLessons(week) + Log.i("Lessons", Json.encodeToString(apiLessons)) + database.lessonDao().insert(*databaseLessons.toTypedArray()) + converterErrors.forEach { error -> + val message = error.getMessage(applicationContext) + if(message != null) snackbarHostState.showSnackbar(message) + } + lessons.value = databaseLessons + } else { + if(apiError == LessonAPIErrorMessage.USER_NOT_AUTHORIZED) { + startActivity(Intent(applicationContext, AuthActivity::class.java)) + } else { + val message = apiError?.getMessage(applicationContext) + if(message != null) snackbarHostState.showSnackbar(message) + } + } + } + } + Scaffold( snackbarHost = { SnackbarHost(hostState = snackbarHostState) {