Skip to content

Instantly share code, notes, and snippets.


Mike Nakhimovich digitalbuddha

View GitHub Profile
chrisbanes / CoroutineLifecycleObserver.kt
Last active September 9, 2022 14:07
LifecycleObserver which allows easy cancelling of coroutines
View CoroutineLifecycleObserver.kt
* Copyright 2018 Google LLC
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* Unless required by applicable law or agreed to in writing, software
chrisbanes / KotterKnife.kt
Last active February 7, 2021 15:25
LifecycleAware KotterKnife
View KotterKnife.kt
package kotterknife
import android.arch.lifecycle.Lifecycle
import android.arch.lifecycle.LifecycleObserver
import android.arch.lifecycle.LifecycleOwner
import android.arch.lifecycle.OnLifecycleEvent
aahlenst /
Last active July 27, 2021 15:56
IdlingResource that makes Espresso 2 wait until all RxJava 2 tasks have finished
* The MIT License
* Copyright (c) 2016 Andreas Ahlenstorf
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
RoryKelly /
Last active February 7, 2018 07:58
Mirrored Source for OKIO.
* Takes a bytes source and streams it to parallel sources. I.E Streaming bytes to two server in parallel.
public final class MirroredSource {
private final Buffer buffer = new Buffer();
private final Source source;
private final AtomicBoolean sourceExhausted = new AtomicBoolean();
private boolean closed = false;
shakil807g /
Last active September 19, 2022 16:51
Multiple Image Upload Using okhttp3 android
public void upload(){
Toast.makeText(MainActivity.this, "click", Toast.LENGTH_SHORT).show();
MultipartBody.Builder builder = new MultipartBody.Builder()
for(int i = 0 ; i < images_path.size() ; i++) {
lenguyenthanh / Dagger
Last active May 7, 2020 19:55
Dagger 2 configuration
View Dagger

Small gist shows how to config Dagger 2 to an Android project

lukaspili /
Last active August 29, 2015 14:16
Dagger 2 / Mortar / Flow
public class LoginScreen extends Path {
@dagger.Component(dependencies = RootActivity.Component.class)
public static interface Component extends RootActivity.Component {
void inject(LoginView view);
dustin-graham /
Created February 15, 2015 06:17
Infinite Scrolling Android RecyclerView with RxJava
public static Observable<List<String>> paginatedThings(final Observable<Void> onNextObservable) {
return Observable.create(new Observable.OnSubscribe<List<String>>() {
public void call(final Subscriber<? super List<String>> subscriber) {
onNextObservable.subscribe(new Observer<Void>() {
int latestPage = -1;
public void onCompleted() {
JakeWharton / gist:f50f3b4d87e57d8e96e9
Created February 7, 2015 01:59
Rise and Shine™, unlock and wake up your device automatically when you deploy from the IDE. Put this somewhere in your `src/debug/` code and run it when the application or main activity starts. Apache 2.
View gist:f50f3b4d87e57d8e96e9
* Show the activity over the lockscreen and wake up the device. If you launched the app manually
* both of these conditions are already true. If you deployed from the IDE, however, this will
* save you from hundreds of power button presses and pattern swiping per day!
public static void riseAndShine(Activity activity) {
PowerManager power = (PowerManager) activity.getSystemService(POWER_SERVICE);
PowerManager.WakeLock lock =