Skip to content

Instantly share code, notes, and snippets.

View jonathanpeppers's full-sized avatar
🌶️
spicy!

Jonathan Peppers jonathanpeppers

🌶️
spicy!
View GitHub Profile
@jonathanpeppers
jonathanpeppers / MainActivity.cs
Last active December 14, 2016 19:16
Packt Formatting
[Activity(Label = "Calculator", MainLauncher = true, Icon = "@mipmap/icon")]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
}
}
@jonathanpeppers
jonathanpeppers / FakeWebService.cs
Created December 15, 2016 02:31
FakeWebService for Packt
public class FakeWebService : IWebService
{
public int SleepDuration { get; set; }
public FakeWebService()
{
SleepDuration = 1000;
}
private Task Sleep()
@jonathanpeppers
jonathanpeppers / FakeWebService.cs
Created December 15, 2016 02:35
For Packt, a piece of FakeWebService
public async Task<User> Register(User user)
{
await Sleep();
return user;
}
public async Task<User[]> GetFriends(string userId)
{
await Sleep();
return new[]
@jonathanpeppers
jonathanpeppers / FakeWebService.cs
Created December 15, 2016 02:37
For Packt, GetConversations()
public async Task<Conversation[]> GetConversations(
string userName)
{
await Sleep();
return new[]
{
new Conversation { Id = "1", UserName = "bobama" },
new Conversation { Id = "2", UserName = "bobloblaw" },
new Conversation { Id = "3", UserName = "georgemichael" },
};
@jonathanpeppers
jonathanpeppers / FriendViewModel.cs
Created December 15, 2016 02:48
For Packt, AddFriend() in FriendViewModel
public async Task AddFriend()
{
if (settings.User == null)
throw new Exception("Not logged in.");
if (string.IsNullOrEmpty(UserName))
throw new Exception("Username is blank.");
IsBusy = true;
try
{
var friend = await service
@jonathanpeppers
jonathanpeppers / TableSource.cs
Created December 18, 2016 20:03
TableSource for Packt
class TableSource : UITableViewSource
{
const string MyCellName = "MyCell";
const string TheirCellName = "TheirCell";
readonly MessageViewModel messageViewModel =
ServiceContainer.Resolve<MessageViewModel>();
readonly ISettings settings = ServiceContainer.Resolve<ISettings>();
public override nint RowsInSection(
UITableView tableview, nint section)
@jonathanpeppers
jonathanpeppers / ConversationsController.cs
Created December 18, 2016 20:06
ConversationsController for Packt
readonly ConversationsController controller;
public TableSource(ConversationsController controller)
{
this.controller = controller;
}
public override void RowSelected(
UITableView tableView, NSIndexPath indexPath)
{
@jonathanpeppers
jonathanpeppers / Application.cs
Created January 10, 2017 14:38
Xamarin.Forms Init
//On Android in MainActivity.cs
Xamarin.Forms.Forms.Init(this, bundle);
//On iOS in AppDelegate.cs
Xamarin.Forms.Forms.Init();
@jonathanpeppers
jonathanpeppers / Test.cs
Created January 10, 2017 14:55
MockForms.Init() example for NUnit
[SetUp]
public void SetUp()
{
Xamarin.Forms.Mocks.MockForms.Init();
}
@jonathanpeppers
jonathanpeppers / Test.cs
Last active January 10, 2017 14:58
Xamarin.Forms.Mocks examples
//Dynamically load XAML
// NOTE: At the top, include using Xamarin.Forms.Xaml;
[Test]
public void LoadFromXaml()
{
var label = new Label();
label.LoadFromXaml("<Label Text=\"Woot\" />");
Assert.AreEqual("Woot", label.Text);
}