Skip to content

Instantly share code, notes, and snippets.

class HexogenImageView @JvmOverloads constructor(context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ImageView(context, attrs, defStyleAttr) {
private var path: Path
private var paint: Paint
init {
<animated-vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable">
<vector
android:name="vector"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
@AdrianoCelentano
AdrianoCelentano / PaymentProvider.kt
Last active March 4, 2019 14:28
PaymentProvider
interface PaymentProvider {
fun pay()
fun isEnabled()
}
@AdrianoCelentano
AdrianoCelentano / providermap.kt
Last active March 4, 2019 16:22
Credit card provider multibindings
@Binds
@IntoMap
@StringKey(CREDIT_CARD_KEY)
fun provideCardProvider(paymentProvider: CreditCardPaymentProvider): PaymentProvider
interface Shape
class Triangle: Shape
class Rectangle: Shape
class Circle: Shape
@Inject
lateinit var paymentProviders: Map<String, PaymentProvider>
@AdrianoCelentano
AdrianoCelentano / ViewModelProvider.kt
Last active March 5, 2019 16:40
ViewModelProvider
myViewModel = ViewModelProviders.of(this, viewModelFactory).get(MyViewModel::class.java)
public interface Factory {
@NonNull
<T extends ViewModel> T create(@NonNull Class<T> modelClass);
}
class MyViewModel @Inject constructor(private val myRepository: MyRepository): ViewModel() {
}
@Binds
@IntoMap
@ViewModelKey(MyViewModel::class)
abstract fun bindMyViewModel(myViewModel: MyViewModel): ViewModel