2021-06-28 09:09:00 +02:00
|
|
|
package jp.juggler.subwaytooter.actpost
|
2021-06-23 06:14:25 +02:00
|
|
|
|
2021-06-28 09:09:00 +02:00
|
|
|
import jp.juggler.subwaytooter.ActPost
|
2021-06-23 06:14:25 +02:00
|
|
|
import jp.juggler.util.notEmpty
|
|
|
|
import jp.juggler.util.vg
|
|
|
|
|
2021-06-27 20:25:21 +02:00
|
|
|
private fun Double?.finiteOrZero(): Double = if (this?.isFinite() == true) this else 0.0
|
|
|
|
|
2021-06-23 06:14:25 +02:00
|
|
|
fun ActPost.showPoll() {
|
2021-06-24 04:31:34 +02:00
|
|
|
val i = spPollType.selectedItemPosition
|
2021-06-23 06:14:25 +02:00
|
|
|
llEnquete.vg(i != 0)
|
|
|
|
llExpire.vg(i == 1)
|
|
|
|
cbHideTotals.vg(i == 1)
|
|
|
|
cbMultipleChoice.vg(i == 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
// 投票が有効で何か入力済みなら真
|
2021-06-24 04:31:34 +02:00
|
|
|
fun ActPost.hasPoll(): Boolean {
|
|
|
|
if (spPollType.selectedItemPosition <= 0) return false
|
|
|
|
return etChoices.any { it.text.toString().isNotBlank() }
|
2021-06-23 06:14:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
fun ActPost.pollChoiceList() = ArrayList<String>().apply {
|
|
|
|
for (et in etChoices) {
|
|
|
|
et.text.toString().trim { it <= ' ' }.notEmpty()?.let { add(it) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fun ActPost.pollExpireSeconds(): Int {
|
|
|
|
val d = etExpireDays.text.toString().trim().toDoubleOrNull().finiteOrZero()
|
|
|
|
val h = etExpireHours.text.toString().trim().toDoubleOrNull().finiteOrZero()
|
|
|
|
val m = etExpireMinutes.text.toString().trim().toDoubleOrNull().finiteOrZero()
|
|
|
|
return (d * 86400.0 + h * 3600.0 + m * 60.0).toInt()
|
|
|
|
}
|