hotfix days in wrong order after data refresh

This commit is contained in:
Odweta
2024-03-04 09:34:21 +01:00
parent 5f4726d202
commit 62c4be29ed
9 changed files with 45 additions and 7 deletions
+1
View File
@@ -0,0 +1 @@
Solon
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>
+7
View File
@@ -1,10 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="#JAVA_HOME" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveExternalAnnotations" value="false" />
</GradleProjectSettings>
</option>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.22" />
</component>
</project>
+1 -2
View File
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" default="true">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
@@ -7,6 +7,7 @@ import android.graphics.drawable.GradientDrawable
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.util.Log
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
@@ -28,6 +29,9 @@ import androidx.viewpager2.widget.ViewPager2
import java.time.LocalDate
import java.time.LocalTime
class CalWeekFragment : Fragment() {
private lateinit var viewPager: ViewPager2
private lateinit var adapter: DayPagerAdapter
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -35,25 +39,32 @@ class CalWeekFragment : Fragment() {
): View? {
val view = inflater.inflate(R.layout.activity_cal_week, container, false)
val viewPager: ViewPager2 = view.findViewById(R.id.dayPager)
viewPager = view.findViewById(R.id.dayPager)
val adapter = DayPagerAdapter(childFragmentManager, viewLifecycleOwner.lifecycle)
adapter = DayPagerAdapter(childFragmentManager, viewLifecycleOwner.lifecycle)
Vars.dayCounter = 0
for (i in 0 until Vars.days.size) {
adapter.addFragment(DayFragment())
}
viewPager.viewTreeObserver.addOnPreDrawListener {
viewPager.currentItem = Vars.selectedDay
true
}
viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
Vars.selectedDay = position
if (viewPager.isLaidOut) {
Vars.selectedDay = position
Log.d("debug", Vars.selectedDay.toString())
}
}
})
viewPager.adapter = adapter
viewPager.offscreenPageLimit = adapter.itemCount
viewPager.currentItem = Vars.selectedDay
return view
}
@@ -89,7 +100,7 @@ class DayFragment : Fragment() {
val view = inflater.inflate(R.layout.fragment_day, container, false)
val dayLayout: LinearLayout = view.findViewById(R.id.layoutDayMain)
Vars.dayMap[Vars.dayCounter]?.let { createDayView(it, dayLayout, resources) }
createDayView(Vars.dayList[Vars.dayCounter], dayLayout, resources)
Vars.dayCounter += 1
return view
@@ -304,6 +304,7 @@ class MainActivity : AppCompatActivity(), MainActivityListener {
Vars.days = week
for ((i, day) in week.withIndex()) {
Vars.dayMap[i] = day
Vars.dayList.add(day)
}
// set the main content view
@@ -22,6 +22,7 @@ class Vars {
val subjectNameMap = mutableMapOf<String, String>()
val dayMap = mutableMapOf<Int, Day>()
val dayList = mutableListOf<Day>()
var days = listOf<Day>()
var marksJSON: String = ""