diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt index 0f21d694..7618d7b8 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt @@ -6,7 +6,8 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.LinearLayoutManager import io.realm.Realm -import kotlinx.android.synthetic.main.fragment_stats.* +import kotlinx.android.synthetic.main.fragment_calendar.* +import kotlinx.android.synthetic.main.fragment_stats.recyclerView import kotlinx.coroutines.* import net.pokeranalytics.android.R import net.pokeranalytics.android.calculus.Calculator @@ -15,9 +16,11 @@ import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.model.comparison.Comparator import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.ui.fragment.components.SessionObserverFragment +import net.pokeranalytics.android.ui.view.CalendarTabs import java.util.* import kotlin.coroutines.CoroutineContext + class CalendarFragment : SessionObserverFragment(), CoroutineScope { companion object { @@ -127,6 +130,12 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope { */ private fun initUI() { + CalendarTabs.values().forEach { + val tab = tabs.newTab() + tab.text = getString(it.resId) + tabs.addTab(tab) + } + val viewManager = LinearLayoutManager(requireContext()) recyclerView.apply { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/CalendarTabs.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/CalendarTabs.kt new file mode 100644 index 00000000..677e3a0f --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/CalendarTabs.kt @@ -0,0 +1,29 @@ +package net.pokeranalytics.android.ui.view + +import net.pokeranalytics.android.R + + +enum class CalendarTabs : Displayable { + NET_RESULTS, + NET_HOURLY_RATE, + NUMBER_OF_GAMES, + WIN_RATIO, + STANDARD_DEVIATION_PER_HOUR, + AVERAGE_NET_RESULT, + AVERAGE_DURATION, + DURATION_OF_PLAY; + + override val resId: Int + get() { + return when (this) { + NET_RESULTS -> R.string.net_result + NET_HOURLY_RATE -> R.string.hour_rate_without_pauses + NUMBER_OF_GAMES -> R.string.number_of_records + WIN_RATIO -> R.string.win_ratio + STANDARD_DEVIATION_PER_HOUR -> R.string.standard_deviation_per_hour + AVERAGE_NET_RESULT -> R.string.average_net_result + AVERAGE_DURATION -> R.string.average_hours_played + DURATION_OF_PLAY -> R.string.total_hours_played + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_calendar.xml b/app/src/main/res/layout/fragment_calendar.xml index aaa1d704..50adf8b2 100644 --- a/app/src/main/res/layout/fragment_calendar.xml +++ b/app/src/main/res/layout/fragment_calendar.xml @@ -1,18 +1,36 @@ - + + + + + + + + + + android:id="@+id/recyclerView" + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/appBar" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_comparison_chart.xml b/app/src/main/res/layout/fragment_comparison_chart.xml index e24de7cb..290c62ac 100644 --- a/app/src/main/res/layout/fragment_comparison_chart.xml +++ b/app/src/main/res/layout/fragment_comparison_chart.xml @@ -7,11 +7,12 @@ + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> - - - - - - - - + android:layout_height="wrap_content" />