Skip to content

Commit ea36d6e

Browse files
committed
Add API Level 27.
1 parent 5c75043 commit ea36d6e

File tree

7 files changed

+232321
-6
lines changed

7 files changed

+232321
-6
lines changed

Configuration.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<PropertyGroup>
1515
<ProductVersion>8.1.99</ProductVersion>
1616
<!-- *Latest* API level binding that we support; used when building src/Xamarin.Android.Build.Tasks -->
17-
<AndroidLatestApiLevel Condition="'$(AndroidLatestApiLevel)' == ''">26</AndroidLatestApiLevel>
17+
<AndroidLatestApiLevel Condition="'$(AndroidLatestApiLevel)' == ''">27</AndroidLatestApiLevel>
1818
<AndroidLatestFrameworkVersion Condition="'$(AndroidLatestFrameworkVersion)' == ''">v8.0</AndroidLatestFrameworkVersion>
1919
<!-- The API level and TargetFrameworkVersion for the default Mono.Android.dll build -->
2020
<AndroidApiLevel Condition=" '$(AndroidApiLevel)' == '' ">$(AndroidLatestApiLevel)</AndroidApiLevel>

build-tools/android-toolchain/android-toolchain.projitems

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@
117117
<HostOS></HostOS>
118118
<DestDir>platforms\android-26</DestDir>
119119
</AndroidSdkItem>
120+
<AndroidSdkItem Include="platform-27_r01.zip">
121+
<HostOS></HostOS>
122+
<DestDir>platforms\android-27</DestDir>
123+
</AndroidSdkItem>
120124
<AndroidSdkItem Include="docs-24_r01.zip">
121125
<HostOS></HostOS>
122126
<DestDir>docs</DestDir>

build-tools/scripts/BuildEverything.mk

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ ZIP_OUTPUT = $(ZIP_OUTPUT_BASENAME).$(ZIP_EXTENSION)
2323
## The following values *must* use SPACE, **not** TAB, to separate values.
2424

2525
# $(ALL_API_LEVELS) and $(ALL_FRAMEWORKS) must be kept in sync w/ each other
26-
ALL_API_LEVELS = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
26+
ALL_API_LEVELS = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
2727
# this was different from ALL_API_LEVELS when API Level 26 was "O". Same could happen in the future.
28-
ALL_PLATFORM_IDS = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
28+
ALL_PLATFORM_IDS = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
2929
# supported api levels
30-
ALL_FRAMEWORKS = _ _ _ _ _ _ _ _ _ v2.3 _ _ _ _ v4.0.3 v4.1 v4.2 v4.3 v4.4 v4.4.87 v5.0 v5.1 v6.0 v7.0 v7.1 v8.0
31-
API_LEVELS = 10 15 16 17 18 19 20 21 22 23 24 25 26
30+
ALL_FRAMEWORKS = _ _ _ _ _ _ _ _ _ v2.3 _ _ _ _ v4.0.3 v4.1 v4.2 v4.3 v4.4 v4.4.87 v5.0 v5.1 v6.0 v7.0 v7.1 v8.0 v8.1
31+
API_LEVELS = 10 15 16 17 18 19 20 21 22 23 24 25 26 27
3232
STABLE_API_LEVELS = 10 15 16 17 18 19 20 21 22 23 24 25 26
3333

3434
## The preceding values *must* use SPACE, **not** TAB, to separate values.

external/xamarin-android-tools

src/Mono.Android/Mono.Android.projitems

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,5 +133,11 @@
133133
<Id>26</Id>
134134
<Stable>True</Stable>
135135
</AndroidApiInfo>
136+
<AndroidApiInfo Include="v8.1">
137+
<Name>Oreo</Name>
138+
<Level>27</Level>
139+
<Id>27</Id>
140+
<Stable>True</Stable>
141+
</AndroidApiInfo>
136142
</ItemGroup>
137143
</Project>

src/Mono.Android/Profiles/api-27.xml.in

Lines changed: 232285 additions & 0 deletions
Large diffs are not rendered by default.

src/Mono.Android/metadata

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,6 +1381,25 @@
13811381
<attr path="/api/package[@name='android.media']/interface[@name='MediaCas.EventListener']" name="argsType">MediaCasEventArgs</attr>
13821382
<attr path="/api/package[@name='android.media']/interface[@name='MediaCas.EventListener']/method[@name='onEvent']/parameter[@name='MediaCas']" name="managedName">mediaCas</attr>
13831383

1384+
<!-- Until API Level 26, android.graphics.Color was static. In API Level 26,
1385+
it became instantiable and got instance members.
1386+
1387+
Xamarin.Android had wrong premise that android.graphics.Color can be totally
1388+
different thing and thus introduced completely different API with the same
1389+
type name. Wrong wrong wrong. It was wrong decision made back in 2010.
1390+
1391+
We will have to enable this line and bring back some sanity.
1392+
-->
1393+
<!-- attr path="/api/package[@name='android.graphics']/class[@name='Color']" name="managedName">AndroidColor</attr -->
1394+
1395+
<!-- API Level 27 -->
1396+
1397+
<!-- android.graphics.Color started to be in actual use and that uncovered
1398+
Xamarin.Android design mistake above! We have to remove WallpaperColors API
1399+
until Xamarin.Android fixes their bogus API design. -->
1400+
<remove-node path="/api/package[@name='android.app']/class[@name='WallpaperColors']" />
1401+
1402+
13841403
<!-- detected field-property conflicts (e.g. see bug #60069)
13851404

13861405
Some people think it's easy to implement "check and skip property generation" without trying to do,
@@ -1391,4 +1410,5 @@
13911410
is the only way to go. For further changes we should completely rewrite everything.
13921411
-->
13931412
<attr path="/api/package[@name='android.os']/class[@name='Build']/method[@name='getSerial']" name="propertyName"></attr>
1413+
13941414
</metadata>

0 commit comments

Comments
 (0)