diff options
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.kt | 24 |
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 * |