Skip to content

Instantly share code, notes, and snippets.

View abhinav272's full-sized avatar

Abhinav Sharma abhinav272

View GitHub Profile
@abhinav272
abhinav272 / ICALParser.java
Created July 11, 2017 10:18
ICalParser for parsing ics files. Read ical files(.ics) and provide Content Values for adding it to Android Calendar.
import android.content.ContentValues;
import android.net.Uri;
import android.provider.CalendarContract;
import net.fortuna.ical4j.data.CalendarBuilder;
import net.fortuna.ical4j.data.ParserException;
import net.fortuna.ical4j.model.Calendar;
import net.fortuna.ical4j.model.Component;
import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.Daylight;
import net.fortuna.ical4j.model.component.Observance;
@abhinav272
abhinav272 / ICALParserTest.java
Created July 12, 2017 08:28
ICALParser unit test, using ActivityTestRule
import android.content.ContentValues;
import android.provider.CalendarContract;
import android.support.test.rule.ActivityTestRule;
import android.test.ActivityUnitTestCase;
import junit.framework.Assert;
import net.fortuna.ical4j.data.ParserException;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@abhinav272
abhinav272 / NetworkUtils.java
Created December 27, 2017 15:15
Util class for Network Operations in Android
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;
public class NetworkUtils {
public static NetworkInfo getNetworkInfo(final Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
@abhinav272
abhinav272 / ObjectUtil.java
Created December 27, 2017 15:16
Util for Objects
import java.util.List;
public class ObjectUtil {
public static boolean isEmpty(String string) {
return string == null || string.length() == 0;
}
public static boolean isNull(Object obj) {
return obj == null;
}
@abhinav272
abhinav272 / ResourcesUtil.java
Created December 27, 2017 15:17
Util for accessing Android Resources in Presenter or Model (non-Android files)
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import com.task.App;
import static android.os.Build.VERSION.SDK_INT;
import static android.os.Build.VERSION_CODES.LOLLIPOP;
public class ResourcesUtil {
@abhinav272
abhinav272 / FontCache.java
Created December 30, 2017 10:20
FontCache for getting typeface from assets. Loading typeface every time is little expensive.
import android.content.Context;
import android.graphics.Typeface;
import java.util.HashMap;
import java.util.Map;
/**
* Created by abhinav.sharma on 28/12/16.
* Creating Typeface from assets is little expensive when lot of textviews wants custom Fonts from assets
* https://nayaneshguptetechstuff.wordpress.com/2014/06/20/slow-activity-transition-using-custom-typeface-font/
@abhinav272
abhinav272 / NetworkUtil.kt
Created January 4, 2018 06:58
Network Util file for checking network availability and strength written in kotlin
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkInfo
import android.telephony.TelephonyManager
import java.io.IOException
import java.net.HttpURLConnection
import java.net.NetworkInterface
import java.net.SocketException
import java.net.URL
@abhinav272
abhinav272 / TimeAgo.java
Created March 9, 2018 06:49
Simple time ago class for chatting bubbles
public class TimeAgo {
private String prefixAgo = null;
private String prefixFromNow = null;
private String suffixAgo = "ago";
private String suffixFromNow = "from now";
public class AndroidBug5497Workaround {
// For more information, see https://issuetracker.google.com/issues/36911528
// To use this class, simply invoke assistActivity() on an Activity that already has its content view set.
public static void assistActivity (Activity activity) {
new AndroidBug5497Workaround(activity);
}
private View mChildOfContent;
@abhinav272
abhinav272 / KeyboardHeightProvider.java
Created March 20, 2018 10:05
Keyboard height provider for android
import android.app.Activity;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.graphics.Point;
import android.graphics.Rect;
import android.graphics.drawable.ColorDrawable;
import android.util.DisplayMetrics;