sudo apt-get purge openjdk-\*
sudo mkdir -p /usr/local/java
sudo cp -r jdk-XuXX-linux-x64.tar.gz /usr/local/java/
import java.io.PrintWriter; | |
import java.io.StringWriter; | |
import java.text.SimpleDateFormat; | |
import java.util.Date; | |
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
/** | |
* Created by bloodybadboycreation on 17/9/17. | |
*/ |
#include <iostream> | |
using namespace std; | |
template<class T> | |
class Node { | |
public: | |
T value; | |
Node<T> *next; |
import android.content.Context | |
import android.graphics.Canvas | |
import android.graphics.Color | |
import android.graphics.Paint | |
import android.util.AttributeSet | |
import android.view.View | |
private const val N = 16 | |
private const val PERIOD1 = -10000.0 | |
private const val PERIOD2 = -500.0 |
package dev.arpan.recycleview.drills.utils | |
/** | |
* **** OUT **** | |
* Let's say that we want to create a producer class that will be producing a result of some type T. | |
* Sometimes; we want to assign that produced value to a reference that is of a supertype of the type T. | |
* To achieve that using Kotlin, we need to use the out keyword on the generic type. It means that we | |
* can assign this reference to any of its supertypes. | |
* The out value can be only be produced by the given class but not consumed: | |
* |
import androidx.lifecycle.Observer | |
/** | |
* Used as a wrapper for data that is exposed via a LiveData that represents an event. | |
*/ | |
open class Event<out T>(private val content: T) { | |
var hasBeenHandled = false | |
private set // Allow external read but not write |
[{"name":"Black","hex":"#000000","group":"Black"}, | |
{"name":"Air Force Blue","hex":"#5D8AA8","group":"Blue"}, | |
{"name":"Alice Blue","hex":"#F0F8FF","group":"Blue"}, | |
{"name":"Allports","hex":"#1F6A7D","group":"Blue"}, | |
{"name":"Anakiwa","hex":"#8CCEEA","group":"Blue"}, | |
{"name":"Aqua","hex":"#00FFFF","group":"Blue"}, | |
{"name":"Aquamarine","hex":"#7FFFD4","group":"Blue"}, | |
{"name":"Arapawa","hex":"#274A5D","group":"Blue"}, | |
{"name":"Astral","hex":"#376F89","group":"Blue"}, | |
{"name":"Astronaut","hex":"#445172","group":"Blue"}, |
package dev.arpan.utils | |
import android.view.View | |
import android.view.ViewGroup | |
import androidx.core.view.ViewCompat | |
import androidx.core.view.WindowInsetsCompat | |
// Make the content ViewGroup ignore insets so that it does not use the default padding | |
@BindingAdapter("ignoreInsets") | |
fun View.ignoreInsets( |
class FragmentViewBindingProperty<T : ViewBinding>( | |
private val viewBinder: ViewBinder<T> | |
) : ReadOnlyProperty<Fragment, T> { | |
private var viewBinding: T? = null | |
private val lifecycleObserver = BindingLifecycleObserver() | |
@MainThread | |
override fun getValue(thisRef: Fragment, property: KProperty<*>): T { | |
checkIsMainThread() |
People
![]() :bowtie: |
π :smile: |
π :laughing: |
---|---|---|
π :blush: |
π :smiley: |
:relaxed: |
π :smirk: |
π :heart_eyes: |
π :kissing_heart: |
π :kissing_closed_eyes: |
π³ :flushed: |
π :relieved: |
π :satisfied: |
π :grin: |
π :wink: |
π :stuck_out_tongue_winking_eye: |
π :stuck_out_tongue_closed_eyes: |
π :grinning: |
π :kissing: |
π :kissing_smiling_eyes: |
π :stuck_out_tongue: |