aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/views
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/views')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt11
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt21
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt47
3 files changed, 71 insertions, 8 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt
index c9ee5a76..0fb9dbbb 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt
@@ -5,6 +5,7 @@ import android.support.v7.widget.AppCompatTextView
import android.support.v7.widget.RecyclerView
import android.view.View
import android.widget.ImageView
+import ca.allanwang.kau.iitems.KauIItem
import ca.allanwang.kau.utils.bindView
import ca.allanwang.kau.utils.fadeIn
import ca.allanwang.kau.utils.toDrawable
@@ -15,7 +16,6 @@ import com.bumptech.glide.load.resource.bitmap.CircleCrop
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target
-import com.mikepenz.fastadapter.items.AbstractItem
import com.mikepenz.google_material_typeface_library.GoogleMaterial
import com.pitchedapps.frost.R
import com.pitchedapps.frost.dbflow.CookieModel
@@ -25,13 +25,8 @@ import com.pitchedapps.frost.utils.Prefs
/**
* Created by Allan Wang on 2017-06-05.
*/
-class AccountItem(val cookie: CookieModel?) : AbstractItem<AccountItem, AccountItem.ViewHolder>() {
-
- override fun getType(): Int = R.id.item_account
-
- override fun getViewHolder(v: View) = ViewHolder(v)
-
- override fun getLayoutRes(): Int = R.layout.view_account
+class AccountItem(val cookie: CookieModel?) : KauIItem<AccountItem, AccountItem.ViewHolder>
+(R.layout.view_account, { ViewHolder(it) }, R.id.item_account) {
override fun bindView(viewHolder: ViewHolder, payloads: List<Any>?) {
super.bindView(viewHolder, payloads)
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt
new file mode 100644
index 00000000..b856f973
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt
@@ -0,0 +1,21 @@
+package com.pitchedapps.frost.views
+
+import android.content.Context
+import android.support.v4.view.ViewPager
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.pitchedapps.frost.utils.L
+import com.pitchedapps.frost.utils.Prefs
+
+/**
+ * Created by Allan Wang on 2017-07-07.
+ *
+ * Basic override to allow us to control swiping
+ */
+class FrostViewPager @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : ViewPager(context, attrs) {
+ var enableSwipe = true
+
+ override fun onInterceptTouchEvent(ev: MotionEvent?) = Prefs.viewpagerSwipe && enableSwipe && super.onInterceptTouchEvent(ev)
+
+ override fun onTouchEvent(ev: MotionEvent?): Boolean = Prefs.viewpagerSwipe && enableSwipe && super.onTouchEvent(ev)
+} \ No newline at end of file
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt
new file mode 100644
index 00000000..1d8f308d
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt
@@ -0,0 +1,47 @@
+package com.pitchedapps.frost.views
+
+import android.annotation.SuppressLint
+import android.util.TypedValue
+import ca.allanwang.kau.kpref.items.KPrefSeekbar
+import com.pitchedapps.frost.R
+
+/**
+ * Created by Allan Wang on 2017-07-07.
+ */
+class KPrefTextSeekbar(builder: KPrefSeekbarContract) : KPrefSeekbar(builder) {
+
+ var descOriginalSize = 1f
+
+ init {
+ with(builder) {
+ min = 50
+ max = 200
+ descRes = R.string.web_text_scaling_desc
+ textViewConfigs = {
+ minEms = 2
+ setOnLongClickListener {
+ pref = 100
+ reloadSelf()
+ true
+ }
+ }
+ }
+ }
+
+ @SuppressLint("MissingSuperCall")
+ override fun onPostBindView(viewHolder: ViewHolder, textColor: Int?, accentColor: Int?) {
+ descOriginalSize = viewHolder.desc?.textSize ?: 1f
+ viewHolder.desc?.layoutParams
+ builder.toText = {
+ viewHolder.desc?.setTextSize(TypedValue.COMPLEX_UNIT_PX, descOriginalSize * it.toFloat() / 100)
+ "$it%"
+ }
+
+ super.onPostBindView(viewHolder, textColor, accentColor)
+ }
+
+ override fun unbindView(holder: ViewHolder) {
+ holder.desc?.setTextSize(TypedValue.COMPLEX_UNIT_PX, descOriginalSize)
+ super.unbindView(holder)
+ }
+} \ No newline at end of file