Add follow us row (with a small hack to get the clicked position)

feature/top10
Aurelien Hubert 7 years ago
parent 872a239236
commit 121d111f96
  1. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
  2. 28
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  3. 1
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt
  4. 11
      app/src/main/java/net/pokeranalytics/android/util/Global.kt
  5. 84
      app/src/main/res/layout/row_follow_us.xml

@ -67,6 +67,14 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
SettingRow.RATE_APP -> parentActivity.openPlayStorePage() SettingRow.RATE_APP -> parentActivity.openPlayStorePage()
SettingRow.CONTACT_US -> parentActivity.openContactMail() SettingRow.CONTACT_US -> parentActivity.openContactMail()
SettingRow.BUG_REPORT -> Toast.makeText(requireContext(), "Bug report", Toast.LENGTH_SHORT).show() SettingRow.BUG_REPORT -> Toast.makeText(requireContext(), "Bug report", Toast.LENGTH_SHORT).show()
SettingRow.FOLLOW_US -> {
when(position) {
0 -> parentActivity.openUrl(BLOG)
1 -> parentActivity.openUrl(INSTAGRAM)
2 -> parentActivity.openUrl(TWITTER)
3 -> parentActivity.openUrl(FACEBOOK)
}
}
SettingRow.CURRENCY -> Toast.makeText(requireContext(), "Currency", Toast.LENGTH_SHORT).show() SettingRow.CURRENCY -> Toast.makeText(requireContext(), "Currency", Toast.LENGTH_SHORT).show()
SettingRow.PRIVACY_POLICY -> parentActivity.openUrl(URL_PRIVACY_POLICY) SettingRow.PRIVACY_POLICY -> parentActivity.openUrl(URL_PRIVACY_POLICY)
SettingRow.TERMS_OF_USE -> parentActivity.openUrl(URL_TERMS) SettingRow.TERMS_OF_USE -> parentActivity.openUrl(URL_TERMS)

@ -3,6 +3,7 @@ package net.pokeranalytics.android.ui.view
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.widget.AppCompatImageView
import androidx.appcompat.widget.AppCompatTextView import androidx.appcompat.widget.AppCompatTextView
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
@ -52,6 +53,7 @@ enum class RowViewType {
TITLE_GRID, TITLE_GRID,
ROW_SESSION, ROW_SESSION,
BUTTON, BUTTON,
FOLLOW_US,
STAT; STAT;
/** /**
@ -161,6 +163,15 @@ enum class RowViewType {
) )
) )
} }
FOLLOW_US -> {
FollowUsViewHolder(
LayoutInflater.from(parent.context).inflate(
R.layout.row_follow_us,
parent,
false
)
)
}
STAT -> StatsTitleValueViewHolder( STAT -> StatsTitleValueViewHolder(
LayoutInflater.from(parent.context).inflate( LayoutInflater.from(parent.context).inflate(
R.layout.row_stats_title_value, R.layout.row_stats_title_value,
@ -236,6 +247,23 @@ enum class RowViewType {
} }
} }
inner class FollowUsViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), BindableHolder {
override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) {
itemView.findViewById<AppCompatImageView>(R.id.icon1).setOnClickListener {
adapter.delegate?.onRowSelected(0, row)
}
itemView.findViewById<AppCompatImageView>(R.id.icon2).setOnClickListener {
adapter.delegate?.onRowSelected(1, row)
}
itemView.findViewById<AppCompatImageView>(R.id.icon3).setOnClickListener {
adapter.delegate?.onRowSelected(2, row)
}
itemView.findViewById<AppCompatImageView>(R.id.icon4).setOnClickListener {
adapter.delegate?.onRowSelected(3, row)
}
}
}
inner class StatsTitleValueViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), inner class StatsTitleValueViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView),
BindableHolder { BindableHolder {
override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) { override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) {

@ -90,6 +90,7 @@ enum class SettingRow : RowRepresentable {
get() { get() {
return when (this) { return when (this) {
VERSION -> RowViewType.TITLE_VALUE.ordinal VERSION -> RowViewType.TITLE_VALUE.ordinal
FOLLOW_US -> RowViewType.FOLLOW_US.ordinal
else -> RowViewType.TITLE_ARROW.ordinal else -> RowViewType.TITLE_ARROW.ordinal
} }
} }

@ -1,8 +1,17 @@
package net.pokeranalytics.android.util package net.pokeranalytics.android.util
val NULL_TEXT: String = "--"
// Support
const val SUPPORT_EMAIL = "support@pokeranalytics.net" const val SUPPORT_EMAIL = "support@pokeranalytics.net"
// Terms
const val URL_PRIVACY_POLICY = "https://www.poker-analytics.net/privacypolicy.html" const val URL_PRIVACY_POLICY = "https://www.poker-analytics.net/privacypolicy.html"
const val URL_TERMS = "https://www.poker-analytics.net/terms.html" const val URL_TERMS = "https://www.poker-analytics.net/terms.html"
val NULL_TEXT: String = "--" // Social Network
const val BLOG = "https://medium.com/poker-analytics"
const val INSTAGRAM = "https://www.instagram.com/pokeranalytics"
const val TWITTER = "https://twitter.com/paapptweet"
const val FACEBOOK = "https://www.facebook.com/171053452998758"

@ -0,0 +1,84 @@
<?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"
android:id="@+id/rowTitle.container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?selectableItemBackground">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon1"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:background="?selectableItemBackgroundBorderless"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/icon2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintStart_toStartOf="@+id/guidelineStart"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/blog" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon2"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:background="?selectableItemBackgroundBorderless"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/icon3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/icon1"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/insta" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon3"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:background="?selectableItemBackgroundBorderless"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/icon4"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/icon2"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/twitter" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon4"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:background="?selectableItemBackgroundBorderless"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guidelineEnd"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/icon3"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/facebook" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="16dp" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineEnd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="16dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save