mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-02-22 06:37:52 +01:00
fix seconds ticking on Clock fragment
This commit is contained in:
parent
a542775a84
commit
95a66b8a75
@ -10,6 +10,7 @@ import com.simplemobiletools.clock.R
|
|||||||
import com.simplemobiletools.clock.extensions.config
|
import com.simplemobiletools.clock.extensions.config
|
||||||
import com.simplemobiletools.clock.extensions.getFormattedDate
|
import com.simplemobiletools.clock.extensions.getFormattedDate
|
||||||
import com.simplemobiletools.clock.extensions.getFormattedTime
|
import com.simplemobiletools.clock.extensions.getFormattedTime
|
||||||
|
import com.simplemobiletools.clock.extensions.getPassedSeconds
|
||||||
import com.simplemobiletools.clock.helpers.MyWidgetDateTimeProvider
|
import com.simplemobiletools.clock.helpers.MyWidgetDateTimeProvider
|
||||||
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
|
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
|
||||||
import com.simplemobiletools.commons.extensions.adjustAlpha
|
import com.simplemobiletools.commons.extensions.adjustAlpha
|
||||||
@ -72,7 +73,7 @@ class WidgetDateTimeConfigureActivity : SimpleActivity() {
|
|||||||
|
|
||||||
private fun updateCurrentDateTime() {
|
private fun updateCurrentDateTime() {
|
||||||
val calendar = Calendar.getInstance()
|
val calendar = Calendar.getInstance()
|
||||||
config_time.text = getFormattedTime(calendar, false)
|
config_time.text = getFormattedTime(getPassedSeconds(), false)
|
||||||
config_date.text = getFormattedDate(calendar)
|
config_date.text = getFormattedDate(calendar)
|
||||||
|
|
||||||
if (config.useTextShadow) {
|
if (config.useTextShadow) {
|
||||||
|
@ -38,10 +38,13 @@ fun Context.getFormattedDate(calendar: Calendar): String {
|
|||||||
return "$shortDayString, $dayOfMonth $monthString"
|
return "$shortDayString, $dayOfMonth $monthString"
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.getFormattedTime(calendar: Calendar, showSeconds: Boolean): String {
|
fun Context.getPassedSeconds(): Int {
|
||||||
|
val calendar = Calendar.getInstance()
|
||||||
val offset = calendar.timeZone.rawOffset
|
val offset = calendar.timeZone.rawOffset
|
||||||
val passedSeconds = ((calendar.timeInMillis + offset) / 1000).toInt()
|
return ((calendar.timeInMillis + offset) / 1000).toInt()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.getFormattedTime(passedSeconds: Int, showSeconds: Boolean): String {
|
||||||
val hours = (passedSeconds / 3600) % 24
|
val hours = (passedSeconds / 3600) % 24
|
||||||
val minutes = (passedSeconds / 60) % 60
|
val minutes = (passedSeconds / 60) % 60
|
||||||
val seconds = passedSeconds % 60
|
val seconds = passedSeconds % 60
|
||||||
|
@ -76,7 +76,7 @@ class ClockFragment : Fragment() {
|
|||||||
val hours = (passedSeconds / 3600) % 24
|
val hours = (passedSeconds / 3600) % 24
|
||||||
val minutes = (passedSeconds / 60) % 60
|
val minutes = (passedSeconds / 60) % 60
|
||||||
val seconds = passedSeconds % 60
|
val seconds = passedSeconds % 60
|
||||||
view.clock_time.text = context!!.getFormattedTime(calendar, context!!.config.showSeconds)
|
view.clock_time.text = context!!.getFormattedTime(passedSeconds, context!!.config.showSeconds)
|
||||||
|
|
||||||
if (seconds == 0) {
|
if (seconds == 0) {
|
||||||
if (hours == 0 && minutes == 0) {
|
if (hours == 0 && minutes == 0) {
|
||||||
|
@ -38,7 +38,7 @@ class MyWidgetDateTimeProvider : AppWidgetProvider() {
|
|||||||
private fun updateTexts(context: Context, views: RemoteViews) {
|
private fun updateTexts(context: Context, views: RemoteViews) {
|
||||||
val calendar = Calendar.getInstance()
|
val calendar = Calendar.getInstance()
|
||||||
views.apply {
|
views.apply {
|
||||||
setText(R.id.widget_time, context.getFormattedTime(calendar, false))
|
setText(R.id.widget_time, context.getFormattedTime(context.getPassedSeconds(), false))
|
||||||
setText(R.id.widget_date, context.getFormattedDate(calendar))
|
setText(R.id.widget_date, context.getFormattedDate(calendar))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user