Skip to content

Instantly share code, notes, and snippets.

View alorma's full-sized avatar
🤡

Bernat Borrás Paronella alorma

🤡
View GitHub Profile
@alorma
alorma / VectorMenuIconHolder.java
Created February 8, 2017 17:13
VectorMenuIconHolder
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.annotation.ColorInt;
import android.support.annotation.DrawableRes;
import android.support.v4.graphics.drawable.DrawableCompat;

Keybase proof

I hereby claim:

  • I am alorma on github.
  • I am alorma (https://keybase.io/alorma) on keybase.
  • I have a public key whose fingerprint is A69A 1BE5 38E9 5BAA 1467 BAE3 74D2 5F37 64C2 5FC3

To claim this, I am signing this object:

package com.schibsted.android.rocket.features.navigation.profile.edit.preference;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.v7.preference.DialogPreference;
import android.util.AttributeSet;
import com.schibsted.android.rocket.RocketApplication;
import com.schibsted.android.rocket.RocketComponent;
@alorma
alorma / SearchQuery.kt
Last active September 26, 2017 08:24
Android SearchView query callback
class SearchQuery(private val callback: Callback?) : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
query?.let {
callback?.onTextSubmitted(query)
} ?: callback?.onTextSubmittedEmpty()
return true
}
override fun onQueryTextChange(newText: String?): Boolean {
newText?.let {
import android.app.Activity;
import android.content.Context;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.inputmethod.InputMethodManager;
import java.util.HashMap;
@alorma
alorma / CalendarDsl.kt
Last active February 8, 2018 16:33
Kotlin calendar DSL
import java.util.*
@DslMarker
annotation class CalendarDsl
@CalendarDsl
class CalendarBuilder(val calendar: Calendar) {
fun dayOfMonth(function: () -> Int) = calendar.apply { set(Calendar.DAY_OF_MONTH, function()) }
fun dayOfMonth(value: Int) = calendar.apply { set(Calendar.DAY_OF_MONTH, value) }
fun configureRxThreading() {
RxJavaPlugins.reset()
val immediate = object : Scheduler() {
override fun scheduleDirect(run: Runnable, delay: Long, unit: TimeUnit): Disposable {
return super.scheduleDirect(run, 0, unit)
}
override fun createWorker(): Worker {
return ExecutorScheduler.ExecutorWorker(Executor { it.run() })
class CreateTriggerPresenter @Inject constructor(
private val permissionRequest: DexterBuilder.SinglePermissionListener,
private val androidGetContact: AndroidGetContact,
val logger: Logger)
: BasePresenter<CreateTriggerState, CreateTriggerRoute, CreateTriggerAction, CreateTriggerView>(logger) {
override fun action(action: CreateTriggerAction) {
when (action) {
is RequestContactAction -> onContactRequest()
is ContactImportAction -> onContactImport(action)
class DelayedTimeProvider(private val timeProvider: TimeProvider,
private val delayed: Delayed) : TimeProvider {
override fun getTime(): Long = timeProvider.getTime() + delayed.get()
}
data class Delayed(private val time: Long, private val unit: TimeUnit) {
fun get() = unit.toMillis(time)
}
cd .git/
cd hooks/