aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt
diff options
context:
space:
mode:
authorJahir Fiquitiva <jahir.fiquitiva@gmail.com>2017-07-10 01:22:52 -0500
committerAllan Wang <me@allanwang.ca>2017-07-09 23:22:52 -0700
commit3028d35c24da883dad34dbc4f6eb36d1df1838fa (patch)
tree3bf16d3f0e98c570731469a6969cc73b403efc3c /core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt
parentf1660aab8a25c93aebdb7993e4bfbc3bb7e65ee5 (diff)
downloadkau-3028d35c24da883dad34dbc4f6eb36d1df1838fa.tar.gz
kau-3028d35c24da883dad34dbc4f6eb36d1df1838fa.tar.bz2
kau-3028d35c24da883dad34dbc4f6eb36d1df1838fa.zip
Added some extensions (#4)
* Add a couple extra extensions. * Add more extensions * Make oneline fun * Remove duplicated line from modules.xml * Revert kprefsingle and fix minor docs (cherry picked from commit 76d0de9) * Clean up ColorUtils * Clean up ActivityUtils * Clean up DrawableUtils * Remove MenuUtils * Clean PackageUtils * Clean up ViewUtils * Clean up ViewUtils 2
Diffstat (limited to 'core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt')
-rw-r--r--core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt24
1 files changed, 20 insertions, 4 deletions
diff --git a/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt b/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt
index 4f95b2c..3b99c46 100644
--- a/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt
+++ b/core/src/main/kotlin/ca/allanwang/kau/utils/ActivityUtils.kt
@@ -1,12 +1,16 @@
package ca.allanwang.kau.utils
+import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent
import android.graphics.Color
+import android.os.Build
import android.support.annotation.ColorInt
+import android.support.annotation.RequiresApi
import android.support.annotation.StringRes
import android.support.design.widget.Snackbar
import android.view.Menu
+import android.view.View
import ca.allanwang.kau.R
import com.mikepenz.iconics.typeface.IIcon
import org.jetbrains.anko.contentView
@@ -16,18 +20,17 @@ import org.jetbrains.anko.contentView
*/
/**
- * Restarts an activity from itself without animations
+ * Restarts an activity from itself with a fade animation
* Keeps its existing extra bundles and has a builder to accept other parameters
*/
fun Activity.restart(builder: Intent.() -> Unit = {}) {
val i = Intent(this, this::class.java)
- i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
i.putExtras(intent.extras)
i.builder()
startActivity(i)
- overridePendingTransition(0, 0) //No transitions
+ overridePendingTransition(R.anim.kau_fade_in, R.anim.kau_fade_out) //No transitions
finish()
- overridePendingTransition(0, 0)
+ overridePendingTransition(R.anim.kau_fade_in, R.anim.kau_fade_out)
}
fun Activity.finishSlideOut() {
@@ -47,6 +50,19 @@ var Activity.statusBarColor: Int
if (buildIsLollipopAndUp) window.statusBarColor = value
}
+var Activity.statusBarLight: Boolean
+ @SuppressLint("InlinedApi")
+ get() = if (buildIsMarshmallowAndUp) window.decorView.systemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR > 0 else false
+ @SuppressLint("InlinedApi")
+ set(value) {
+ if (buildIsMarshmallowAndUp) {
+ val flags = window.decorView.systemUiVisibility
+ window.decorView.systemUiVisibility =
+ if (value) flags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
+ else flags and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
+ }
+ }
+
/**
* Themes the base menu icons and adds iicons programmatically based on ids
*