diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/AboutActivity.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/AboutActivity.kt index 385cd75..8447b81 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/AboutActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/AboutActivity.kt @@ -37,7 +37,7 @@ class AboutActivity : AppCompatActivity() { } private fun setupRateUs() { - if (preferences().isFirstRun) { + if (preferences.isFirstRun) { about_rate_us.visibility = View.GONE } diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt index 6390614..45324fd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt @@ -37,6 +37,6 @@ class MainActivity : AppCompatActivity() { override fun onDestroy() { super.onDestroy() - preferences().isFirstRun = false + preferences.isFirstRun = false } } diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/SettingsActivity.kt index 3377f0a..d4aed08 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/SettingsActivity.kt @@ -1,13 +1,32 @@ package com.simplemobiletools.applauncher.activities import android.os.Bundle +import android.support.v4.app.TaskStackBuilder import android.support.v7.app.AppCompatActivity import com.simplemobiletools.applauncher.R +import com.simplemobiletools.applauncher.extensions.isDarkTheme +import com.simplemobiletools.applauncher.extensions.preferences +import kotlinx.android.synthetic.main.activity_settings.* class SettingsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_settings) + setupDarkTheme() + } + + private fun setupDarkTheme() { + settings_dark_theme.isChecked = preferences.isDarkTheme + + settings_dark_theme_holder.setOnClickListener { + settings_dark_theme.isChecked = !settings_dark_theme.isChecked + preferences.isDarkTheme = settings_dark_theme.isChecked + restartActivity() + } + } + + private fun restartActivity() { + TaskStackBuilder.create(applicationContext).addNextIntentWithParentStack(intent).startActivities() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/extensions/preferences.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/extensions/preferences.kt index 2ac7e22..58c1e7f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/extensions/preferences.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/extensions/preferences.kt @@ -5,9 +5,11 @@ import android.content.SharedPreferences val PREFS_KEY = "App Launcher" val IS_FIRST_RUN = "is_first_run" +val IS_DARK_THEME = "is_dark_theme" private val defaultInit: Any.() -> Unit = {} +val Context.preferences: SharedPreferences get() = preferences() fun Context.preferences(init: SharedPreferences.() -> Unit = defaultInit): SharedPreferences { val defaultPreferences = getSharedPreferences(PREFS_KEY, Context.MODE_PRIVATE) defaultPreferences.init() @@ -21,3 +23,11 @@ var SharedPreferences.isFirstRun: Boolean get() { return getBoolean(IS_FIRST_RUN, true) } + +var SharedPreferences.isDarkTheme: Boolean + set(isDarkTheme: Boolean) { + edit().putBoolean(IS_DARK_THEME, isDarkTheme).apply() + } + get() { + return getBoolean(IS_DARK_THEME, false) + }