Skip to content

Instantly share code, notes, and snippets.

@elevenetc
elevenetc / ReflectionUtils.kt
Created May 4, 2020 17:42
Utils to get implementation classes of an interface
/**
* Kotlin version of https://dzone.com/articles/get-all-classes-within-package
* Mentioned here as well: https://stackoverflow.com/a/520344/798165
*/
object ReflectionUtils {
/**
* Returns list of classes if interface is located in the same package with implementations
*/
@Suppress("UNCHECKED_CAST")
@elevenetc
elevenetc / SymmetricAndAsymmetricEncryption.java
Created May 5, 2016 21:01
Symmetric and asymmetric encryption
//Symmetric and asymmetric encription
//http://www.developer.com/ws/android/encrypting-with-android-cryptography-api.html
public class SymmetricAlgorithmAES extends Activity {
static final String TAG = "SymmetricAlgorithmAES";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@elevenetc
elevenetc / ExtraAssertions.java
Created February 23, 2016 15:32
Espresso view visibility assertions
public class ExtraAssertions {
public static ViewAssertion isVisible() {
return (view, noView) -> assertThat(view, new VisibilityMatcher(View.VISIBLE));
}
public static ViewAssertion isGone() {
return (view, noView) -> assertThat(view, new VisibilityMatcher(View.GONE));
}
public static ViewAssertion isInvisible() {
import rx.Observable;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
import rx.schedulers.Schedulers;
/**
* Created by levenetc on 23/06/15.
*/
public class RXUtils {
@elevenetc
elevenetc / gist:57754c3eaaaab6319483
Created December 1, 2015 16:01
SmoothScroller.java
//https://mcochin.wordpress.com/2015/05/13/android-customizing-smoothscroller-for-the-recyclerview/
//smoothScrollToPosition(0);
private class SmoothScroller extends LinearSmoothScroller {
private static final float MILLISECONDS_PER_INCH = 400f;
public SmoothScroller(Context context) {
super(context);
}
@elevenetc
elevenetc / getActivityInstance.java
Last active October 26, 2015 15:09
Getting current activity
//http://qathread.blogspot.de/2014/09/discovering-espresso-for-android-how-to.html
//http://stackoverflow.com/questions/25998659/espresso-how-can-i-check-if-an-activity-is-launched-after-performing-a-certain
public Activity getActivityInstance(){
getInstrumentation().runOnMainSync(new Runnable() {
public void run() {
Collection resumedActivities = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(RESUMED);
if (resumedActivities.iterator().hasNext()){
currentActivity = resumedActivities.iterator().next();
}
}
@elevenetc
elevenetc / Compress.java
Created October 18, 2015 12:50
Compress.java
private void compress(byte[] input) {
ByteArrayOutputStream bos = new ByteArrayOutputStream(input.length);
Deflater compressor = new Deflater();
compressor.setLevel(Deflater.BEST_COMPRESSION);
compressor.setInput(input);
compressor.finish();
byte[] buf = new byte[1024];
while (!compressor.finished()) {
@elevenetc
elevenetc / TextViewWithImages.java
Last active July 28, 2017 01:00
TextViewWithImages.java
//<string name="can_try_again">Press [img src=ok16/] to accept or [img src=retry16/] to retry</string>
//http://stackoverflow.com/questions/15352496/how-to-add-image-in-a-textview-text
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.content.Context;
import android.text.Spannable;
import android.text.style.ImageSpan;
import android.util.AttributeSet;
import android.util.Log;
@elevenetc
elevenetc / Brush.java
Created October 11, 2015 17:42
Brush.java
private static class Brush implements ValueAnimator.AnimatorUpdateListener {
private Bitmap brush;
private Bitmap buffer;
private int duration;
private TextSurface textSurface;
private Bitmap brushSample;
private Canvas canvasBuffer;
private Text text;
private final float x;
@elevenetc
elevenetc / gist:bf795f94aaf3e92169ef
Last active March 23, 2024 17:00
Android SuppressWarnings list
//src: http://kurrytran.blogspot.ru/2014/05/android-studio-list-of-suppress-warning.html
//https://android.googlesource.com/platform/tools/adt/idea/+/jb-mr2-dev/adt-branding/src/META-INF/AndroidIdePlugin.xml
//https://android.googlesource.com/platform/tools/adt/idea/+/jb-mr2-dev/android/src/META-INF/plugin.xml
//Most Common Annotations
@SuppressWarnings("all")
@SuppressWarnings("unchecked")
@SuppressWarnings({"JavaDoc"})
@SuppressWarnings({"UnusedDeclaration"})