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 / GridOfDoom.cs
Created February 14, 2018 16:37
A grid with 4 columns of 100 images, falls over in Xamarin.Forms
var grid = new Grid();
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
for (int i = 0; i < 100; i++)
{
grid.RowDefinitions.Add(new RowDefinition());
public async Task<Bitmap> LoadImageAsync(ImageSource imagesource, Context context, CancellationToken cancelationToken = default(CancellationToken))
{
string file = ((FileImageSource)imagesource).File;
Bitmap bitmap;
if (File.Exists (file))
bitmap = !DecodeSynchronously ? (await BitmapFactory.DecodeFileAsync (file).ConfigureAwait (false)) : BitmapFactory.DecodeFile (file);
else
bitmap = !DecodeSynchronously ? (await context.Resources.GetBitmapAsync (file).ConfigureAwait (false)) : context.Resources.GetBitmap (file);
@jonathanpeppers
jonathanpeppers / ParentalLeave2018.md
Last active January 5, 2018 17:04
Everything I was working on up until my parental leave

How to reach me?

If you need something, message @peppers on Slack or @jonathanpeppers on Twitter. Just keep in mind it might take a bit for me to respond, thanks!

Feel free to reach out to me if one of my VSTS build definitions stops working (or if you find a commit of mine that broke something), I wouldn't mind to jump in for an hour or two and help.

Xamarin.Android

Need fixes for building on a system with JDK 9 installed, which is installed on VSTS Mac Build agents.

diff -rup __mcw/Android.Animation.Animator.cs obj/Debug/android-27/mcw/Android.Animation.Animator.cs
--- __mcw/Android.Animation.Animator.cs 2017-12-04 21:48:03.000000000 -0600
+++ obj/Debug/android-27/mcw/Android.Animation.Animator.cs 2017-12-04 21:51:59.000000000 -0600
@@ -869,12 +869,12 @@ namespace Android.Animation {
// Metadata.xml XPath method reference: path="/api/package[@name='android.animation']/class[@name='Animator']/method[@name='clone' and count(parameter)=0]"
[Register ("clone", "()Landroid/animation/Animator;", "GetCloneHandler")]
- public virtual unsafe Android.Animation.Animator Clone ()
+ public virtual unsafe Java.Lang.Object Clone ()
{
diff -rup __mcw/Android.AccessibilityServices.AccessibilityService.cs obj/Debug/android-27/mcw/Android.AccessibilityServices.AccessibilityService.cs
--- __mcw/Android.AccessibilityServices.AccessibilityService.cs 2017-12-01 09:12:23.000000000 -0600
+++ obj/Debug/android-27/mcw/Android.AccessibilityServices.AccessibilityService.cs 2017-12-01 12:45:20.000000000 -0600
@@ -300,7 +300,7 @@ namespace Android.AccessibilityServices
get { return _members.ManagedPeerType; }
}
- IntPtr class_ref;
+ new IntPtr class_ref;
@jonathanpeppers
jonathanpeppers / StartAndroidEmulator.buildlog
Created November 20, 2017 16:59
Log of emulator emulator-darwin-4266726.zip x86-21_r05.zip
Task StartAndroidEmulator
AndroidSdkHome: /Users/jonathanpeppers/android-toolchain/sdk
ImageName: XamarinAndroidTestRunner
Port: 5570
Tool /Users/jonathanpeppers/android-toolchain/sdk/tools/emulator execution started with arguments: -verbose -avd XamarinAndroidTestRunner -port 5570
Environment variables being passed to the tool:
ANDROID_HOME="/Users/jonathanpeppers/android-toolchain/sdk"
[emulator stdout] emulator: Android virtual device file at: /Users/jonathanpeppers/.android/avd/XamarinAndroidTestRunner.ini
[emulator stdout] emulator: virtual device content at /Users/jonathanpeppers/.android/avd/XamarinAndroidTestRunner.avd
[emulator stdout] emulator: virtual device config file: /Users/jonathanpeppers/.android/avd/XamarinAndroidTestRunner.avd/config.ini
@jonathanpeppers
jonathanpeppers / XA-Components-Linker-Update.md
Last active November 16, 2017 14:13
Update latest Forms & Support libs

NuGet:

<packages>
  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="monoandroid71" />
  <package id="Xam.Plugin.Connectivity" version="3.0.3" targetFramework="monoandroid71" />
  <package id="Xamarin.Android.Arch.Core.Common" version="1.0.0" targetFramework="monoandroid80" />
  <package id="Xamarin.Android.Arch.Lifecycle.Common" version="1.0.1" targetFramework="monoandroid80" />
  <package id="Xamarin.Android.Arch.Lifecycle.Runtime" version="1.0.0" targetFramework="monoandroid80" />
  <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="26.1.0.1" targetFramework="monoandroid80" />
  <package id="Xamarin.Android.Support.Annotations" version="26.1.0.1" targetFramework="monoandroid80" />
@jonathanpeppers
jonathanpeppers / XA-Components-Linker.md
Last active November 15, 2017 04:43
Document showing difference between Link SDK only and Link All w/ default Xamarin.Forms project

File | New Xamarin.Forms project and APK Size

I did this test with the latest Visual Studio for Mac on the beta channel 7.3 build 764 Xamarin.Android 8.1.0.23.

Steps:

  1. File | New Xamarin.Forms project
  2. msbuild HelloForms.csproj /t:SignAndroidPackage /p:Configuration=Release

Results in apk from zipinfo:

@jonathanpeppers
jonathanpeppers / XA-TestCloud.md
Last active October 11, 2017 16:33
Document with requirements for Xamarin.Android's APK tests to run on Test Cloud

Xamarin.Android on Test Cloud

Leveraging Test Cloud seems like a good idea, this document aims at figuring out the requirements for our team.

Current APK Tests

Xamarin.Android has various APK-based tests that currently run on emulators/devices.

In general, they operate by running adb commands:

@jonathanpeppers
jonathanpeppers / run.sh
Created July 25, 2017 20:26
Full script to SSH tunnel and run a docker iamge
#!/bin/bash
# Connect to remote Docker VM
ssh -fNL 2375:localhost:2375 [email protected] -i keys/nukkit
export DOCKER_HOST=:2375
# Just to verify we connected (and to the right machine)
docker info
# Run docker image