diff --git a/mobile/.idea/.name b/mobile/.idea/.name new file mode 100644 index 0000000..99e1610 --- /dev/null +++ b/mobile/.idea/.name @@ -0,0 +1 @@ +Solon \ No newline at end of file diff --git a/mobile/.idea/compiler.xml b/mobile/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/mobile/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mobile/.idea/gradle.xml b/mobile/.idea/gradle.xml index a654d5b..8e78a60 100644 --- a/mobile/.idea/gradle.xml +++ b/mobile/.idea/gradle.xml @@ -1,10 +1,17 @@ + diff --git a/mobile/.idea/kotlinc.xml b/mobile/.idea/kotlinc.xml new file mode 100644 index 0000000..8d81632 --- /dev/null +++ b/mobile/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/mobile/.idea/misc.xml b/mobile/.idea/misc.xml index 9218e2b..481db9d 100644 --- a/mobile/.idea/misc.xml +++ b/mobile/.idea/misc.xml @@ -1,7 +1,6 @@ - - + \ No newline at end of file diff --git a/mobile/.idea/vcs.xml b/mobile/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/mobile/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mobile/app/src/main/java/com/odweta/solon/CalWeekFragment.kt b/mobile/app/src/main/java/com/odweta/solon/CalWeekFragment.kt index 80e3a8a..6ba4c3b 100644 --- a/mobile/app/src/main/java/com/odweta/solon/CalWeekFragment.kt +++ b/mobile/app/src/main/java/com/odweta/solon/CalWeekFragment.kt @@ -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 diff --git a/mobile/app/src/main/java/com/odweta/solon/MainActivity.kt b/mobile/app/src/main/java/com/odweta/solon/MainActivity.kt index 05eef7b..447cc0c 100644 --- a/mobile/app/src/main/java/com/odweta/solon/MainActivity.kt +++ b/mobile/app/src/main/java/com/odweta/solon/MainActivity.kt @@ -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 diff --git a/mobile/app/src/main/java/com/odweta/solon/Vars.kt b/mobile/app/src/main/java/com/odweta/solon/Vars.kt index 22a0f9a..e77c5c8 100644 --- a/mobile/app/src/main/java/com/odweta/solon/Vars.kt +++ b/mobile/app/src/main/java/com/odweta/solon/Vars.kt @@ -22,6 +22,7 @@ class Vars { val subjectNameMap = mutableMapOf() val dayMap = mutableMapOf() + val dayList = mutableListOf() var days = listOf() var marksJSON: String = ""