This commit is contained in:
2024-12-15 14:00:54 +04:00
parent 0d872c1c5f
commit 3acbf83b79
6 changed files with 160 additions and 34 deletions

123
.idea/codeStyles/Project.xml generated Normal file
View File

@@ -0,0 +1,123 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="XML">
<option name="FORCE_REARRANGE_MODE" value="1" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

2
.idea/misc.xml generated
View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">

View File

@@ -16,7 +16,7 @@
android:theme="@style/Theme.SSAU_Schedule" android:theme="@style/Theme.SSAU_Schedule"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity
android:name=".MainActivity" android:name=".AuthActivity"
android:exported="true" android:exported="true"
android:theme="@style/Theme.SSAU_Schedule" android:theme="@style/Theme.SSAU_Schedule"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
@@ -27,7 +27,7 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity <activity
android:name=".AuthActivity" android:name=".MainActivity"
android:exported="true" android:exported="true"
android:theme="@style/Theme.SSAU_Schedule" android:theme="@style/Theme.SSAU_Schedule"
android:screenOrientation="portrait"> android:screenOrientation="portrait">

View File

@@ -21,9 +21,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.ButtonDefaults

View File

@@ -95,38 +95,38 @@ class MainActivity : ComponentActivity() {
val pagerState = rememberPagerState( val pagerState = rememberPagerState(
initialPage = currentDayOfWeek.intValue-1, pageCount = {Int.MAX_VALUE}) initialPage = currentDayOfWeek.intValue-1, pageCount = {Int.MAX_VALUE})
LaunchedEffect(false) {
lessons.value = database.lessonDao().getAll()
}
// LaunchedEffect(false) { // LaunchedEffect(false) {
// val generalData = StoreUtils.getGeneralData(applicationContext) // lessons.value = database.lessonDao().getAll()
// 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)
// }
// }
// }
// } // }
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( Scaffold(
snackbarHost = { snackbarHost = {
SnackbarHost(hostState = snackbarHostState) { SnackbarHost(hostState = snackbarHostState) {