47 lines
1.8 KiB
Kotlin
47 lines
1.8 KiB
Kotlin
package com.tommasoberlose.anotherwidget.helpers
|
|
|
|
import android.content.Context
|
|
import android.text.format.DateUtils
|
|
import com.tommasoberlose.anotherwidget.global.Preferences
|
|
import com.tommasoberlose.anotherwidget.utils.getCapWordString
|
|
import java.lang.Exception
|
|
import java.text.SimpleDateFormat
|
|
import java.util.*
|
|
|
|
object DateHelper {
|
|
fun getDateText(context: Context, date: Calendar): String {
|
|
return if (Preferences.dateFormat != "") {
|
|
val text = try {
|
|
SimpleDateFormat(Preferences.dateFormat, Locale.getDefault()).format(date.time)
|
|
} catch (e: Exception) {
|
|
getDefaultDateText(context, date)
|
|
}
|
|
when {
|
|
Preferences.isDateUppercase -> text.toUpperCase(Locale.getDefault())
|
|
Preferences.isDateCapitalize -> text.getCapWordString()
|
|
else -> text
|
|
}
|
|
} else {
|
|
val flags: Int =
|
|
DateUtils.FORMAT_SHOW_DATE or DateUtils.FORMAT_NO_YEAR or DateUtils.FORMAT_ABBREV_MONTH
|
|
val text = "%s, %s".format(
|
|
SimpleDateFormat("EEEE", Locale.getDefault()).format(date.time),
|
|
DateUtils.formatDateTime(context, date.timeInMillis, flags)
|
|
)
|
|
when {
|
|
Preferences.isDateUppercase -> text.toUpperCase(Locale.getDefault())
|
|
Preferences.isDateCapitalize -> text.getCapWordString()
|
|
else -> text
|
|
}
|
|
}
|
|
}
|
|
|
|
fun getDefaultDateText(context: Context, date: Calendar): String {
|
|
val flags: Int =
|
|
DateUtils.FORMAT_SHOW_DATE or DateUtils.FORMAT_NO_YEAR or DateUtils.FORMAT_ABBREV_MONTH
|
|
return "%s, %s".format(
|
|
SimpleDateFormat("EEEE", Locale.getDefault()).format(date.time),
|
|
DateUtils.formatDateTime(context, date.timeInMillis, flags)
|
|
)
|
|
}
|
|
} |