diff options
author | Allan Wang <me@allanwang.ca> | 2019-07-23 00:22:48 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2019-07-23 00:22:48 -0700 |
commit | 66dd55a0793513b45c885fdcb01bc4804b8bfd7a (patch) | |
tree | d4ce4447add88a8ce2e5039cfd207db32ed2e264 /app/src/main/kotlin/com/pitchedapps/frost/intro | |
parent | b6f05964d9955ab54cde619bc28b7b55a0525773 (diff) | |
download | frost-66dd55a0793513b45c885fdcb01bc4804b8bfd7a.tar.gz frost-66dd55a0793513b45c885fdcb01bc4804b8bfd7a.tar.bz2 frost-66dd55a0793513b45c885fdcb01bc4804b8bfd7a.zip |
Add intro panel
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/intro')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/intro/IntroMainFragments.kt | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/intro/IntroMainFragments.kt b/app/src/main/kotlin/com/pitchedapps/frost/intro/IntroMainFragments.kt index 8536dd1a..635bcfa5 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/intro/IntroMainFragments.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/intro/IntroMainFragments.kt @@ -30,10 +30,13 @@ import androidx.fragment.app.Fragment import ca.allanwang.kau.kotlin.LazyResettableRegistry import ca.allanwang.kau.utils.Kotterknife import ca.allanwang.kau.utils.bindViewResettable +import ca.allanwang.kau.utils.setIcon import ca.allanwang.kau.utils.setOnSingleTapListener +import com.mikepenz.google_material_typeface_library.GoogleMaterial import com.pitchedapps.frost.R import com.pitchedapps.frost.activities.IntroActivity import com.pitchedapps.frost.utils.Prefs +import kotlinx.android.synthetic.main.intro_analytics.* /** * Created by Allan Wang on 2017-07-28. @@ -56,7 +59,8 @@ abstract class BaseIntroFragment(val layoutRes: Int) : Fragment() { val increment = maxTranslation / views.size views.forEachIndexed { i, group -> group.forEach { - it.translationX = if (offset > 0) -maxTranslation + i * increment else -(i + 1) * increment + it.translationX = + if (offset > 0) -maxTranslation + i * increment else -(i + 1) * increment it.alpha = 1 - Math.abs(offset) } } @@ -73,9 +77,14 @@ abstract class BaseIntroFragment(val layoutRes: Int) : Fragment() { protected val image: ImageView by bindViewResettable(R.id.intro_image) protected val desc: TextView by bindViewResettable(R.id.intro_desc) - protected fun defaultViewArray(): Array<Array<out View>> = arrayOf(arrayOf(title), arrayOf(image), arrayOf(desc)) + protected fun defaultViewArray(): Array<Array<out View>> = + arrayOf(arrayOf(title), arrayOf(image), arrayOf(desc)) - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { return inflater.inflate(layoutRes, container, false) } @@ -128,6 +137,31 @@ class IntroFragmentWelcome : BaseIntroFragment(R.layout.intro_welcome) { } } +class IntroFragmentAnalytics : BaseIntroFragment(R.layout.intro_analytics) { + + val container: ConstraintLayout by bindViewResettable(R.id.intro_end_container) + + override fun viewArray(): Array<Array<out View>> = arrayOf( + arrayOf(title), arrayOf(image), + arrayOf(intro_switch), arrayOf(desc) + ) + + override fun themeFragmentImpl() { + super.themeFragmentImpl() + image.imageTintList = ColorStateList.valueOf(Prefs.textColor) + } + + @SuppressLint("ClickableViewAccessibility") + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + image.setIcon(GoogleMaterial.Icon.gmd_bug_report, 120) + intro_switch.isSelected = Prefs.analytics + intro_switch.setOnCheckedChangeListener { _, isChecked -> + Prefs.analytics = isChecked + } + } +} + class IntroFragmentEnd : BaseIntroFragment(R.layout.intro_end) { val container: ConstraintLayout by bindViewResettable(R.id.intro_end_container) |