Skip to content

Instantly share code, notes, and snippets.

View NomenSvyat's full-sized avatar

Svyatoslav NomenSvyat

View GitHub Profile
package com.nomensvyat.di
import timber.log.Timber
import kotlin.reflect.KClass
/**
* Class for managing Dagger components
* */
object ComponentManager {
private val map: MutableMap<Class<out Any>, Any> = mutableMapOf()
import subprocess
import sys
def isInList(listToCheck, c_value):
for value in listToCheck:
if value in c_value.lower():
return True
return False
@NomenSvyat
NomenSvyat / RxSocketListener.java
Last active November 3, 2016 18:02
Work with SocketIO callbacks as rx observables. (Need to be redone, because of no info about event it listens to, so it's hard to log events)
public class RxSocketListener<T> implements Ack, Emitter.Listener {
private final Type type;
private final Gson gson;
@NonNull
private LinkedList<T> resultBuffer = new LinkedList<>();
@NonNull
private PublishSubject<T> subject = PublishSubject.create();
public RxSocketListener(Type type, Gson gson) {
this.type = type;
@NomenSvyat
NomenSvyat / ActivityModule.java
Last active November 3, 2016 17:31
Simple way to centralize message showing. Now we can inject MessageShower into whatever we want. In BaseActivity class I'm forwarding all CanShowMessage interfece's methods to MessageShower.
//Provide different MessageShowers for different qualifiers
@PerActivity
@Provides
MessageShower provideMessageShower(@ActivityContext Context context,
PreferencesManager preferencesManager) {
return new ToastMessageShower(context, preferencesManager);
}
@Named("login")
@NomenSvyat
NomenSvyat / NonEmptyRecyclerViewAdapterWrapper.java
Last active December 27, 2016 02:11
Wrapper for adapter to show any view instead of empty list
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.List;
public final class NonEmptyRecyclerViewAdapterWrapper
extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@NomenSvyat
NomenSvyat / build.gradle
Last active November 3, 2016 17:40
Getting passwords for signing from file or environment
task askForPasswords << {
def storePass
def keyAlias
def keyPass
def keystorePropertiesFile = new File("../keystore/keystore.properties")
println keystorePropertiesFile.absolutePath
if (keystorePropertiesFile.exists()) {
println "Loading keystore passwords from property file..."