aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/enums
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-19 21:12:02 -0700
committerAllan Wang <me@allanwang.ca>2017-08-19 21:12:02 -0700
commit8c178bd82d75ef237c97863fae555ca0346e7352 (patch)
tree0d532c6ed127110d1bf66d4522f008419c900b44 /app/src/main/kotlin/com/pitchedapps/frost/enums
parent1240e2663413b56c5b97c8ff40cb5c1bdc2df23b (diff)
downloadfrost-8c178bd82d75ef237c97863fae555ca0346e7352.tar.gz
frost-8c178bd82d75ef237c97863fae555ca0346e7352.tar.bz2
frost-8c178bd82d75ef237c97863fae555ca0346e7352.zip
Refactor enums and optimize imports
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/enums')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/enums/FeedSort.kt18
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/enums/Support.kt26
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/enums/Theme.kt92
3 files changed, 136 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/enums/FeedSort.kt b/app/src/main/kotlin/com/pitchedapps/frost/enums/FeedSort.kt
new file mode 100644
index 00000000..65b3c101
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/enums/FeedSort.kt
@@ -0,0 +1,18 @@
+package com.pitchedapps.frost.enums
+
+import android.support.annotation.StringRes
+import com.pitchedapps.frost.R
+
+/**
+ * Created by Allan Wang on 2017-06-23.
+ */
+enum class FeedSort(@StringRes val textRes: Int) {
+ DEFAULT(R.string.kau_default),
+ MOST_RECENT(R.string.most_recent),
+ TOP(R.string.top_stories);
+
+ companion object {
+ val values = values() //save one instance
+ operator fun invoke(index: Int) = values[index]
+ }
+} \ No newline at end of file
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/enums/Support.kt b/app/src/main/kotlin/com/pitchedapps/frost/enums/Support.kt
new file mode 100644
index 00000000..85c8bc76
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/enums/Support.kt
@@ -0,0 +1,26 @@
+package com.pitchedapps.frost.enums
+
+import android.content.Context
+import android.support.annotation.StringRes
+import ca.allanwang.kau.email.sendEmail
+import ca.allanwang.kau.utils.string
+import com.pitchedapps.frost.R
+import com.pitchedapps.frost.utils.Prefs
+
+/**
+ * Created by Allan Wang on 2017-06-29.
+ */
+enum class Support(@StringRes val title: Int) {
+ FEEDBACK(R.string.feedback),
+ BUG(R.string.bug_report),
+ THEME(R.string.theme_issue),
+ FEATURE(R.string.feature_request);
+
+ fun sendEmail(context: Context) {
+ with(context) {
+ this.sendEmail(string(R.string.dev_email), "${string(R.string.frost_prefix)} ${string(title)}") {
+ addItem("Random Frost ID", Prefs.frostId)
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/enums/Theme.kt b/app/src/main/kotlin/com/pitchedapps/frost/enums/Theme.kt
new file mode 100644
index 00000000..ada0b456
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/enums/Theme.kt
@@ -0,0 +1,92 @@
+package com.pitchedapps.frost.enums
+
+import android.graphics.Color
+import android.support.annotation.StringRes
+import com.pitchedapps.frost.R
+import com.pitchedapps.frost.injectors.CssAssets
+import com.pitchedapps.frost.injectors.InjectorContract
+import com.pitchedapps.frost.injectors.JsActions
+import com.pitchedapps.frost.utils.Prefs
+
+/**
+ * Created by Allan Wang on 2017-06-14.
+ */
+const val FACEBOOK_BLUE = 0xff3b5998.toInt()
+const val BLUE_LIGHT = 0xff5d86dd.toInt()
+
+enum class Theme(@StringRes val textRes: Int,
+ val injector: InjectorContract,
+ private val textColorGetter: () -> Int,
+ private val accentColorGetter: () -> Int,
+ private val backgroundColorGetter: () -> Int,
+ private val headerColorGetter: () -> Int,
+ private val iconColorGetter: () -> Int) {
+
+ DEFAULT(R.string.kau_default,
+ JsActions.EMPTY,
+ { 0xde000000.toInt() },
+ { FACEBOOK_BLUE },
+ { 0xfffafafa.toInt() },
+ { FACEBOOK_BLUE },
+ { Color.WHITE }),
+
+ LIGHT(R.string.kau_light,
+ CssAssets.MATERIAL_LIGHT,
+ { 0xde000000.toInt() },
+ { FACEBOOK_BLUE },
+ { 0xfffafafa.toInt() },
+ { FACEBOOK_BLUE },
+ { Color.WHITE }),
+
+ DARK(R.string.kau_dark,
+ CssAssets.MATERIAL_DARK,
+ { Color.WHITE },
+ { BLUE_LIGHT },
+ { 0xff303030.toInt() },
+ { 0xff2e4b86.toInt() },
+ { Color.WHITE }),
+
+ AMOLED(R.string.kau_amoled,
+ CssAssets.MATERIAL_AMOLED,
+ { Color.WHITE },
+ { BLUE_LIGHT },
+ { Color.BLACK },
+ { Color.BLACK },
+ { Color.WHITE }),
+
+ GLASS(R.string.kau_glass,
+ CssAssets.MATERIAL_GLASS,
+ { Color.WHITE },
+ { BLUE_LIGHT },
+ { 0x80000000.toInt() },
+ { 0xb3000000.toInt() },
+ { Color.WHITE }),
+
+ CUSTOM(R.string.kau_custom,
+ CssAssets.CUSTOM,
+ { Prefs.customTextColor },
+ { Prefs.customAccentColor },
+ { Prefs.customBackgroundColor },
+ { Prefs.customHeaderColor },
+ { Prefs.customIconColor });
+
+ val textColor: Int
+ get() = textColorGetter()
+
+ val accentColor: Int
+ get() = accentColorGetter()
+
+ val bgColor: Int
+ get() = backgroundColorGetter()
+
+ val headerColor: Int
+ get() = headerColorGetter()
+
+ val iconColor: Int
+ get() = iconColorGetter()
+
+ companion object {
+ val values = values() //save one instance
+ operator fun invoke(index: Int) = values[index]
+ }
+} \ No newline at end of file