object Utils {
val currentYear: String
get() {
val year = Calendar.getInstance().get(Calendar.YEAR)
return year.toString()
}
fun isEmpty(ed: EditText): Boolean {
val temp = ed.text.toString().replace("\\s".toRegex(), "")
return TextUtils.isEmpty(temp)
}
fun getString(ed: EditText): String {
return ed.text.toString()
}
fun showToast(context: Context, message: String) {
Toast.makeText(context, message, Toast.LENGTH_LONG).show()
}
fun convertDateTime(DateTime: String, dateFormat1: SimpleDateFormat, dateFormat2: SimpleDateFormat): String {
var DateTime = DateTime
try {
val value = dateFormat1.parse(DateTime)
DateTime = dateFormat2.format(value)
} catch (e: Exception) {
DateTime = DateTime
}
return DateTime
}
fun capWord(capString: String): String {
val capBuffer = StringBuffer()
val capMatcher = Pattern.compile("([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(capString)
while (capMatcher.find()) {
capMatcher.appendReplacement(capBuffer, capMatcher.group(1).toUpperCase() + capMatcher.group(2).toLowerCase())
}
return capMatcher.appendTail(capBuffer).toString()
}
fun addDays(date: Date, days: Int): Date {
val cal = Calendar.getInstance()
cal.setTime(date)
cal.add(Calendar.DATE, days) //minus number would decrement the days
return cal.getTime()
}
fun MD5(input: String): String {
val HEX_CHARS = "0123456789ABCDEF"
val digest: MessageDigest
try {
digest = MessageDigest.getInstance("MD5")
digest.reset()
digest.update(input.toByteArray())
val a = digest.digest()
val len = a.size
val sb = StringBuilder(len shl 1)
for (i in 0 until len) {
sb.append(HEX_CHARS[i shr 4 and 0x0f])
sb.append(HEX_CHARS[i and 0x0f])
}
return sb.toString()
} catch (e: NoSuchAlgorithmException) {
e.printStackTrace()
}
return input
}
private fun hashString(type: String, input: String): String {
val HEX_CHARS = "0123456789ABCDEF"
val bytes = MessageDigest
.getInstance(type)
.digest(input.toByteArray())
val result = StringBuilder(bytes.size * 2)
bytes.forEach {
val i = it.toInt()
result.append(HEX_CHARS[i shr 4 and 0x0f])
result.append(HEX_CHARS[i and 0x0f])
}
return result.toString()
}
fun generateMD5(message: String): String {
return hashString("MD5", message)
}
fun generateSHA1(message: String): String {
return hashString("SHA-1", message)
}
}