aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt62
1 files changed, 30 insertions, 32 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt
index 7aa4eac3..36809535 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt
@@ -1,10 +1,10 @@
package com.pitchedapps.frost
-import android.graphics.Color
import android.support.constraint.ConstraintLayout
import android.support.constraint.ConstraintSet
import android.support.v7.widget.RecyclerView
import android.view.View
+import android.view.ViewGroup
import android.widget.ImageView
import ca.allanwang.kau.about.AboutActivityBase
import ca.allanwang.kau.adapters.FastItemThemedAdapter
@@ -12,7 +12,6 @@ import ca.allanwang.kau.adapters.ThemableIItem
import ca.allanwang.kau.adapters.ThemableIItemDelegate
import ca.allanwang.kau.iitems.LibraryIItem
import ca.allanwang.kau.utils.*
-import ca.allanwang.kau.views.createSimpleRippleDrawable
import com.mikepenz.aboutlibraries.Libs
import com.mikepenz.aboutlibraries.entity.Library
import com.mikepenz.aboutlibraries.entity.License
@@ -27,7 +26,7 @@ import com.pitchedapps.frost.utils.Prefs
/**
* Created by Allan Wang on 2017-06-26.
*/
-class AboutActivity : AboutActivityBase(R.string::class.java, configBuilder = {
+class AboutActivity : AboutActivityBase(null, {
textColor = Prefs.textColor
accentColor = Prefs.accentColor
backgroundColor = Prefs.bgColor.withMinAlpha(200)
@@ -37,10 +36,16 @@ class AboutActivity : AboutActivityBase(R.string::class.java, configBuilder = {
override fun getLibraries(libs: Libs): List<Library> {
val include = arrayOf(
- "materialdialogs",
- "kotterknife",
+ "AboutLibraries",
+ "AndroidIconics",
+ "dbflow",
+ "fastadapter",
"glide",
- "jsoup"
+ "Jsoup",
+ "kau",
+ "kotterknife",
+ "materialdialogs",
+ "materialdrawer"
)
/*
@@ -58,7 +63,7 @@ class AboutActivity : AboutActivityBase(R.string::class.java, configBuilder = {
"recyclerview_v7",
"support_v4"
)
- val l = libs.prepareLibraries(this, include, exclude, true, true)
+ val l = libs.prepareLibraries(this, include, null, false, true)
// l.forEach { KL.d("Lib ${it.definedName}") }
return l
}
@@ -93,7 +98,7 @@ class AboutActivity : AboutActivityBase(R.string::class.java, configBuilder = {
override fun bindView(holder: ViewHolder, payloads: MutableList<Any>?) {
super.bindView(holder, payloads)
with(holder) {
- bindIconColor(*icons.toTypedArray())
+ bindIconColor(*images.toTypedArray())
bindBackgroundColor(container)
}
}
@@ -101,7 +106,7 @@ class AboutActivity : AboutActivityBase(R.string::class.java, configBuilder = {
class ViewHolder(v: View) : RecyclerView.ViewHolder(v) {
val container: ConstraintLayout by bindView(R.id.about_icons_container)
- val icons: List<ImageView>
+ val images: List<ImageView>
/**
* There are a lot of constraints to be added to each item just to have them chained properly
@@ -111,35 +116,28 @@ class AboutActivity : AboutActivityBase(R.string::class.java, configBuilder = {
*/
init {
val c = itemView.context
- val iconData = arrayOf<Pair<Pair<Int, IIcon>, () -> Unit>>(
- R.id.about_rate to GoogleMaterial.Icon.gmd_star to { c.startPlayStoreLink(R.string.play_store_package_id) },
- R.id.about_reddit to CommunityMaterial.Icon.cmd_reddit to { c.startLink("https://www.reddit.com/r/FrostForFacebook/") },
- R.id.about_github to CommunityMaterial.Icon.cmd_github_circle to { c.startLink("https://github.com/AllanWang/Frost-for-Facebook") }
- ).map {
- //decouple and setup, then only return the image
- (pair, onClick) ->
- val (id, icon: IIcon) = pair
- val image = itemView.findViewById<ImageView>(id)
- setup(image, icon, onClick)
- Pair(image, id)
+ val size = c.dimenPixelSize(R.dimen.kau_avatar_bounds)
+ images = arrayOf<Pair<IIcon, () -> Unit>>(
+ GoogleMaterial.Icon.gmd_star to { c.startPlayStoreLink(R.string.play_store_package_id) },
+ CommunityMaterial.Icon.cmd_reddit to { c.startLink("https://www.reddit.com/r/FrostForFacebook/") },
+ CommunityMaterial.Icon.cmd_github_circle to { c.startLink("https://github.com/AllanWang/Frost-for-Facebook") }
+ ).mapIndexed { i, (icon, onClick) ->
+ ImageView(c).apply {
+ layoutParams = ViewGroup.LayoutParams(size, size)
+ id = 109389 + i
+ setImageDrawable(icon.toDrawable(context, 32))
+ scaleType = ImageView.ScaleType.CENTER
+ background = context.resolveDrawable(android.R.attr.selectableItemBackgroundBorderless)
+ setOnClickListener({ onClick() })
+ container.addView(this)
+ }
}
- icons = iconData.map { it.first }
- val ids = iconData.map { it.second }.toIntArray()
val set = ConstraintSet()
set.clone(container)
set.createHorizontalChain(ConstraintSet.PARENT_ID, ConstraintSet.LEFT, ConstraintSet.PARENT_ID, ConstraintSet.RIGHT,
- ids, null, ConstraintSet.CHAIN_SPREAD_INSIDE)
+ images.map { it.id }.toIntArray(), null, ConstraintSet.CHAIN_SPREAD_INSIDE)
set.applyTo(container)
}
-
- fun setup(image: ImageView, icon: IIcon, onClick: () -> Unit) {
- with(image) {
- setImageDrawable(icon.toDrawable(context, 32))
- scaleType = ImageView.ScaleType.CENTER
- background = context.resolveDrawable(android.R.attr.selectableItemBackgroundBorderless)
- setOnClickListener({ onClick() })
- }
- }
}
}
} \ No newline at end of file