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. 193
      app/src/main/res/layout/fragment_feed.xml

@ -10,7 +10,7 @@ import android.widget.Toast
import androidx.core.app.ActivityOptionsCompat
import androidx.core.view.isVisible
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.Sort
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.FeedTransactionRowRepresentableAdapter
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.view.RowRepresentable
import net.pokeranalytics.android.ui.view.SmoothScrollLinearLayoutManager
@ -128,14 +127,19 @@ class FeedFragment : RealmFragment(), RowRepresentableDelegate {
}
}
filters.setOnCheckedChangeListener(object : ChipGroupExtension.SingleSelectionOnCheckedListener() {
override fun onCheckedChanged(group: ChipGroup, checkedId: Int) {
super.onCheckedChanged(group, checkedId)
when (checkedId) {
R.id.filterSessions -> recyclerView.adapter = feedSessionAdapter
R.id.filterTransactions -> recyclerView.adapter = feedTransactionAdapter
tabs.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab) {
when (tab.position) {
0 -> recyclerView.adapter = feedSessionAdapter
1 -> 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) {
val sessionCount = this.feedSessionAdapter.realmResults.size
// val sessionCount = this.feedSessionAdapter.realmResults.size
// 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())
// return
// }

@ -1,137 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.activity.HomeActivity">
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.activity.HomeActivity">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:theme="@style/PokerAnalyticsTheme.Toolbar.Session"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:id="@+id/appBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:padding="8dp">
<com.google.android.material.chip.ChipGroup
android:id="@+id/filters"
android:layout_width="wrap_content"
android:theme="@style/PokerAnalyticsTheme.Toolbar.Session"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
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" />
-->
app:tabMode="fixed">
<com.google.android.material.chip.Chip
<com.google.android.material.tabs.TabItem
android:id="@+id/filterSessions"
android:layout_width="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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/operations" />
android:text="@string/operations"/>
</com.google.android.material.chip.ChipGroup>
</LinearLayout>
</com.google.android.material.tabs.TabLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.recyclerview.widget.RecyclerView
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"
tools:listitem="@layout/row_feed_session" />
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"
tools:listitem="@layout/row_feed_session"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/noSessionFound"
style="@style/PokerAnalyticsTheme.TextView.Header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/no_sessions"
android:textSize="24sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.5"
tools:visibility="visible" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_add"
android:tint="@color/black"
android:transitionName="floating_action_button"
app:fabSize="normal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/disclaimerContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/green_darker"
android:orientation="vertical"
android:padding="24dp"
android:elevation="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/noSessionFound"
style="@style/PokerAnalyticsTheme.TextView.Header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/disclaimer"
android:textSize="18sp"
tools:visibility="visible" />
android:text="@string/no_sessions"
android:textSize="24sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.5"
tools:visibility="visible"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/disclaimerDismiss"
style="@style/PokerAnalyticsTheme.Button"
android:layout_width="fill_parent"
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_gravity="bottom|end"
android:layout_marginEnd="16dp"
android:text="@string/iunderstand" />
android:layout_marginBottom="16dp"
android:src="@drawable/ic_add"
android:tint="@color/black"
android:transitionName="floating_action_button"
app:fabSize="normal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/disclaimerContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/green_darker"
android:orientation="vertical"
android:padding="24dp"
android:elevation="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/disclaimer"
android:textSize="18sp"
tools:visibility="visible"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/disclaimerDismiss"
style="@style/PokerAnalyticsTheme.Button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/iunderstand"/>
</androidx.appcompat.widget.LinearLayoutCompat>

Loading…
Cancel
Save