Skip to content

Instantly share code, notes, and snippets.

View agustarc's full-sized avatar
🎯
Focusing

Leopold agustarc

🎯
Focusing
View GitHub Profile
public enum Singleton {
INSTANCE;
}
public class Singleton {
private Singleton() {}
public static Singleton getInstance() {
return LazyHolder.INSTANCE;
}
private static class LazyHolder {
private static final Singleton INSTANCE = new Singleton();
}
}
public class Singleton {
private volatile static Singleton instance;
private Singeton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized(Singleton.class) {
if (instance == null) {
instance == new Singleton();
}
public class LeakActivity extends Activity {
private final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// do work
}
}
@Override
public class NonLeakActivity extends Activity {
private NonLeakHandler handler = new NonLeakHandler(this);
private static final class NonLeakHandler extends Handler {
private final WeakReference<NonLeakActivity> ref;
public NonLeakHandler(NonLeakActivity act) {
ref = new WeakReference<>(act);
}
@AutoValue
public abstract class Product {
@SerializedName("id")
public abstract long getId();
@SerializedName("name")
public abstract String getName();
@SerializedName("price")
public abstract float getPrice();
@GsonTypeAdapterFactory
public abstract class AutoValueGsonFactory implements TypeAdapterFactory {
public static TypeAdapterFactory create() {
return new AutoValueGson_AutoValueGsonFactory();
}
}
@AutoValue
public abstract class Product {
@SerializedName("id")
public abstract long getId();
@SerializedName("name")
public abstract String getName();
@SerializedName("price")
public abstract float getPrice();
@AutoValue
abstract class ProductBuilder {
@SerializedName("id")
abstract long getId();
@SerializedName("name")
abstract String getName();
@SerializedName("price")
abstract float getPrice();
@Module
public class SampleModule {
private static final int CONNECT_TIMEOUT = 15;
private static final int WRITE_TIMEOUT = 15;
private static final int READ_TIMEOUT = 15;
private static final String baseUrl; // your base url;
@Provides
@Singleton
Cache provideOkHttpCache(Application application) {