add a toggle for showing seconds

This commit is contained in:
tibbi
2018-02-28 16:19:04 +01:00
parent febb166894
commit 60f4244acf
9 changed files with 102 additions and 4 deletions

View File

@ -4,6 +4,7 @@ import android.os.Bundle
import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.extensions.useEnglishToggled
import kotlinx.android.synthetic.main.activity_settings.*
@ -22,7 +23,16 @@ class SettingsActivity : SimpleActivity() {
setupUseEnglish()
setupAvoidWhatsNew()
setupPreventPhoneFromSleeping()
setupShowSeconds()
updateTextColors(settings_holder)
setupSectionColors()
}
private fun setupSectionColors() {
val adjustedPrimaryColor = getAdjustedPrimaryColor()
arrayListOf(clock_tab_label).forEach {
it.setTextColor(adjustedPrimaryColor)
}
}
private fun setupCustomizeColors() {
@ -56,4 +66,12 @@ class SettingsActivity : SimpleActivity() {
config.preventPhoneFromSleeping = settings_prevent_phone_from_sleeping.isChecked
}
}
private fun setupShowSeconds() {
settings_show_seconds.isChecked = config.showSeconds
settings_show_seconds_holder.setOnClickListener {
settings_show_seconds.toggle()
config.showSeconds = settings_show_seconds.isChecked
}
}
}

View File

@ -4,6 +4,7 @@ import android.content.Context
import android.os.Handler
import android.util.AttributeSet
import android.widget.RelativeLayout
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.commons.extensions.updateTextColors
import kotlinx.android.synthetic.main.fragment_clock.view.*
import java.util.*
@ -25,9 +26,17 @@ class ClockFragment(context: Context, attributeSet: AttributeSet) : RelativeLayo
private fun updateCurrentTime() {
val hours = (passedSeconds / 3600) % 24
val minutes = (passedSeconds / 60) % 60
val seconds = passedSeconds % 60
val format = "%02d:%02d:%02d"
clock_time.text = String.format(format, hours, minutes, seconds)
var format = "%02d:%02d"
val formattedText = if (context.config.showSeconds) {
val seconds = passedSeconds % 60
format += ":%02d"
String.format(format, hours, minutes, seconds)
} else {
String.format(format, hours, minutes)
}
clock_time.text = formattedText
updateHandler.postDelayed({
passedSeconds++

View File

@ -7,4 +7,8 @@ class Config(context: Context) : BaseConfig(context) {
companion object {
fun newInstance(context: Context) = Config(context)
}
var showSeconds: Boolean
get() = prefs.getBoolean(SHOW_SECONDS, true)
set(showSeconds) = prefs.edit().putBoolean(SHOW_SECONDS, showSeconds).apply()
}

View File

@ -0,0 +1,4 @@
package com.simplemobiletools.clock.helpers
// shared preferences
const val SHOW_SECONDS = "show_seconds"