Add tabs instead of chips

dev
Aurelien Hubert 7 years ago
parent 6b057b70a4
commit 6355a611e3
  1. 24
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FeedFragment.kt
  2. 35
      app/src/main/res/layout/fragment_feed.xml

@ -10,7 +10,7 @@ import android.widget.Toast
import androidx.core.app.ActivityOptionsCompat import androidx.core.app.ActivityOptionsCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.interpolator.view.animation.FastOutSlowInInterpolator import androidx.interpolator.view.animation.FastOutSlowInInterpolator
import com.google.android.material.chip.ChipGroup import com.google.android.material.tabs.TabLayout
import io.realm.RealmResults import io.realm.RealmResults
import io.realm.Sort import io.realm.Sort
import io.realm.kotlin.where import io.realm.kotlin.where
@ -27,7 +27,6 @@ import net.pokeranalytics.android.ui.activity.SessionActivity
import net.pokeranalytics.android.ui.adapter.FeedSessionRowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.FeedSessionRowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.FeedTransactionRowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.FeedTransactionRowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.extensions.ChipGroupExtension
import net.pokeranalytics.android.ui.fragment.components.RealmFragment import net.pokeranalytics.android.ui.fragment.components.RealmFragment
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.SmoothScrollLinearLayoutManager import net.pokeranalytics.android.ui.view.SmoothScrollLinearLayoutManager
@ -128,14 +127,19 @@ class FeedFragment : RealmFragment(), RowRepresentableDelegate {
} }
} }
filters.setOnCheckedChangeListener(object : ChipGroupExtension.SingleSelectionOnCheckedListener() { tabs.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onCheckedChanged(group: ChipGroup, checkedId: Int) { override fun onTabSelected(tab: TabLayout.Tab) {
super.onCheckedChanged(group, checkedId) when (tab.position) {
when (checkedId) { 0 -> recyclerView.adapter = feedSessionAdapter
R.id.filterSessions -> recyclerView.adapter = feedSessionAdapter 1 -> recyclerView.adapter = feedTransactionAdapter
R.id.filterTransactions -> recyclerView.adapter = feedTransactionAdapter
} }
} }
override fun onTabUnselected(tab: TabLayout.Tab) {
}
override fun onTabReselected(tab: TabLayout.Tab) {
}
}) })
} }
@ -182,9 +186,9 @@ class FeedFragment : RealmFragment(), RowRepresentableDelegate {
*/ */
private fun createNewSession(isTournament: Boolean) { private fun createNewSession(isTournament: Boolean) {
val sessionCount = this.feedSessionAdapter.realmResults.size // val sessionCount = this.feedSessionAdapter.realmResults.size
// if (!AppGuard.isProUser && sessionCount >= AppGuard.MAX_SESSIONS_BEFORE_REQUESTING_SUBSCRIPTION) { // && !BuildConfig.DEBUG // if (!AppGuard.isProUser && sessionCount >= AppGuard.MAX_SESSIONS_BEFORE_REQUESTING_SUBSCRIPTION) { // && !BuildConfig.DEBUG
//// Toast.makeText(context, "Please subscribe!", Toast.LENGTH_LONG).show() // Toast.makeText(context, "Please subscribe!", Toast.LENGTH_LONG).show()
// BillingActivity.newInstance(requireContext()) // BillingActivity.newInstance(requireContext())
// return // return
// } // }

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container" android:id="@+id/container"
@ -16,45 +17,25 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<LinearLayout <com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" app:tabMode="fixed">
android:orientation="horizontal"
android:padding="8dp">
<com.google.android.material.chip.ChipGroup <com.google.android.material.tabs.TabItem
android:id="@+id/filters"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipSpacing="8dp"
app:singleSelection="true">
<!--
<com.google.android.material.chip.Chip
android:id="@+id/filterAll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/all" />
-->
<com.google.android.material.chip.Chip
android:id="@+id/filterSessions" android:id="@+id/filterSessions"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:checked="true"
android:text="@string/sessions"/> android:text="@string/sessions"/>
<com.google.android.material.chip.Chip <com.google.android.material.tabs.TabItem
android:id="@+id/filterTransactions" android:id="@+id/filterTransactions"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/operations"/> android:text="@string/operations"/>
</com.google.android.material.chip.ChipGroup> </com.google.android.material.tabs.TabLayout>
</LinearLayout>
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>

Loading…
Cancel
Save