Skip to content

Instantly share code, notes, and snippets.

View benoitjadinon's full-sized avatar

Benoit Jadinon benoitjadinon

View GitHub Profile
@mgroves
mgroves / gist:857356
Created March 6, 2011 15:28
MVP pattern in MonoDroid
public interface IMainView
{
void RefreshList(IList<string> portfolioNames);
void StartAddPortfolioActivity();
void StartViewPortfolioActivity(long portfolioId);
void StartEditPortfolioActivity(int itemId);
void StartConfigActivity();
void ExitApplication();
}
@nicwise
nicwise / scale.cs
Last active November 13, 2018 08:17
Scale and Rotate an image in iOS / MonoTouch, using the EXIF data
//MIT license
public static UIImage ScaleImage(UIImage image, int maxSize)
{
UIImage res;
using (CGImage imageRef = image.CGImage)
{
CGImageAlphaInfo alphaInfo = imageRef.AlphaInfo;
@mminer
mminer / Console.cs
Last active March 28, 2024 22:23
Unity script to display in-game debug console. Actively maintained version: https://github.com/mminer/consolation
// NOTE: For an actively-maintained version of this script, see https://github.com/mminer/consolation.
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// A console to display Unity's debug logs in-game.
/// </summary>
public class Console : MonoBehaviour
{
@JakeWharton
JakeWharton / ContractFragment.java
Created May 6, 2012 09:12
Base fragment to ensure the parent activity implements a contract interface.
/* Base fragment to ensure the parent activity implements a contract interface. */
public abstract class ContractFragment<T> extends Fragment {
private T mContract;
@Override
public void onAttach(Activity activity) {
try {
mContract = (T)activity;
} catch (ClassCastException e) {
throw new IllegalStateException(activity.getClass().getSimpleName()
declare interface AngularVersion {
full: string;
major: number;
minor: number;
dot: number;
codeName: string;
}
declare interface AngularModule {
requires: string[];
@briangriffey
briangriffey / NinePatchBitmapFactory.java
Last active December 3, 2024 01:35
Create 9-patches simlar to - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.NinePatch;
import android.graphics.Rect;
import android.graphics.drawable.NinePatchDrawable;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
/**
@nicwise
nicwise / gist:7026601
Created October 17, 2013 15:07
using async/await and a task completion source to work with NavigationController etc.
//start with DoAdd, which comes off a button push.
// it does pop up one screen, then another one, which is not ideal,
// but it wouldn't be hard to adapt.
async void DoAdd ()
{
var camera = await PickCameraForLoad ();
if (camera != null)
{
@Clancey
Clancey / gist:7610128
Last active December 29, 2015 03:49
Background Downloader. Has the same API as WebClient but uses the underlying NSUrlRequest to download in the background.
public class BackgroundDownload
{
public BackgroundDownload ()
{
}
NSUrlSessionDownloadTask downloadTask;
static NSUrlSession session;
public async Task DownloadFileAsync(Uri url, string destination)
{
if (downloadTask != null)
@AArnott
AArnott / ActivityBase.cs
Created February 11, 2014 15:53
A C# Xamarin.Android activity base class that offers StartActivityForResultAsync as a much simpler means to kick off activities and resume execution when they are done.
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Android.App;
using Android.Content;
using Android.OS;
public abstract class ActivityBase : Activity {
private int activityResultRegistrationCounter = 10000;
@AArnott
AArnott / ObservableCollectionAdapter.cs
Created March 12, 2014 19:19
A Xamarin.Android class that provides data binding from an ObservableCollection<T> to a ListView in the form of a BaseAdapter<T>.
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;