Skip to content

Instantly share code, notes, and snippets.

Avatar

Eugene Levenetc elevenetc

View GitHub Profile
@elevenetc
elevenetc / ReflectionUtils.kt
Created May 4, 2020
Utils to get implementation classes of an interface
View ReflectionUtils.kt
/**
* 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
Symmetric and asymmetric encryption
View SymmetricAndAsymmetricEncryption.java
//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 Feb 23, 2016
Espresso view visibility assertions
View ExtraAssertions.java
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() {
View RXUtils.java
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 {
View gist:57754c3eaaaab6319483
//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 Oct 26, 2015
Getting current activity
View getActivityInstance.java
//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();
}
}
View 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 Jul 28, 2017
TextViewWithImages.java
View 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;
View 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 Mar 24, 2020
Android SuppressWarnings list
View gist:bf795f94aaf3e92169ef
//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"})
You can’t perform that action at this time.