Skip to content

Instantly share code, notes, and snippets.

@hector6872
hector6872 / TintedProgressBar.java
Created July 22, 2016 08:01
TintedProgressBar
public class TintedProgressBar extends ProgressBar {
public TintedProgressBar(Context context) {
this(context, null);
}
public TintedProgressBar(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public TintedProgressBar(Context context, AttributeSet attrs, int defStyleAttr) {
@hector6872
hector6872 / build.gradle
Created May 27, 2016 06:52
Gradle – Create a Jar file
android.libraryVariants.all { variant ->
String taskName = "makeJar${variant.name.capitalize()}"
task(taskName, type: Copy) {
String baseFileName = "${project.name}-${variant.name}"
String outputDir = "${buildDir.getPath()}/outputs"
dependsOn "assemble${variant.name.capitalize()}"
from(zipTree("${outputDir}/aar/${baseFileName}.aar"))
into("${outputDir}/jar/")
public class ProgressView extends View {
private static final int DEFAULT_PROGRESS = 0;
private static final int DEFAULT_PROGRESS_MAX = 100;
private static final int DEFAULT_COLOR_BACKGROUND = Color.GRAY;
private static final int DEFAULT_COLOR_PROGRESS = Color.BLUE;
private Paint paintProgress;
private Paint paintProgressBackground;
private int height;
@hector6872
hector6872 / SQLQueryBuilder.java
Last active April 27, 2017 21:32
SQLQueryBuilder
@SuppressWarnings({ "WeakerAccess", "unused" }) public class SQLQueryBuilder {
private static final String STATEMENT_SELECT = "SELECT";
private static final String STATEMENT_DISTINCT_SELECT = "SELECT DISTINCT";
private static final String STATEMENT_UPDATE = "UPDATE";
private static final String STATEMENT_INSERT_INTO = "INSERT INTO";
private static final String STATEMENT_DELETE = "DELETE FROM";
private static final String WHERE = "WHERE";
private static final String FROM = "FROM";
@hector6872
hector6872 / AdvancedRadioGroup.java
Last active March 17, 2016 15:04
AdvancedRadioGroup
public class AdvancedRadioGroup extends LinearLayout {
private int radioButtonCheckedId;
private boolean working;
private RadioGroup.OnCheckedChangeListener listener;
public AdvancedRadioGroup(Context context) {
this(context, null);
}
@hector6872
hector6872 / LockableViewPager.java
Created March 3, 2016 16:15
LockableViewPager
public class LockableViewPager extends ViewPager {
private static final boolean DEFAULT_LOCK_STATE = false;
private boolean locked;
public LockableViewPager(Context context) {
this(context, null);
}
public LockableViewPager(Context context, AttributeSet attrs) {
@hector6872
hector6872 / ManageListeners.java
Last active September 1, 2016 10:04
ManageListeners template
public void addListener(Listener listener) {
if (listeners == null) {
listeners = new ArrayList<>();
}
listeners.add(listener);
}
public void removeListener(Listener listener) {
if (listeners != null) {
int position = listeners.indexOf(listener);
@hector6872
hector6872 / UniversalFragmentStatePagerAdapter.java
Last active April 12, 2016 11:33
UniversalFragmentStatePagerAdapter
public class UniversalFragmentStatePagerAdapter extends FragmentStatePagerAdapter {
private final String[] titles;
private final Fragment[] fragments;
public UniversalFragmentStatePagerAdapter(@NonNull FragmentManager fragmentManager,
String[] titles, @NonNull Fragment[] fragments) {
super(fragmentManager);
if (titles != null && titles.length != fragments.length) {
throw new IllegalArgumentException();
}
@hector6872
hector6872 / TextViewWriter.java
Last active April 13, 2016 15:48
TextViewWriter
public class TextViewWriter extends TextView {
private static final int DEFAULT_DELAY_MS = 150;
private static final boolean DEFAULT_AUTOSTART = false;
public static final int MODE_CHARACTER = 0;
public static final int MODE_WORD = 1;
private static final int DEFAULT_MODE = MODE_CHARACTER;
@Retention(RetentionPolicy.SOURCE) @IntDef({ MODE_CHARACTER, MODE_WORD }) public @interface Mode {
}
public class FontCache {
private static final Map<String, Typeface> mapFont = new HashMap<>();
public static Typeface getFont(Context context, String fontName) {
Typeface typeface = mapFont.get(fontName);
if (typeface == null) {
try {
typeface = Typeface.createFromAsset(context.getAssets(), fontName);
} catch (Exception e) {