Skip to content

Commit 256b47c

Browse files
committed
[Mono.Android] abstract-ify inconsistent android.webkit API.
As part of discussion at #1078 (comment) , we decided to make changes to those inconsistent methods that used to be virtual and then became abstract, to become abstract even in old API level. It is done at metadata fixup level.
1 parent cb68bc3 commit 256b47c

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/Mono.Android/metadata

+12
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
<metadata>
2+
3+
<!-- FIXME: these members used to be `virtual` and then became `abstract`.
4+
They result in API breakage (reported as inter-api-level mismatch).
5+
This is ancient Google's fault. To deal with the situation nicely,
6+
we are marking them just as `abstract` even at the old API Level, so
7+
that app developers don't get trapped due to missing members at run time.
8+
-->
9+
<attr path="/api/package[@name='android.webkit']/class[@name='CookieManager' or @name='WebBackForwardList' or @name='WebHistoryItem' or @name='WebIconDatabase' or @name='WebViewDatabase']/method[@static='false']" name="abstract">true</attr>
10+
<attr path="/api/package[@name='android.webkit']/class[@name='WebSettings']/method[@static='false' and @name!='setTextSize']" name="abstract">true</attr>
11+
<attr path="/api/package[@name='android.webkit']/class[@name='CookieManager' or @name='WebBackForwardList' or @name='WebHistoryItem' or @name='WebIconDatabase' or @name='WebViewDatabase']" name="abstract">true</attr>
12+
<attr path="/api/package[@name='android.webkit']/class[@name='WebSettings']" name="abstract">true</attr>
13+
214
<!-- Manifest.permission has its last name part all in lowercase and
315
regarded as obfuscated, so avoid that by explicitly marking not. -->
416
<attr path="/api/package[@name='android']/class[@name='Manifest.permission']" name="obfuscated">false</attr>

0 commit comments

Comments
 (0)