Some Kotlin delegates examples
- property delegates and class delegates
const promiseWrapper = <T> (promise: Promise<T>): () => T => { | |
let status = "pending"; | |
let result: T; | |
const s = promise.then( | |
(value) => { | |
status = "success"; | |
result = value; | |
}, | |
(error) => { |
Some Kotlin delegates examples
name: deploy-to-qa | |
on: | |
workflow_dispatch: | |
push: | |
tags: [ 'v*' ] | |
jobs: | |
update_qa: | |
runs-on: ubuntu-latest | |
steps: |
viewModel.viewState.observe(viewLifecycleOwner) { state -> | |
state takeIfSuccess { | |
// Here's the success state | |
} takeIfError { | |
// Here's the error state | |
} | |
} |
package com.example.grayscaleexperiment | |
import android.content.Context | |
import android.graphics.Canvas | |
import android.graphics.ColorMatrix | |
import android.graphics.ColorMatrixColorFilter | |
import android.graphics.Paint | |
import android.util.AttributeSet | |
import androidx.constraintlayout.widget.ConstraintLayout |
//https://www.intercom.com/help/en/articles/170-integrate-intercom-in-a-single-page-app | |
const Intercom = { | |
init: (appId) => { | |
console.log("Intercom", "init", appId); | |
const w = window; | |
const ic = w.Intercom; | |
w.intercomSettings = { | |
horizontal_padding: 24, | |
vertical_padding: 24, |
package com.pantos27.gist | |
import android.os.Bundle | |
import androidx.fragment.app.DialogFragment | |
import androidx.fragment.app.FragmentManager | |
import android.view.LayoutInflater | |
import android.view.View | |
import android.view.ViewGroup | |
import android.view.Window | |
import android.widget.FrameLayout |
package com.pantos27.gist | |
class KotlinView @JvmOverloads constructor( | |
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 | |
) : View(context, attrs, defStyleAttr){ | |
init{ | |
//init stuff | |
} | |
} |
package com.pantos27.hamburgersforbreakfast | |
import android.app.Activity | |
import android.os.Bundle | |
/** | |
* A utility class to keep track if your app is in the foreground or background | |
* without any special permission or API restrictions | |
* Note that if your app has any activities that run on a different | |
* process (through the process attribute in your manifest) this utility might not be persistent | |
* |
package com.pantos27.someproject.recycler | |
import android.support.annotation.IdRes | |
import android.support.v7.widget.RecyclerView | |
import android.view.View | |
import android.view.ViewGroup | |
import android.widget.ImageView | |
import android.widget.TextView | |
import java.util.* |