Skip to content

Instantly share code, notes, and snippets.

View sliskiCode's full-sized avatar
🏠
Working from home 🇵🇱

Piotr Ślesarew sliskiCode

🏠
Working from home 🇵🇱
View GitHub Profile
@sliskiCode
sliskiCode / Extensions.java
Created November 4, 2016 15:48
Deep dive in Kotlin extensions 2
public final class StringKtTestKt {
@NotNull
public static final String removeWhitespaces(@NotNull String $receiver) {}
}
@sliskiCode
sliskiCode / Extensions.java
Last active November 5, 2016 14:05
Quick dive in Kotlin extensions 3
String foo = "Piotr Slesarew";
StringKtTestKt.removeWhitespaces(foo);
@sliskiCode
sliskiCode / Extensions.kt
Created November 5, 2016 14:06
Quick dive in Kotlin extensions 4
val collection = listOf("Piotr", "Slesarew")
collection.reversed()
.forEach(::println)
@sliskiCode
sliskiCode / Extensions.kt
Created November 5, 2016 14:14
Quick dive in Kotlin extensions 5
val collection = listOf("Piotr", "Slesarew")
collection.reversedForEach(::println)
fun <T> Iterable<T>.reversedForEach(action: (T) -> Unit): Unit {
for (element in this.reversed()) action(element)
}
@sliskiCode
sliskiCode / UserInfoFragment.kt
Last active November 23, 2016 09:51
7 things you probably don’t know about Kotlin #1
package com.code.sliski.userinfoscreen.ui
import ...
import android.view.View // Conflict
class UserInfoFragment : Fragment(), com.code.sliski.userinfoscreen.ui.View { // Conflict
override fun onCreateView(inflater: LayoutInflater,
container: ViewGroup?,
@sliskiCode
sliskiCode / UserInfoFragment.kt
Last active August 21, 2017 14:23
7 things you probably don’t know about Kotlin #2
import android.view.View as AndroidView // Named import
class UserInfoFragment : Fragment(), View {
override fun onCreateView(inflater: LayoutInflater,
container: ViewGroup?,
state: Bundle?): AndroidView = // Using named import
}
@sliskiCode
sliskiCode / CustomButton.kt
Last active November 23, 2016 13:56
7 things you probably don’t know about Kotlin #3
// Using in Java
CustomButton button = new CustomButton(context);
button.setVisibility(CustomButton.Companion.getGONE());
// Using in Kotlin
val button = CustomButton(context)
button.visibility = CustomButton.VISIBLE
class CustomButton(context: Context?) : View(context) {
companion object {
@sliskiCode
sliskiCode / CustomButton.kt
Created November 23, 2016 14:00
7 things you probably don’t know about Kotlin #4
// Using in Java
CustomButton button = new CustomButton(context);
button.setVisibility(CustomButton.Visibility.getGONE());
...
class CustomButton(context: Context?) : View(context) {
companion object Visibility {
val GONE = 1
val VISIBLE = 2
@sliskiCode
sliskiCode / CustomButton.kt
Last active December 5, 2016 08:58
5 things you probably don’t know about Kotlin #5
val button = CustomButton(context)
button.visibility = CustomButton.Visibility.VISIBLE
button.foregroundGravity = CustomButton.ForegroundGravity.LEFT
class CustomButton(context: Context?) : View(context) {
companion object Visibility {
val VISIBLE = 1
val INVISIBLE = 2
}
@sliskiCode
sliskiCode / Main.kt
Last active November 23, 2016 14:39
7 things you probably don’t know about Kotlin #6
// Main.java
public static void main(String[] args) {
String name = null;
AnyKt.ifNull(name, new Function1<Object, Unit>() {
@Override
public Unit invoke(Object o) {
return null;
}
});