Skip to content

Instantly share code, notes, and snippets.

View mr5z's full-sized avatar
🎯
Focusing

mark mr5z

🎯
Focusing
View GitHub Profile
@mr5z
mr5z / user-agent-parser.regex
Last active September 6, 2021 16:23
Group User-Agent by platforms
[a-zA-Z]+\/[0-9.]+\s?([(][a-zA-Z ;0-9.,]+[)])?
AWidget.RelativeLayout InternalRelativeLayout
{
get
{
var field = typeof(RaisedTabbedPageRenderer).GetField("_relativeLayout", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
return (AWidget.RelativeLayout)field.GetValue(this);
}
set
{
var field = typeof(RaisedTabbedPageRenderer).GetField("_relativeLayout", BindingFlags.NonPublic | BindingFlags.Instance);
@mr5z
mr5z / RaisedTabbedPageRenderer.cs
Last active May 13, 2021 07:11
Raised Middle Button TabbedPage implementation for Xamarin.Android. Just replace the `Replace_With_Your_Custom_BottomNavigationView` with your own implementation of BNV!
using System;
using System.Reflection;
using Android.Content;
using Android.Support.Design.Widget;
using Android.Support.V4.View;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using AWidget = Android.Widget;
using ATabbedRenderer = Xamarin.Forms.Platform.Android.AppCompat.TabbedPageRenderer;
using System.Collections.Specialized;
@mr5z
mr5z / mapper.cs
Last active October 1, 2022 13:36
mapper
using System;
using System.Collections.Generic;
using ParameterizedFunc = System.Func<object, object>;
namespace CompanyName.Helpers
{
public class Mapper
{
private readonly IDictionary<(Type, Type), ParameterizedFunc> objectDictionary =
new Dictionary<(Type, Type), ParameterizedFunc>();
@mr5z
mr5z / DataResponse.cs
Created January 16, 2019 08:58
Internal response wrapper
public class DataResponse<T> where T : class
{
public T Data { get; set; }
public bool IsSuccess => Data != null;
System.Net.HttpStatusCode StatusCode { get; set; }
public string ErrorMessage { get; set; }
public long Count { get; set; }
public IEnumerable<TDestination> MapDataList<TSource, TDestination>()
where TSource : class
where TDestination : class
@mr5z
mr5z / CircularDependency.cs
Last active March 1, 2019 13:29
circular dependency in IoC
class AuthService : IAuthService
{
AuthService(IDataService dataService) { }
void RequestAuth()
{
var result = dataService.PostAsync(...)
}
}
async Task<DataResponse<TModel>> SendAsync<TModel>(HttpMethod method, string path, object parameters, HttpContent content, CancellationToken cancellationToken)
{
string errorMessage;
try
{
OnPreSendAsync(adapter);
var response = await adapter.SendAsync<TModel>(method, path, parameters, content, cancellationToken);
return new DataResponse<TModel>(response);
}
catch (InvalidOperationException ex) { errorMessage = ex.Message; }
class DomainProvider : IDomainProvider
{
public Uri BaseAddress { get; set; }
public DomainProvider(Uri baseAddress)
{
BaseAddress = baseAddress;
}
public Uri Resolve(string path, object parameters)
// This assumes you are using PropertyChanged.Fody
class ViewModel : INotifyPropertyChanged
{
public bool Enabled { get; set; }
// more properties
protected void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
Xamarin
- Services
- Airplanes : IAirplanes
- typeof(SharedCode.Contracts.Services.GetAirplanes) GetAirplanes() { ... }
// wait...
// OHHHH!!
- List<Airplanes> GetAirplanes() { ... }
SharedCode