Skip to content

Instantly share code, notes, and snippets.

@dirong
dirong / tasks.gradle
Created June 12, 2018 13:10
Gradle. Clear Android application data from device
task clearAppData {
doLast {
def applicationIds = []
project.android.applicationVariants.all { variant ->
def applicationId = [variant.mergedFlavor.applicationId, variant.buildType.applicationIdSuffix].findAll().join()
if (!applicationIds.contains(applicationId)) {
applicationIds += applicationId
}
}
applicationIds.forEach { id ->
@dirong
dirong / BaseActivity.kt
Last active July 12, 2017 15:24
Conductor + Mortar
package de.dom.android.ui
import android.os.Bundle
import com.trello.rxlifecycle.components.support.RxAppCompatActivity
import de.dom.android.di.HomeActivityComponent
import de.dom.android.di.modules.ActivityModule
import de.dom.android.ui.HomeActivity.DEFAULT_INPUT_MODE
import de.dom.android.di.DaggerService
import mortar.MortarScope
import mortar.bundler.BundleServiceRunner
@dirong
dirong / CacheOptions.java
Created June 9, 2016 15:29
Data caching for Janet actions
@Value.Immutable
public abstract class CacheOptions {
@Value.Default
public boolean restoreFromCache() {
return true;
}
@Value.Default
public boolean saveToCache() {
return true;
package io.techery.janet;
import java.util.ArrayList;
import java.util.List;
import io.techery.janet.http.annotations.HttpAction;
import rx.functions.Func1;
public class MultiHttpActionService extends ActionService {
@dirong
dirong / PicassoLoadDSL.java
Last active April 18, 2016 09:08
DSL class to ease using Picasso with https://github.com/zserge/anvil
package io.techery.sample.utils;
import android.support.annotation.DrawableRes;
import android.view.View;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import trikita.anvil.Anvil;
@dirong
dirong / GoroScheduler.java
Last active July 5, 2017 15:18
RX Scheduler which uses Goro for action scheduling
package io.techery.spoiq.util.rx.goro;
import android.content.Context;
import com.stanfy.enroscar.goro.Goro;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.ScheduledFuture;
package com.togethernetworks.notificationcards;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ScrollView;
/**
* Created by dirong on 10/27/14.
*/
package com.project.utils.recyclerview;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
/**
* Created by dirong on 10/14/14.