parent
95864628fe
commit
57424fca35
@ -0,0 +1,81 @@ |
|||||||
|
package net.pokeranalytics.android.util |
||||||
|
|
||||||
|
import java.text.DateFormat |
||||||
|
import java.text.SimpleDateFormat |
||||||
|
import java.util.* |
||||||
|
|
||||||
|
|
||||||
|
// Calendar |
||||||
|
|
||||||
|
// Return if the calendar dates are in the same month |
||||||
|
fun Calendar.isSameMonth(calendar: Calendar): Boolean { |
||||||
|
return calendar.get(Calendar.YEAR) == this.get(Calendar.YEAR) && |
||||||
|
calendar.get(Calendar.MONTH) == this.get(Calendar.MONTH) |
||||||
|
} |
||||||
|
// Return if the calendar dates are in the same day |
||||||
|
fun Calendar.isSameDay(calendar: Calendar): Boolean { |
||||||
|
return calendar.get(Calendar.YEAR) == this.get(Calendar.YEAR) && |
||||||
|
calendar.get(Calendar.MONTH) == this.get(Calendar.MONTH) && |
||||||
|
calendar.get(Calendar.DAY_OF_MONTH) == this.get(Calendar.DAY_OF_MONTH) |
||||||
|
} |
||||||
|
|
||||||
|
// Date |
||||||
|
|
||||||
|
// Return a short string of the date |
||||||
|
fun Date.shortDate(): String { |
||||||
|
return DateFormat.getDateInstance(DateFormat.SHORT).format(this) |
||||||
|
} |
||||||
|
// Return a short string of the date |
||||||
|
fun Date.mediumDate(): String { |
||||||
|
return DateFormat.getDateInstance(DateFormat.MEDIUM).format(this) |
||||||
|
} |
||||||
|
// Return a long string of the date |
||||||
|
fun Date.longDate(): String { |
||||||
|
return DateFormat.getDateInstance(DateFormat.LONG).format(this) |
||||||
|
} |
||||||
|
// Return a short string of the date |
||||||
|
fun Date.fullDate(): String { |
||||||
|
return DateFormat.getDateInstance(DateFormat.FULL).format(this) |
||||||
|
} |
||||||
|
|
||||||
|
// Return a short string of the date & time |
||||||
|
fun Date.shortDateTime(): String { |
||||||
|
return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(this) |
||||||
|
} |
||||||
|
// Return a medium string of the date & time |
||||||
|
fun Date.mediumDateTime(): String { |
||||||
|
return DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(this) |
||||||
|
} |
||||||
|
// Return a long string of the date & time |
||||||
|
fun Date.longDateTime(): String { |
||||||
|
return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(this) |
||||||
|
} |
||||||
|
// Return the full string of the date & time |
||||||
|
fun Date.fullDateTime(): String { |
||||||
|
return DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(this) |
||||||
|
} |
||||||
|
// Return the day number of the date |
||||||
|
fun Date.getDayNumber() : String { |
||||||
|
return SimpleDateFormat("dd", Locale.getDefault()).format(this) |
||||||
|
} |
||||||
|
// Return the 3 first letters of the date's day |
||||||
|
fun Date.getShortDayName() : String { |
||||||
|
return SimpleDateFormat("EE", Locale.getDefault()).format(this).substring(0, 3) |
||||||
|
} |
||||||
|
// Return the month & year of the date |
||||||
|
fun Date.getMonthAndYear(): String { |
||||||
|
return SimpleDateFormat("MMMM YYYY", Locale.getDefault()).format(this).capitalize() |
||||||
|
} |
||||||
|
|
||||||
|
// Return the duration between two dates |
||||||
|
fun Date.getDuration(toDate: Date) : String { |
||||||
|
val difference = (toDate.time - this.time).toInt() |
||||||
|
val numOfDays = (difference / (1000 * 60 * 60 * 24)) |
||||||
|
val hours = (difference / (1000 * 60 * 60)) |
||||||
|
val minutes = (difference / (1000 * 60)) % 60 |
||||||
|
|
||||||
|
val hoursStr = if (hours < 10) "0$hours" else "$hours" |
||||||
|
val minutesStr = if (minutes < 10) "0$minutes" else "$minutes" |
||||||
|
|
||||||
|
return "$hoursStr:$minutesStr" |
||||||
|
} |
||||||
@ -1,137 +0,0 @@ |
|||||||
package net.pokeranalytics.android.util |
|
||||||
|
|
||||||
import android.content.res.Resources |
|
||||||
import android.widget.Toast |
|
||||||
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity |
|
||||||
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment |
|
||||||
import java.text.DateFormat |
|
||||||
import java.text.DecimalFormat |
|
||||||
import java.text.NumberFormat |
|
||||||
import java.text.SimpleDateFormat |
|
||||||
import java.util.* |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Sizes |
|
||||||
val Int.dp: Int |
|
||||||
get() = (this / Resources.getSystem().displayMetrics.density).toInt() |
|
||||||
val Int.px: Int |
|
||||||
get() = (this * Resources.getSystem().displayMetrics.density).toInt() |
|
||||||
val Float.dp: Float |
|
||||||
get() = (this / Resources.getSystem().displayMetrics.density) |
|
||||||
val Float.px: Float |
|
||||||
get() = (this * Resources.getSystem().displayMetrics.density) |
|
||||||
|
|
||||||
|
|
||||||
// Double |
|
||||||
|
|
||||||
fun Double.round(): String { |
|
||||||
val formatter = DecimalFormat("##.##") |
|
||||||
return formatter.format(this) |
|
||||||
} |
|
||||||
|
|
||||||
fun Double.toCurrency(): String { |
|
||||||
val format = NumberFormat.getCurrencyInstance() |
|
||||||
format.maximumFractionDigits = 2 |
|
||||||
format.minimumFractionDigits = 0 |
|
||||||
return format.format(this) |
|
||||||
} |
|
||||||
|
|
||||||
// Return the time from milliseconds to hours:minutes |
|
||||||
fun Long.toMinutes() : String { |
|
||||||
val totalMinutes = this / (1000 * 60) |
|
||||||
val hours = totalMinutes / 60 |
|
||||||
val minutesLeft = totalMinutes % 60 |
|
||||||
var duration = "" |
|
||||||
duration += if (hours < 10) "0$hours" else hours.toString() |
|
||||||
duration += ":" |
|
||||||
duration += if (minutesLeft < 10) "0$minutesLeft" else minutesLeft.toString() |
|
||||||
return duration |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
// Calendar |
|
||||||
|
|
||||||
// Return if the calendar dates are in the same month |
|
||||||
fun Calendar.isSameMonth(calendar: Calendar): Boolean { |
|
||||||
return calendar.get(Calendar.YEAR) == this.get(Calendar.YEAR) && |
|
||||||
calendar.get(Calendar.MONTH) == this.get(Calendar.MONTH) |
|
||||||
} |
|
||||||
// Return if the calendar dates are in the same day |
|
||||||
fun Calendar.isSameDay(calendar: Calendar): Boolean { |
|
||||||
return calendar.get(Calendar.YEAR) == this.get(Calendar.YEAR) && |
|
||||||
calendar.get(Calendar.MONTH) == this.get(Calendar.MONTH) && |
|
||||||
calendar.get(Calendar.DAY_OF_MONTH) == this.get(Calendar.DAY_OF_MONTH) |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
// Date |
|
||||||
|
|
||||||
// Return a short string of the date |
|
||||||
fun Date.shortDate(): String { |
|
||||||
return DateFormat.getDateInstance(DateFormat.SHORT).format(this) |
|
||||||
} |
|
||||||
// Return a short string of the date |
|
||||||
fun Date.mediumDate(): String { |
|
||||||
return DateFormat.getDateInstance(DateFormat.MEDIUM).format(this) |
|
||||||
} |
|
||||||
// Return a long string of the date |
|
||||||
fun Date.longDate(): String { |
|
||||||
return DateFormat.getDateInstance(DateFormat.LONG).format(this) |
|
||||||
} |
|
||||||
// Return a short string of the date |
|
||||||
fun Date.fullDate(): String { |
|
||||||
return DateFormat.getDateInstance(DateFormat.FULL).format(this) |
|
||||||
} |
|
||||||
|
|
||||||
// Return a short string of the date & time |
|
||||||
fun Date.shortDateTime(): String { |
|
||||||
return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(this) |
|
||||||
} |
|
||||||
// Return a medium string of the date & time |
|
||||||
fun Date.mediumDateTime(): String { |
|
||||||
return DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(this) |
|
||||||
} |
|
||||||
// Return a long string of the date & time |
|
||||||
fun Date.longDateTime(): String { |
|
||||||
return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(this) |
|
||||||
} |
|
||||||
// Return the full string of the date & time |
|
||||||
fun Date.fullDateTime(): String { |
|
||||||
return DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(this) |
|
||||||
} |
|
||||||
// Return the day number of the date |
|
||||||
fun Date.getDayNumber() : String { |
|
||||||
return SimpleDateFormat("dd", Locale.getDefault()).format(this) |
|
||||||
} |
|
||||||
// Return the 3 first letters of the date's day |
|
||||||
fun Date.getShortDayName() : String { |
|
||||||
return SimpleDateFormat("EE", Locale.getDefault()).format(this).substring(0, 3) |
|
||||||
} |
|
||||||
// Return the month & year of the date |
|
||||||
fun Date.getMonthAndYear(): String { |
|
||||||
return SimpleDateFormat("MMMM YYYY", Locale.getDefault()).format(this).capitalize() |
|
||||||
} |
|
||||||
|
|
||||||
// Return the duration between two dates |
|
||||||
fun Date.getDuration(toDate: Date) : String { |
|
||||||
val difference = (toDate.time - this.time).toInt() |
|
||||||
val numOfDays = (difference / (1000 * 60 * 60 * 24)) |
|
||||||
val hours = (difference / (1000 * 60 * 60)) |
|
||||||
val minutes = (difference / (1000 * 60)) % 60 |
|
||||||
|
|
||||||
val hoursStr = if (hours < 10) "0$hours" else "$hours" |
|
||||||
val minutesStr = if (minutes < 10) "0$minutes" else "$minutes" |
|
||||||
|
|
||||||
return "$hoursStr:$minutesStr" |
|
||||||
} |
|
||||||
|
|
||||||
// Toast |
|
||||||
|
|
||||||
fun PokerAnalyticsActivity.toast(message: String) { |
|
||||||
Toast.makeText(this, message, Toast.LENGTH_SHORT).show() |
|
||||||
} |
|
||||||
|
|
||||||
fun PokerAnalyticsFragment.toast(message: String) { |
|
||||||
Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show() |
|
||||||
} |
|
||||||
@ -0,0 +1,32 @@ |
|||||||
|
package net.pokeranalytics.android.util |
||||||
|
|
||||||
|
import java.text.DecimalFormat |
||||||
|
import java.text.NumberFormat |
||||||
|
|
||||||
|
|
||||||
|
// Double |
||||||
|
|
||||||
|
fun Double.round(): String { |
||||||
|
val formatter = DecimalFormat("##.##") |
||||||
|
return formatter.format(this) |
||||||
|
} |
||||||
|
|
||||||
|
fun Double.toCurrency(): String { |
||||||
|
val format = NumberFormat.getCurrencyInstance() |
||||||
|
format.maximumFractionDigits = 2 |
||||||
|
format.minimumFractionDigits = 0 |
||||||
|
return format.format(this) |
||||||
|
} |
||||||
|
|
||||||
|
// Return the time from milliseconds to hours:minutes |
||||||
|
fun Long.toMinutes() : String { |
||||||
|
val totalMinutes = this / (1000 * 60) |
||||||
|
val hours = totalMinutes / 60 |
||||||
|
val minutesLeft = totalMinutes % 60 |
||||||
|
var duration = "" |
||||||
|
duration += if (hours < 10) "0$hours" else hours.toString() |
||||||
|
duration += ":" |
||||||
|
duration += if (minutesLeft < 10) "0$minutesLeft" else minutesLeft.toString() |
||||||
|
return duration |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,29 @@ |
|||||||
|
package net.pokeranalytics.android.util |
||||||
|
|
||||||
|
import android.content.res.Resources |
||||||
|
import android.widget.Toast |
||||||
|
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity |
||||||
|
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment |
||||||
|
|
||||||
|
|
||||||
|
// Sizes |
||||||
|
val Int.dp: Int |
||||||
|
get() = (this / Resources.getSystem().displayMetrics.density).toInt() |
||||||
|
val Int.px: Int |
||||||
|
get() = (this * Resources.getSystem().displayMetrics.density).toInt() |
||||||
|
val Float.dp: Float |
||||||
|
get() = (this / Resources.getSystem().displayMetrics.density) |
||||||
|
val Float.px: Float |
||||||
|
get() = (this * Resources.getSystem().displayMetrics.density) |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Toast |
||||||
|
|
||||||
|
fun PokerAnalyticsActivity.toast(message: String) { |
||||||
|
Toast.makeText(this, message, Toast.LENGTH_SHORT).show() |
||||||
|
} |
||||||
|
|
||||||
|
fun PokerAnalyticsFragment.toast(message: String) { |
||||||
|
Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show() |
||||||
|
} |
||||||
Loading…
Reference in new issue