Skip to content

Instantly share code, notes, and snippets.

View vinaysshenoy's full-sized avatar

Vinay Shenoy vinaysshenoy

  • https://www.qweebi.com
  • Bangalore, India
View GitHub Profile
@vinaysshenoy
vinaysshenoy / DividerView.java
Created November 9, 2015 10:53
Android DividerView
package com.vinaysshenoy.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
@vinaysshenoy
vinaysshenoy / BitmapProgressView.java
Created November 23, 2015 17:19
Image Progress Bar
package com.vinaysshenoy.imageprogressbar.widgets;
import android.animation.ValueAnimator;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuff;
@SuppressWarnings("unchecked")
protected <T extends View> T findViewById(@IdRes int viewResourceId){
return (T) mRootView.findViewById(viewResourceId);
}
@vinaysshenoy
vinaysshenoy / WifiAddress.java
Last active March 11, 2016 03:12
Get external IP address
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int ipAddress = wifiManager.getConnectionInfo().getIpAddress();
final String formatedIpAddress = String.format(Locale.US, "%d.%d.%d.%d", (ipAddress & 0xff), (ipAddress >> 8 & 0xff), (ipAddress >> 16 & 0xff), (ipAddress >> 24 & 0xff));
@vinaysshenoy
vinaysshenoy / NestedLoopBreak.java
Created March 18, 2016 10:54
Break nested loops
mainLoop:
while (goal <= 100) {
for (int i = 0; i < goal; i++) {
if (points > 50) {
break mainLoop;
}
points += i;
}
}
@vinaysshenoy
vinaysshenoy / EventBus.java
Created May 11, 2016 18:12
EventBus using RxJava that allows delivering events to the right subscribers
package com.vinaysshenoy.utils;
import android.support.annotation.NonNull;
import android.support.v4.util.Pair;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@vinaysshenoy
vinaysshenoy / StateListDrawableCompat.java
Created May 15, 2016 16:00
Class that allows backward compatible creation of StateListDrawables containing vector assets
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.DrawableContainer;
import android.graphics.drawable.StateListDrawable;
import android.os.Build;
import android.os.Looper;
import android.support.annotation.DrawableRes;
import android.support.annotation.MainThread;
@vinaysshenoy
vinaysshenoy / MainActivity.java
Last active August 16, 2016 15:02
Transform Subject for RxJava that allows creating a Subject that can transform events
package com.vinaysshenoy.rxtest;
import android.os.Bundle;
import android.support.v4.util.Pair;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
@vinaysshenoy
vinaysshenoy / EventBus.java
Created September 8, 2016 05:27 — forked from imran0101/EventBus.java
EventBus using RxJava. Bunch of subjects and observers.
import rx.Observable;
import rx.Subscriber;
import rx.Subscription;
import rx.functions.Action0;
import rx.subjects.PublishSubject;
import rx.subjects.SerializedSubject;
/**
* An object reference of EventBus
git reflog expire --all --expire=now
git gc --prune=now --aggressive