Skip to content

Instantly share code, notes, and snippets.

View ibrahimyilmaz's full-sized avatar
💻

ibrahim yilmaz ibrahimyilmaz

💻
View GitHub Profile
@file:JvmName("TransactionUtils")
@file:JvmMultifileClass
val Transaction.formattedTransactionTime: String
get() = SomeFormattings(this.transactionTime)
fun Transaction.getFormattedTransactionTime() : String {
return SomeFormattings(this.transactionTime)
}
@file:JvmName("TransactionUtils")
val Transaction.formattedTransactionTime: String
get() = SomeFormattings(this.transactionTime)
fun Transaction.getFormattedTransactionTime() : String {
return SomeFormattings(this.transactionTime)
}
val Transaction.formattedTransactionTime: String
get() = SomeFormattings(this.transactionTime)
fun Transaction.getFormattedTransactionTime() : String {
return SomeFormattings(this.transactionTime)
}
public final class TransactionUtils {
public static String getTransactionWithFormattedTime(final Transaction transaction) {
String transactionTime = transaction.getTransactionTime();
return SomeFormattings(transactionTime);
}
}
//Lets say we are in the ViewHolder of a RecyclerView.Adapter
public void onBindViewHolder(...){
Transaction transaction = transactions.get(0)
TransactionUtils.getTransactionWithFormattedTime(transaction);
// I call the same method again for the same instance of the transaction
TransactionUtils.getTransactionWithFormattedTime(transaction);
public final class TransactionUtils {
public static void getTransactionWithFormattedTime(Transaction transaction) {
String oldTransationTime = transaction.getTransactionTime();
transaction.setTransactionTime(SomeFormattings!!!) ;
}
}
//Lets say we are in the ViewHolder of a RecyclerView.Adapter
public void onBindViewHolder(...){
@ibrahimyilmaz
ibrahimyilmaz / UseCase.kt
Created August 20, 2020 18:29
UseCase.kt
inline fun <T> ViewModel.useCase(
noinline call: suspend () -> Result<T>,
noinline onError: (suspend (exception: Throwable) -> Unit)? = null,
noinline onSuccess: (suspend (data: T) -> Unit)? = null
) {
flow {
when (val response = call()) {
is Result.Success -> emit(response.data)
is Result.Error -> throw response.exception
}
data class Account(val iban: String)
val Account.formattedIban:String
get(){
...
}
class Account(val iban: String)
val Account.formattedIban:String
get(){
...
}
class Account(val iban: String) {
fun getFormattedIban():String {
val sb = StringBuilder()
for (i in 0..15) {
if (i % 4 == 0) sb.append(" ")
sb.append(iban[i])
}
return sb.toString()
}