Skip to content

Instantly share code, notes, and snippets.

# ~/.osx — http://mths.be/osx
# root check
if [[ $EUID -ne 0 ]]; then
echo "################################";
echo "## YOU ARE NOT RUNNING AS ROOT #";
echo "################################";
echo "#";
echo "# USAGE: sudo $0";
exit;
@geirsagberg
geirsagberg / PropertyUtil.cs
Created July 16, 2013 10:39
Handy methods for property reflection, and subscription to properties in MVVM
/// <summary>
/// Methods for handling property names and values, using reflection.
/// </summary>
public static class PropertyUtil
{
public static string GetPropertyName<TObject, TValue>(this TObject type,
Expression<Func<TObject, TValue>> propertySelector)
{
return GetPropertyNameCore(propertySelector.Body);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
@geirsagberg
geirsagberg / BarCodeView.cs
Created October 29, 2014 16:15
MvvmCross bindable BarCodeView for Android with ZXing
public class BarCodeView : ImageView
{
private string _code;
public string Code
{
get { return _code; }
set
{
if (_code != value)
@geirsagberg
geirsagberg / PolymorphicListAdapter.cs
Created January 21, 2015 13:28
Polymorphic list adapter for MvvmCross Android
public class PolymorphicListAdapter : MvxAdapter
{
private IDictionary<Type, int> TemplateIdByType { get; set; }
public override int ViewTypeCount
{
get { return TemplateIdByType.Count; }
}
private PolymorphicListAdapter(Context context, IMvxAndroidBindingContext bindingContext) : base(context, bindingContext)
@geirsagberg
geirsagberg / gist:7c65ab9cdd03ddec1fba
Created January 22, 2015 11:09
MvxViewPagerFragmentAdapter
using System;
using System.Collections.Generic;
using System.Linq;
using Android.App;
using Android.Content;
using Android.Support.V13.App;
using Cirrious.MvvmCross.Droid.FullFragging.Fragments;
using Cirrious.MvvmCross.ViewModels;
using Java.Lang;
using String = Java.Lang.String;
@geirsagberg
geirsagberg / MvxActionBarActivity.cs
Created January 23, 2015 13:01
MvxActionBarEventSource
using System;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Support.V7.App;
using Cirrious.CrossCore.Core;
using Cirrious.CrossCore.Droid.Views;
namespace ECC.Mobile.Droid.Views
{
@geirsagberg
geirsagberg / MvxActionBarActivity.cs
Created January 23, 2015 13:03
MvxActionBarActivity
using Android.Content;
using Cirrious.MvvmCross.Binding.BindingContext;
using Cirrious.MvvmCross.Binding.Droid.BindingContext;
using Cirrious.MvvmCross.Droid.Views;
using Cirrious.MvvmCross.ViewModels;
namespace ECC.Mobile.Droid.Views
{
public class MvxActionBarActivity : MvxActionBarEventSource, IMvxAndroidView
{
@geirsagberg
geirsagberg / MethodBindingExtensions.cs
Created January 27, 2015 11:07
MvvmCross MethodBinding extensions for fluent syntax
public static class MethodBindingExtensions
{
public static MvxFluentBindingDescription<TTarget, TSource> ToMethod<TTarget, TSource>(this MvxFluentBindingDescription<TTarget, TSource> description, Expression<Func<TSource, Action>> method) where TTarget : class
{
var name = FindMethodName(method);
return description.To(name);
}
public static MvxFluentBindingDescription<TTarget, TSource> ToMethod<TTarget, TSource>(this MvxFluentBindingDescription<TTarget, TSource> description, Expression<Func<TSource, Func<Task>>> method) where TTarget : class
{
var name = FindMethodName(method);
@geirsagberg
geirsagberg / FocusTextBinding.cs
Last active August 29, 2015 14:14
FocusTextBinding for Android
// From http://stackoverflow.com/a/19221385/500976
// In Setup.cs:
// protected override void FillTargetFactories(IMvxTargetBindingFactoryRegistry registry)
// {
// base.FillTargetFactories(registry);
// registry.RegisterCustomBindingFactory("FocusText", (EditText view) => new FocusTextBinding(view));
// }
using System;
using Android.Views;