Skip to content

Instantly share code, notes, and snippets.

View poemsk's full-sized avatar

Poe poemsk

View GitHub Profile
public class ExampleClient {
@AnyThread
public ExampleClient(Context context, @NonNull Configuration config) {
}
@UiThread
public void doSomething() {
}
@poemsk
poemsk / ExampleClient.java
Created May 2, 2020 10:52
Building Android Library From Scratch
// don't do this
public ExampleClient(Context context, Configuration config) {
}
// do this
public ExampleClient(Context context, @NonNull Configuration config) {
}
@poemsk
poemsk / ExampleClient.java
Last active May 2, 2020 11:55
Building Android Library From Scratch
public class ExampleClient {
public static final String ENVIRONMENT_DEV = "DEV";
public static final String ENVIRONMENT_PROD = "PROD";
public static final String ENVIRONMENT_STAGING = "STG";
@Retention(RetentionPolicy.SOURCE)
@StringDef({ENVIRONMENT_DEV, ENVIRONMENT_PROD, ENVIRONMENT_STAGING})
public @interface Environment {
}
public class ExampleClient {
public static enum Environment {
DEV, STAGING, PROD
}
private ExampleClient(Context context, String key, int logLevel, Environment environment) {
}
private static Builder {
@poemsk
poemsk / ExampleClient.kt
Last active May 2, 2020 10:29
Building Android Library From Scratch
public class Configuration(val context: Context, val key: String) {
var environment: String = "dev"
}
public ExampleClient(Context context, Configuration config) {
}
//initialisation
val config = Configuration(context, key)
config.environment = "prod"
@poemsk
poemsk / ExampleClient.java
Created May 2, 2020 10:23
Building Android Library From Scratch
public class ExampleClient {
private Context context;
private String key;
private int logLevel;
private String environment;
public ExampleClient(Context context, String key, int logLevel, String environment) {
}
@poemsk
poemsk / ExampleClient.java
Last active May 2, 2020 11:56
Building Android Library From Scratch
public class ExampleClient {
private ExampleClient(Context context, String key, int logLevel, String environment) {
}
private static Builder {
private Context context;
@poemsk
poemsk / bash-cheatsheet.sh
Created March 9, 2016 05:42 — forked from LeCoupa/bash-cheatsheet.sh
Bash CheatSheet for UNIX Systems
#!/bin/bash
#####################################################
# Name: Bash CheatSheet for Mac OSX
#
# A little overlook of the Bash basics
#
# Usage:
#
# Author: J. Le Coupanec
# Date: 2014/11/04
@poemsk
poemsk / mmaug_RxSunshine_MainFragment.java
Last active August 29, 2015 14:25
mmaug_RxSunshine_MainFragment.java
package org.mmaug.rxsunshine;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@poemsk
poemsk / mmaug_RxSunshine_WeatherAdapter.java
Last active August 29, 2015 14:25
mmaug_RxSunshine_WeatherAdapter
package org.mmaug.rxsunshine;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;