tbaggett / xfgloss

New styling properties for standard Xamarin.Forms controls
Other
160 stars 25 forks source link

Updated Xamarin.Forms package to avoid Warnings in Android Project #18

Closed vijayvepa closed 6 years ago

vijayvepa commented 7 years ago

First off, I would like to show my appreciation of your awesome work! Thank you for making this package!!

Reasons for Forking

I was getting a lot of warnings because Android module was built against an older version of Xamarin.Forms package.

Changes

Examples:

-           if (Device.OS == TargetPlatform.iOS)
+           if (Device.RuntimePlatform == Device.iOS)
-               HeightRequest = Device.OnPlatform<double>(132, 190, 0),
+               HeightRequest = DeviceExtensions.OnPlatform<double>(132, 190, 0),

Current Issues

AppVeyor is unable to build it. Based on stack overflow, it looks like AppVeyor may not have API 23 of Android.

tbaggett commented 7 years ago

Hi Vijay,

Thank you for the kind words and very nice work on your changes! I will be happy to merge your changes once the AppVeyor build issue is resolved.

I can't test this at the moment, but think the AppVeyor issue can be resolved by changing the appveyor.yml as shown below.

Change this:

install:
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/install-android-sdk.ps1'))
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/fix-xamarin-4-2-2-11.ps1'))

To this (note the "?v=2" addition to loading the install-android-sdk powershell script):

install:
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/install-android-sdk.ps1?v=2'))
- ps: $sdks = Get-AndroidSDKs |? { $_.name -like 'sdk platform*API 25*' -or $_.name -like 'Google APIs, Android API 25' } 
- ps: Install-AndroidSDK -sdks $sdks
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/fix-xamarin-4-2-2-11.ps1'))

Can you give that a try and see if it fixes the AppVeyor build?

Thanks for contributing!

Tommy

vijayvepa commented 7 years ago

Hi Tommy,

It is unable to find API 25 on AppVeyor. On my local machine, it is listing APIs from the following repositories

> android list sdk -- all

Fetching URL: https://dl.google.com/android/repository/repository-11.xml
Validate XML: https://dl.google.com/android/repository/repository-11.xml
Parse XML:    https://dl.google.com/android/repository/repository-11.xml

On Appveyor, it is listing the APIs from the following repositories:

Fetching URL: https://dl-ssl.google.com/android/repository/repository-10.xml
Validate XML: https://dl-ssl.google.com/android/repository/repository-10.xml
Parse XML:    https://dl-ssl.google.com/android/repository/repository-10.xml
tbaggett commented 7 years ago

Hi Vijay,

Sorry I was unable to look at your PR in detail yesterday. I was in the middle of upgrading/replacement my development system. Looking at it further now, I think the issue may be caused by trying to update to the latest Android libraries. Xamarin.Forms doesn't use the latest Android libraries, and updating them usually breaks projects.

I'm trying to apply your changes in small batches to see how that works out. I will get back to you as soon as I've finished evaluating the issues.

Thanks again for your contribution! I'm sorry you ran into these issues.

Tommy

tbaggett commented 6 years ago

Hi @vijayvepa, can you try the new 1.1.0 release? It supports Netstandard 2.0 and Xamarin.Forms 2.5. You shouldn't see warnings any more. Thanks!