Skip to content

Instantly share code, notes, and snippets.

View rafayali's full-sized avatar
🚀

Rafay Ali rafayali

🚀
View GitHub Profile
@rafayali
rafayali / NetworkUtilities.kt
Created April 12, 2021 16:56
Checks for internet connectivity from API 21 and above
object NetworkUtilities {
fun isInternetConnected(context: Context): Boolean {
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val networkCapabilities =
connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
if (networkCapabilities != null &&
networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) &&
networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
) {
@rafayali
rafayali / read_properties.gradle
Last active February 6, 2021 19:06
A gradle function to read properties from a file
def getProperty(String filename, String propName) {
def propsFile = rootProject.file(filename)
if (propsFile.exists()) {
def props = new Properties()
props.load(new FileInputStream(propsFile))
if (props[propName] != null) {
return props[propName]
} else {
print("No such property " + propName + " in file " + filename)
}
@rafayali
rafayali / challenge.dart
Created March 16, 2019 10:39
Flutter UI Challenge - WhatsApp - March 2019
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
@rafayali
rafayali / operator-mono-style-vscode
Last active October 21, 2018 06:44
Custom font stlying for Operator Mono
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": [
//following will be in italics (=Pacifico)
"comment",
"entity.name.type.class", //class names
"keyword", //import, export, return…
//"support.class.builtin.js", //String, Number, Boolean…, this, super
"storage.modifier", //static keyword
@rafayali
rafayali / EndlessRecyclerViewScrollListener.java
Created October 18, 2017 10:51
Abstract class for pagination in recycler view
package com.momentpin.ui.listeners;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
/**
* Custom implementation for OnScrollListener to know more items are needed to load when the list reaches at its end.
* <p>
@rafayali
rafayali / unity.gitignore
Created August 9, 2017 07:54
.gitignore for Unity 2017 projects using VS 2017
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/Assets/AssetStoreTools*
# Visual Studio 2015 cache directory
/.vs/
@rafayali
rafayali / xamarin.gitignore
Created August 9, 2017 07:53
.gitignore file for Xamarin Forms project
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
*.userprefs
# ignore Xamarin.Android Resource.Designer.cs files
@rafayali
rafayali / SSLTrustManagerForOkHttp.java
Created August 16, 2016 07:05
Code for accepting all SSL certificates for OkHttp.
HostnameVerifier hostnameVerifier = new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
X509TrustManager trustManager = new X509TrustManager() {
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
@rafayali
rafayali / HttpManager.java
Last active September 17, 2016 05:54
HttpManager boilerplace class for managing http calls. This call is dependent on following libararies: apt 'com.bluelinelabs:logansquare-compiler:1.3.6' compile 'com.bluelinelabs:logansquare:1.3.6' compile "com.github.aurae.retrofit2:converter-logansquare:1.4.1" compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.squareup.okhttp3:logging-in…
package com.android.popularmovies.http;
import android.util.Log;
import com.franmontiel.persistentcookiejar.ClearableCookieJar;
import com.franmontiel.persistentcookiejar.PersistentCookieJar;
import com.franmontiel.persistentcookiejar.cache.SetCookieCache;
import com.franmontiel.persistentcookiejar.persistence.SharedPrefsCookiePersistor;
import com.github.aurae.retrofit2.LoganSquareConverterFactory;
@rafayali
rafayali / AbstractRecyclerViewAdapter.java
Created July 26, 2016 12:52
Base recyclerview adapter class containing a progressbar item by default.
package com.got2goto.android.components;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
import com.got2goto.android.BaseApplication;