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"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings"> <component name="GradleSettings">
<option name="linkedExternalProjectsSettings"> <option name="linkedExternalProjectsSettings">
<GradleProjectSettings> <GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="#JAVA_HOME" /> <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" /> <option name="resolveExternalAnnotations" value="false" />
</GradleProjectSettings> </GradleProjectSettings>
</option> </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"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <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" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
</project> </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.Bundle
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.util.Log
import android.view.Gravity import android.view.Gravity
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
@@ -28,6 +29,9 @@ import androidx.viewpager2.widget.ViewPager2
import java.time.LocalDate import java.time.LocalDate
import java.time.LocalTime import java.time.LocalTime
class CalWeekFragment : Fragment() { class CalWeekFragment : Fragment() {
private lateinit var viewPager: ViewPager2
private lateinit var adapter: DayPagerAdapter
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
@@ -35,25 +39,32 @@ class CalWeekFragment : Fragment() {
): View? { ): View? {
val view = inflater.inflate(R.layout.activity_cal_week, container, false) 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 Vars.dayCounter = 0
for (i in 0 until Vars.days.size) { for (i in 0 until Vars.days.size) {
adapter.addFragment(DayFragment()) adapter.addFragment(DayFragment())
} }
viewPager.viewTreeObserver.addOnPreDrawListener {
viewPager.currentItem = Vars.selectedDay
true
}
viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) { override fun onPageSelected(position: Int) {
super.onPageSelected(position) super.onPageSelected(position)
Vars.selectedDay = position if (viewPager.isLaidOut) {
Vars.selectedDay = position
Log.d("debug", Vars.selectedDay.toString())
}
} }
}) })
viewPager.adapter = adapter viewPager.adapter = adapter
viewPager.offscreenPageLimit = adapter.itemCount viewPager.offscreenPageLimit = adapter.itemCount
viewPager.currentItem = Vars.selectedDay
return view return view
} }
@@ -89,7 +100,7 @@ class DayFragment : Fragment() {
val view = inflater.inflate(R.layout.fragment_day, container, false) val view = inflater.inflate(R.layout.fragment_day, container, false)
val dayLayout: LinearLayout = view.findViewById(R.id.layoutDayMain) 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 Vars.dayCounter += 1
return view return view
@@ -304,6 +304,7 @@ class MainActivity : AppCompatActivity(), MainActivityListener {
Vars.days = week Vars.days = week
for ((i, day) in week.withIndex()) { for ((i, day) in week.withIndex()) {
Vars.dayMap[i] = day Vars.dayMap[i] = day
Vars.dayList.add(day)
} }
// set the main content view // set the main content view
@@ -22,6 +22,7 @@ class Vars {
val subjectNameMap = mutableMapOf<String, String>() val subjectNameMap = mutableMapOf<String, String>()
val dayMap = mutableMapOf<Int, Day>() val dayMap = mutableMapOf<Int, Day>()
val dayList = mutableListOf<Day>()
var days = listOf<Day>() var days = listOf<Day>()
var marksJSON: String = "" var marksJSON: String = ""