Date format (#340)
* Set date format according to api version. * Check new date format in items. * Global date formatter. * Ensure api version has been fetched before checking. * Move api check to MyApp. * Store api version and select correct date formatter when offline. * Check api in Home, allow null values.
This commit is contained in:
@@ -104,11 +104,11 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
||||
private var itemsCaching: Boolean = false
|
||||
private var updateSources: Boolean = true
|
||||
private var hiddenTags: List<String> = emptyList()
|
||||
private var apiVersionMajor: Int = 0
|
||||
|
||||
private var periodicRefresh = false
|
||||
private var refreshMinutes: Long = 360L
|
||||
private var refreshWhenChargingOnly = false
|
||||
private val dateTimeFormatter = "yyyy-MM-dd HH:mm:ss"
|
||||
|
||||
private lateinit var tabNewBadge: TextBadgeItem
|
||||
private lateinit var tabArchiveBadge: TextBadgeItem
|
||||
@@ -195,6 +195,8 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
||||
|
||||
handleSharedPrefs()
|
||||
|
||||
getApiMajorVersion()
|
||||
|
||||
getElementsAccordingToTab()
|
||||
}
|
||||
|
||||
@@ -330,6 +332,28 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
||||
}
|
||||
}
|
||||
|
||||
private fun getApiMajorVersion() {
|
||||
api.apiVersion.enqueue(object : Callback<ApiVersion> {
|
||||
override fun onFailure(call: Call<ApiVersion>, t: Throwable) {
|
||||
if (apiVersionMajor >= 4) {
|
||||
Config.dateTimeFormatter = "yyyy-MM-dd'T'HH:mm:ssXXX"
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResponse(call: Call<ApiVersion>, response: Response<ApiVersion>) {
|
||||
if(response.body() != null) {
|
||||
val version = response.body() as ApiVersion
|
||||
apiVersionMajor = version.getApiMajorVersion()
|
||||
sharedPref.edit().putInt("apiVersionMajor", apiVersionMajor).commit()
|
||||
|
||||
if (apiVersionMajor >= 4) {
|
||||
Config.dateTimeFormatter = "yyyy-MM-dd'T'HH:mm:ssXXX"
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
@@ -442,6 +466,8 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
||||
if (refreshMinutes <= 15) {
|
||||
refreshMinutes = 15
|
||||
}
|
||||
|
||||
apiVersionMajor = sharedPref.getInt("apiVersionMajor", 0)
|
||||
}
|
||||
|
||||
private fun handleThemeBinding() {
|
||||
@@ -906,7 +932,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
||||
|
||||
thread {
|
||||
val dbItems = db.itemsDao().items().map { it.toView() }.sortedByDescending {
|
||||
SimpleDateFormat(dateTimeFormatter).parse(it.datetime)
|
||||
SimpleDateFormat(Config.dateTimeFormatter).parse(it.datetime)
|
||||
}
|
||||
runOnUiThread {
|
||||
if (dbItems.isNotEmpty()) {
|
||||
@@ -1010,7 +1036,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
||||
|
||||
thread {
|
||||
val dbItems = db.itemsDao().items().map { it.toView() }.sortedByDescending {
|
||||
SimpleDateFormat(dateTimeFormatter).parse(it.datetime)
|
||||
SimpleDateFormat(Config.dateTimeFormatter).parse(it.datetime)
|
||||
}
|
||||
runOnUiThread {
|
||||
if (dbItems.isNotEmpty()) {
|
||||
|
500 Internal Server Error
Gitea Version: 1.28.0+dev-210-gd87d26d735 | ||||