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.kt82
1 files changed, 75 insertions, 7 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt
index 67ce8f7c..b9bb52d8 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/AboutActivity.kt
@@ -1,14 +1,25 @@
package com.pitchedapps.frost
+import android.graphics.Color
+import android.support.constraint.ConstraintLayout
+import android.support.v7.widget.RecyclerView
+import android.view.View
+import android.widget.ImageView
import ca.allanwang.kau.about.AboutActivityBase
import ca.allanwang.kau.adapters.FastItemThemedAdapter
-import ca.allanwang.kau.iitems.CardIItem
-import ca.allanwang.kau.logging.KL
-import ca.allanwang.kau.utils.isColorVisibleOn
-import ca.allanwang.kau.utils.withMinAlpha
+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
+import com.mikepenz.community_material_typeface_library.CommunityMaterial
import com.mikepenz.fastadapter.IItem
+import com.mikepenz.fastadapter.items.AbstractItem
+import com.mikepenz.google_material_typeface_library.GoogleMaterial
+import com.mikepenz.iconics.typeface.IIcon
import com.pitchedapps.frost.utils.Prefs
@@ -51,8 +62,65 @@ class AboutActivity : AboutActivityBase(R.string::class.java, configBuilder = {
}
override fun postInflateMainPage(adapter: FastItemThemedAdapter<IItem<*, *>>) {
- adapter.add(CardIItem {
- descRes = R.string.frost_description
- })
+ /**
+ * Frost may not be a library but we're conveying the same info
+ */
+ val frost = Library().apply {
+ libraryName = string(R.string.app_name)
+ author = "Pitched Apps"
+ libraryWebsite = "https://github.com/AllanWang/Frost-for-Facebook"
+ isOpenSource = true
+ libraryDescription = string(R.string.frost_description)
+ libraryVersion = BuildConfig.VERSION_NAME
+ license = License().apply {
+ licenseName = "GNU GPL v3"
+ licenseWebsite = "https://www.gnu.org/licenses/gpl-3.0.en.html"
+ }
+ }
+ adapter.add(LibraryIItem(frost)).add(AboutLinks())
+
+ }
+
+ class AboutLinks : AbstractItem<AboutLinks, AboutLinks.ViewHolder>(), ThemableIItem by ThemableIItemDelegate() {
+ override fun getViewHolder(v: View): ViewHolder = ViewHolder(v)
+
+ override fun getType(): Int = R.id.item_about_links
+
+ override fun getLayoutRes(): Int = R.layout.item_about_links
+
+ override fun bindView(holder: ViewHolder, payloads: MutableList<Any>?) {
+ super.bindView(holder, payloads)
+ with(holder) {
+ bindIconColor(rate, github)
+ bindBackgroundColor(container)
+ }
+ }
+
+ fun theme(vararg images: ImageView) {
+ val ripple = createSimpleRippleDrawable(accentColor!!, Color.TRANSPARENT)
+ images.forEach {
+ it.background = ripple
+ it.drawable.setTint(textColor!!)
+ }
+ }
+
+ class ViewHolder(v: View) : RecyclerView.ViewHolder(v) {
+
+ val container: ConstraintLayout by bindView(R.id.about_icons_container)
+ val rate: ImageView by bindView(R.id.about_rate)
+ val github: ImageView by bindView(R.id.about_github)
+
+ init {
+ val c = itemView.context
+ setup(rate, GoogleMaterial.Icon.gmd_star, { c.startPlayStoreLink(R.string.play_store_package_id) })
+ setup(github, CommunityMaterial.Icon.cmd_github_circle, { c.startLink("https://github.com/AllanWang/Frost-for-Facebook") })
+ }
+
+ fun setup(image: ImageView, icon: IIcon, onClick: () -> Unit) {
+ image.setImageDrawable(icon.toDrawable(itemView.context, 32))
+ image.setOnClickListener({ onClick() })
+ }
+
+ }
}
} \ No newline at end of file