aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/BaseActivity.kt11
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt11
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt14
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebView.kt6
4 files changed, 33 insertions, 9 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/BaseActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/BaseActivity.kt
index 6c638618..0e1caa9d 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/BaseActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/BaseActivity.kt
@@ -1,8 +1,10 @@
package com.pitchedapps.frost
+import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import com.pitchedapps.frost.utils.Prefs
-import com.pitchedapps.frost.utils.materialDialog
+import com.pitchedapps.frost.utils.materialDialogThemed
+import com.pitchedapps.frost.utils.setFrostTheme
/**
* Created by Allan Wang on 2017-06-12.
@@ -10,7 +12,7 @@ import com.pitchedapps.frost.utils.materialDialog
open class BaseActivity : AppCompatActivity() {
override fun onBackPressed() {
if (isTaskRoot && Prefs.exitConfirmation) {
- materialDialog {
+ materialDialogThemed {
title(R.string.exit)
content(R.string.exit_confirmation)
positiveText(android.R.string.yes)
@@ -21,4 +23,9 @@ open class BaseActivity : AppCompatActivity() {
}
} else super.onBackPressed()
}
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setFrostTheme()
+ }
} \ No newline at end of file
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
index 4543074e..554a2771 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
@@ -5,10 +5,7 @@ import ca.allanwang.kau.kpref.KPrefActivity
import ca.allanwang.kau.kpref.KPrefAdapterBuilder
import ca.allanwang.kau.utils.*
import ca.allanwang.kau.views.RippleCanvas
-import com.pitchedapps.frost.utils.EXTRA_COOKIES
-import com.pitchedapps.frost.utils.Prefs
-import com.pitchedapps.frost.utils.Theme
-import com.pitchedapps.frost.utils.cookies
+import com.pitchedapps.frost.utils.*
/**
* Created by Allan Wang on 2017-06-06.
@@ -20,15 +17,17 @@ class SettingsActivity : KPrefActivity() {
header(R.string.settings)
text<Int>(title = R.string.theme, itemBuilder = {
onClick = {
- itemView, innerContent, item ->
- this@SettingsActivity.materialDialog {
+ _, _, item ->
+ this@SettingsActivity.materialDialogThemed {
title(R.string.theme)
items(Theme.values().map { this@SettingsActivity.string(it.textRes) })
+ itemsDisabledIndices(Theme.CUSTOM.ordinal)
itemsCallbackSingleChoice(item.pref, {
_, _, which, _ ->
if (item.pref != which) {
item.pref = which
reload()
+ setFrostTheme()
themeExterior()
}
true
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt
index 2053a6bf..c2bcc2ab 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt
@@ -3,9 +3,11 @@ package com.pitchedapps.frost.utils
import android.app.Activity
import android.content.Context
import android.content.Intent
+import android.graphics.Color
import android.support.v4.app.ActivityOptionsCompat
import android.support.v4.content.ContextCompat
import ca.allanwang.kau.utils.adjustAlpha
+import ca.allanwang.kau.utils.isColorDark
import ca.allanwang.kau.utils.lighten
import ca.allanwang.kau.utils.startActivity
import com.afollestad.materialdialogs.MaterialDialog
@@ -43,7 +45,8 @@ fun WebOverlayActivity.url(): String {
return intent.extras?.getString(ARG_URL) ?: FbTab.FEED.url
}
-fun Activity.materialDialog(action: MaterialDialog.Builder.() -> Unit) {
+
+fun Activity.materialDialogThemed(action: MaterialDialog.Builder.() -> Unit): MaterialDialog {
val builder = MaterialDialog.Builder(this)
val dimmerTextColor = Prefs.textColor.adjustAlpha(0.8f)
builder.titleColor(Prefs.textColor)
@@ -54,4 +57,13 @@ fun Activity.materialDialog(action: MaterialDialog.Builder.() -> Unit) {
.negativeColor(Prefs.textColor)
.neutralColor(Prefs.textColor)
builder.action()
+ return builder.show()
+}
+
+fun Activity.setFrostTheme() {
+ val isTransparent = Color.alpha(Prefs.bgColor) != 255
+ if (Prefs.bgColor.isColorDark())
+ setTheme(if (isTransparent) R.style.FrostTheme_Transparent else R.style.FrostTheme)
+ else
+ setTheme(if (isTransparent) R.style.FrostTheme_Light_Transparent else R.style.FrostTheme_Light)
} \ No newline at end of file
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebView.kt
index 167661a4..c99feaf5 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebView.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebView.kt
@@ -8,8 +8,11 @@ import android.view.View
import android.widget.FrameLayout
import android.widget.ProgressBar
import ca.allanwang.kau.utils.bindView
+import ca.allanwang.kau.utils.tint
+import ca.allanwang.kau.utils.withAlpha
import com.pitchedapps.frost.R
import com.pitchedapps.frost.facebook.FbTab
+import com.pitchedapps.frost.utils.Prefs
import io.reactivex.android.schedulers.AndroidSchedulers
/**
@@ -23,6 +26,9 @@ class FrostWebView @JvmOverloads constructor(context: Context, attrs: AttributeS
init {
inflate(getContext(), R.layout.swipe_webview, this)
+ progress.tint(Prefs.iconColor.withAlpha(180))
+ refresh.setColorSchemeColors(Prefs.iconColor)
+ refresh.setProgressBackgroundColorSchemeColor(Prefs.headerColor.withAlpha(255))
web.progressObservable.observeOn(AndroidSchedulers.mainThread()).subscribe {
progress.visibility = if (it == 100) View.INVISIBLE else View.VISIBLE
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) progress.setProgress(it, true)