Skip to content

Instantly share code, notes, and snippets.

View BrunoVT1992's full-sized avatar

Bruno Van Thournout BrunoVT1992

View GitHub Profile
@BrunoVT1992
BrunoVT1992 / ThreadUtil.cs
Created June 23, 2016 10:56
Extension to see if a thread is the main(UI) thread for Xamarin Android.
using Android.OS;
using Java.Lang;
namespace Droid
{
public static class ThreadUtil
{
public static bool IsMainThread(this Thread currentThread)
{
return currentThread == Looper.MainLooper.Thread;
@BrunoVT1992
BrunoVT1992 / AsyncLock.cs
Last active May 13, 2016 13:28
This class makes a lock statement async so you can use await operators inside the lock statement
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace CSharp
{
// http://blogs.msdn.com/b/pfxteam/archive/2012/02/12/10266988.aspx
public class AsyncLock
{
@BrunoVT1992
BrunoVT1992 / DpiToPixelConverter.cs
Last active May 13, 2016 13:26
Converter to convert dpi sizes to pixel sizes in Xamarin Android
using Android.App;
using Android.Content;
namespace Droid
{
public static class DpiToPixelConverter
{
public static int Convert(int dpi)
{
float scale = Application.Context.Resources.DisplayMetrics.Density;
@BrunoVT1992
BrunoVT1992 / UIImageConverter.cs
Last active May 13, 2016 13:25
Converter to blur an UIImage in Xamarin iOS
using UIKit;
using CoreImage;
namespace iOS
{
public static class UIImageConverter
{
public static UIImage Blur(UIImage image)
{
var ciImage = new CIImage(image);
@BrunoVT1992
BrunoVT1992 / StringConverter.cs
Created May 13, 2016 13:20
Converter to capitalize the first character of a string in C#
namespace CSharp
{
public static class StringConverter
{
public static string Capitalized(string text)
{
if (string.IsNullOrEmpty(text))
{
return text;
}
@BrunoVT1992
BrunoVT1992 / BytesConverter.cs
Last active May 13, 2016 13:15
Converter to convert number of bytes to kB, MB, GB, TB or PB in C#
using System;
namespace CSharp
{
public static class BytesConverter
{
public static double ConvertBytesToKB(long bytes)
{
return bytes / 1024f;
}
@BrunoVT1992
BrunoVT1992 / RoundedCornersFrameLayout.cs
Created May 13, 2016 13:03
Rounded corners for a framelayout in Xamarin Android
using Android.Content;
using Android.Graphics;
using Android.Util;
using Android.Widget;
namespace Droid
{
public class RoundedCornersFrameLayout : FrameLayout
{
private const float CornerRadius = 5.0f;
@BrunoVT1992
BrunoVT1992 / Distance.cs
Last active April 26, 2016 07:40
Calculate the spline fling distance for Xamarin Android
using System;
using Android.App;
using Android.Hardware;
using Android.Views;
namespace Droid
{
public static class Distance
{
public static double CalculateSplineFlingDistance(float velocity)
@BrunoVT1992
BrunoVT1992 / Command.cs
Last active April 26, 2016 07:40
Mvvm ICommand implementation
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace Mvvm
{
public class Command : ICommand
@BrunoVT1992
BrunoVT1992 / NotifyPropertyChanged.cs
Last active April 26, 2016 07:40
Mvvm INotifyPropertyChanged implementation
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace Mvvm
{