Skip to content

Instantly share code, notes, and snippets.

View FireZenk's full-sized avatar
🌍
Improving the world

Jorge Garrido FireZenk

🌍
Improving the world
View GitHub Profile
@FireZenk
FireZenk / ToolbarSearchDsl.kt
Created April 26, 2018 10:33
Toolbar Search dsl kotlin-android
import android.support.annotation.IdRes
import android.support.v7.widget.SearchView
import android.support.v7.widget.Toolbar
import android.view.MenuItem
@DslMarker
annotation class ToolbarSearchDsl
@ToolbarSearchDsl
@FireZenk
FireZenk / GenericSwipeCallback.kt
Created April 26, 2018 10:31
Swipe DSL kotlin-android
import android.graphics.Canvas
import android.support.v7.widget.RecyclerView
import android.support.v7.widget.helper.ItemTouchHelper
import android.support.v7.widget.helper.ItemTouchHelper.*
import android.view.View
abstract class GenericSwipeCallback(
private var swipeLeft: SwipeAction? = null,
private var swipeRight: SwipeAction? = null
) : ItemTouchHelper.Callback() {
@FireZenk
FireZenk / WebSocket.kt
Created January 11, 2018 14:39
websocket.org rx implementation
object WebSocket : WebSocketListener() {
private lateinit var broadcaster: FlowableEmitter<String>
private lateinit var disposable: Disposable
private lateinit var webSocket: WebSocket
private val flowable = Flowable.create(FlowableOnSubscribe<String> { emitter -> broadcaster = emitter }, BackpressureStrategy.BUFFER)
fun subscribe(): Flowable<String> {
val client = OkHttpClient.Builder()
.readTimeout(0, TimeUnit.MILLISECONDS)
@FireZenk
FireZenk / SignalrSocket.kt
Created January 11, 2018 14:38
Signalr socket rx implementation
object SignalrSocket {
private lateinit var broadcaster: FlowableEmitter<String>
private lateinit var disposable: Disposable
private val flowable = Flowable.create(FlowableOnSubscribe<String> { emitter -> broadcaster = emitter }, BackpressureStrategy.BUFFER)
private lateinit var mHubConnection: HubConnection
private lateinit var mHubProxy: HubProxy
@Throws(InterruptedException::class, ExecutionException::class)
<my.package.MyCustomView
android:id="@+id/my_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<fragment android:name="my.package.MyFragment"
android:id="@+id/my_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
MyCustomView customView = new MyCustomView(context);
parentView.removeAllViews();
parentView.add(customView);
MyFragment fragment = MyFragment.newInstance(index);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.parent, fragment);
ft.commit();
module.exports = function (plop) {
plop.addHelper('lowerCase', (text) => text.toLowerCase());
// add more helpers here
plop.setGenerator('feature', {
description: 'creates a new mvp-based feature',
prompts: [{
type: 'input',
plop.setGenerator('feature', {
description: 'creates a new mvp-based feature',
prompts: [{
type: 'input',
name: 'package',
message: 'Package name?'
},{
type: 'input',
name: 'feature',
message: 'Feature name?'