Skip to content

Commit c20d51f

Browse files
authored
[Mono.Android] Fix missing enum issues that cause BG8800 warnings. (#8707)
Fixes: #8703 #8730 reported that we did not bind [`HardwareBuffer.create(int width, int height, int format, int layers, long usage)`][0]. Indeed, in the build logs for `src/Mono.Android`, there is a BG8800 warning about it! obj/Debug/net9.0/android-34/mcw/api-34.xml(32327,10): warning BG8800: Unknown parameter type 'Android.Hardware.HardwareBufferUsage' for member 'Android.Hardware.HardwareBuffer.Create (int, int, Android.Hardware.HardwareBufferFormat, int, Android.Hardware.HardwareBufferUsage)' The BG8800 was generated because we attempted to map `long usage` to an `enum`, but no enum was created as the values are of type `long`, not `int`. Manually create a `long`-based `HardwareBufferUsage` enum: [Flags] /* partial */ enum HardwareBufferUsage : long { None = 0, UsageComposerOverlay = 0x800, // … } However, `generator` does not support `long` enums, and generates marshalling code using an `int`. Thus, we need to manually bind `HardwareBuffer.create()` and [`HardwareBuffer.getUsage()`][1] so we can replace the `int` machinery with `long`. While we're at it, audit all of the `BG8800` warnings that are caused by improper enumification and fix them: warning BG8800: Unknown parameter type 'Android.Hardware.HardwareBufferUsage' for member 'Android.Hardware.HardwareBuffer.Create (int, int, Android.Hardware.HardwareBufferFormat, int, Android.Hardware.Hardw... warning BG8800: Unknown parameter type 'Android.Hardware.HardwareBufferUsage' for member 'Android.Hardware.HardwareBuffer.IsSupported (int, int, Android.Hardware.HardwareBufferFormat, int, Android.Hardware.... warning BG8800: Unknown parameter type 'Android.App.Bind' for member 'Android.Content.Context'. warning BG8800: Unknown parameter type 'Android.App.Bind' for member 'Android.Content.Context.BindIsolatedService (Android.Content.Intent, Android.App.Bind, java.lang.String, java.util.concurrent.Executor, ... warning BG8800: Unknown parameter type 'Android.Graphics.ImageDecoderAllocatorType' for member 'Android.Graphics.ImageDecoder.SetAllocator (Android.Graphics.ImageDecoderAllocatorType)'. warning BG8800: Unknown parameter type 'Android.Net.WpsFailureReason' for member 'Android.Net.Wifi.WifiManager.WpsCallback.OnFailed (Android.Net.WpsFailureReason)'. warning BG8800: Unknown parameter type 'Android.OS.DeviceTemperatureSource' for member 'Android.OS.HardwarePropertiesManager.GetDeviceTemperatures (Android.OS.DeviceTemperatureType, Android.OS.DeviceTempera... warning BG8800: Unknown parameter type 'Android.Telephony.Mbms.DownloadStatus' for member 'Android.Telephony.Mbms.DownloadStatusListener.OnStatusUpdated (Android.Telephony.Mbms.DownloadRequest, Android.Tel... warning BG8800: Unknown parameter type 'Android.Telephony.StreamingMethod' for member 'Android.Telephony.Mbms.StreamingServiceCallback.OnStreamMethodUpdated (Android.Telephony.StreamingMethod)'. warning BG8800: Unknown parameter type 'Android.Telephony.StreamingState' for member 'Android.Telephony.Mbms.StreamingServiceCallback.OnStreamStateUpdated (Android.Telephony.StreamingState, Android.Telepho... warning BG8800: Unknown parameter type 'Android.Icu.Text.CollatorReorderCodes' for member 'Android.Icu.Text.Collator.GetEquivalentReorderCodes (Android.Icu.Text.CollatorReorderCodes)'. warning BG8800: Unknown parameter type 'params Android.Icu.Text.CollatorReorderCodes[]' for member 'Android.Icu.Text.Collator.SetReorderCodes (params Android.Icu.Text.CollatorReorderCodes[])'. This results in new API being surfaced that was previously not being bound, requiring updates to `src/Mono.Android/PublicAPI/API-34/PublicAPI.Unshipped.txt`. One of these new APIs is [`WpsCallback.OnFailed(WpsFailureReason)`][2], which is a *new* `abstract` method on an existing non-`abstract` type. Although this is a breaking change, this type previously could not have been inherited from as the Java-side `abstract` method would not have been implemented; consider this C# code: // This C# code compiles, no warnings or errors: class MyCallback : Android.Net.Wifi.WifiManager.WpsCallback { public override void OnStarted(string? pin) {} public override void OnSucceeded() {} } However, the `.csproj` containing `MyCallback` will fail to build: obj/Debug/net8.0-android/android/src/crc64475861335642e0f6/MyCallback.java(4,8): javac error JAVAC0000: error: MyCallback is not abstract and does not override abstract method onFailed(int) in WpsCallback Thus, add it as an "acceptable breakage". [0]: https://developer.android.com/reference/android/hardware/HardwareBuffer?hl=en#create(int,%20int,%20int,%20int,%20long) [1]: https://developer.android.com/reference/android/hardware/HardwareBuffer?hl=en#getUsage() [2]: https://developer.android.com/reference/android/net/wifi/WifiManager.WpsCallback?hl=en#onFailed(int)
1 parent dd6e707 commit c20d51f

File tree

10 files changed

+239
-22
lines changed

10 files changed

+239
-22
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
using Android.Runtime;
2+
using Java.Interop;
3+
4+
namespace Android.Hardware;
5+
6+
public partial class HardwareBuffer
7+
{
8+
// These are manually bound because we do not have a way to bind the `long` enum values.
9+
// generator treats them as int, like:
10+
// __args [4] = new JniArgumentValue ((int) usage);
11+
12+
// Metadata.xml XPath method reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/method[@name='create' and count(parameter)=5 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='int'] and parameter[5][@type='long']]"
13+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
14+
[Register ("create", "(IIIIJ)Landroid/hardware/HardwareBuffer;", "", ApiSince = 26)]
15+
public static unsafe Android.Hardware.HardwareBuffer Create (int width, int height, [global::Android.Runtime.GeneratedEnum] Android.Hardware.HardwareBufferFormat format, int layers, Android.Hardware.HardwareBufferUsage usage)
16+
{
17+
const string __id = "create.(IIIIJ)Landroid/hardware/HardwareBuffer;";
18+
try {
19+
JniArgumentValue* __args = stackalloc JniArgumentValue [5];
20+
__args [0] = new JniArgumentValue (width);
21+
__args [1] = new JniArgumentValue (height);
22+
__args [2] = new JniArgumentValue ((int) format);
23+
__args [3] = new JniArgumentValue (layers);
24+
__args [4] = new JniArgumentValue ((long) usage);
25+
var __rm = _members.StaticMethods.InvokeObjectMethod (__id, __args);
26+
return global::Java.Lang.Object.GetObject<Android.Hardware.HardwareBuffer> (__rm.Handle, JniHandleOwnership.TransferLocalRef)!;
27+
} finally {
28+
}
29+
}
30+
31+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
32+
public unsafe Android.Hardware.HardwareBufferUsage Usage {
33+
// Metadata.xml XPath method reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/method[@name='getUsage' and count(parameter)=0]"
34+
[Register ("getUsage", "()J", "", ApiSince = 26)]
35+
get {
36+
const string __id = "getUsage.()J";
37+
try {
38+
var __rm = _members.InstanceMethods.InvokeAbstractInt64Method (__id, this, null);
39+
return (Android.Hardware.HardwareBufferUsage) __rm!;
40+
} finally {
41+
}
42+
}
43+
}
44+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
namespace Android.Hardware;
2+
3+
[System.Flags]
4+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
5+
public enum HardwareBufferUsage : long
6+
{
7+
None = 0,
8+
9+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_COMPOSER_OVERLAY']"
10+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android33.0")]
11+
UsageComposerOverlay = 2048,
12+
13+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_CPU_READ_OFTEN']"
14+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
15+
UsageCpuReadOften = 3,
16+
17+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_CPU_READ_RARELY']"
18+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
19+
UsageCpuReadRarely = 2,
20+
21+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_CPU_WRITE_OFTEN']"
22+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
23+
UsageCpuWriteOften = 48,
24+
25+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_CPU_WRITE_RARELY']"
26+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
27+
UsageCpuWriteRarely = 32,
28+
29+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_FRONT_BUFFER']"
30+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android33.0")]
31+
UsageFrontBuffer = 4294967296,
32+
33+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_GPU_COLOR_OUTPUT']"
34+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
35+
UsageGpuColorOutput = 512,
36+
37+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_GPU_CUBE_MAP']"
38+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
39+
UsageGpuCubeMap = 33554432,
40+
41+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_GPU_DATA_BUFFER']"
42+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
43+
UsageGpuDataBuffer = 16777216,
44+
45+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_GPU_MIPMAP_COMPLETE']"
46+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
47+
UsageGpuMipmapComplete = 67108864,
48+
49+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_GPU_SAMPLED_IMAGE']"
50+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
51+
UsageGpuSampledImage = 256,
52+
53+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_PROTECTED_CONTENT']"
54+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
55+
UsageProtectedContent = 16384,
56+
57+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_SENSOR_DIRECT_DATA']"
58+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
59+
UsageSensorDirectData = 8388608,
60+
61+
// Metadata.xml XPath field reference: path="/api/package[@name='android.hardware']/class[@name='HardwareBuffer']/field[@name='USAGE_VIDEO_ENCODE']"
62+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
63+
UsageVideoEncode = 65536
64+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using Android.Runtime;
2+
3+
namespace Android.Telephony.Mbms;
4+
5+
public partial class StreamingService
6+
{
7+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony.mbms']/class[@name='StreamingService']/field[@name='STATE_STALLED']"
8+
[Register ("STATE_STALLED", ApiSince = 28)]
9+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
10+
[global::System.Obsolete (@"This constant will be removed in a future version. Use Android.Telephony.StreamingState enum directly instead of this field.", error: true)]
11+
public const int StateStalled = 3;
12+
13+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony.mbms']/class[@name='StreamingService']/field[@name='STATE_STARTED']"
14+
[Register ("STATE_STARTED", ApiSince = 28)]
15+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
16+
[global::System.Obsolete (@"This constant will be removed in a future version. Use Android.Telephony.StreamingState enum directly instead of this field.", error: true)]
17+
public const int StateStarted = 2;
18+
19+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony.mbms']/class[@name='StreamingService']/field[@name='STATE_STOPPED']"
20+
[Register ("STATE_STOPPED", ApiSince = 28)]
21+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
22+
[global::System.Obsolete (@"This constant will be removed in a future version. Use Android.Telephony.StreamingState enum directly instead of this field.", error: true)]
23+
public const int StateStopped = 1;
24+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using Android.Runtime;
7+
8+
namespace Android.Telephony;
9+
10+
public partial class MbmsDownloadSession
11+
{
12+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony']/class[@name='MbmsDownloadSession']/field[@name='STATUS_ACTIVELY_DOWNLOADING']"
13+
[Register ("STATUS_ACTIVELY_DOWNLOADING", ApiSince = 28)]
14+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
15+
[global::System.Obsolete (@"This constant will be removed in the future version. Use Android.Telephony.Mbms.DownloadStatus enum directly instead of this field.", error: true)]
16+
public const int StatusActivelyDownloading = 1;
17+
18+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony']/class[@name='MbmsDownloadSession']/field[@name='STATUS_PENDING_DOWNLOAD']"
19+
[Register ("STATUS_PENDING_DOWNLOAD", ApiSince = 28)]
20+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
21+
[global::System.Obsolete (@"This constant will be removed in the future version. Use Android.Telephony.Mbms.DownloadStatus enum directly instead of this field.", error: true)]
22+
public const int StatusPendingDownload = 2;
23+
24+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony']/class[@name='MbmsDownloadSession']/field[@name='STATUS_PENDING_DOWNLOAD_WINDOW']"
25+
[Register ("STATUS_PENDING_DOWNLOAD_WINDOW", ApiSince = 28)]
26+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
27+
[global::System.Obsolete (@"This constant will be removed in the future version. Use Android.Telephony.Mbms.DownloadStatus enum directly instead of this field.", error: true)]
28+
public const int StatusPendingDownloadWindow = 4;
29+
30+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony']/class[@name='MbmsDownloadSession']/field[@name='STATUS_PENDING_REPAIR']"
31+
[Register ("STATUS_PENDING_REPAIR", ApiSince = 28)]
32+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
33+
[global::System.Obsolete (@"This constant will be removed in the future version. Use Android.Telephony.Mbms.DownloadStatus enum directly instead of this field.", error: true)]
34+
public const int StatusPendingRepair = 3;
35+
36+
// Metadata.xml XPath field reference: path="/api/package[@name='android.telephony']/class[@name='MbmsDownloadSession']/field[@name='STATUS_UNKNOWN']"
37+
[Register ("STATUS_UNKNOWN", ApiSince = 28)]
38+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
39+
[global::System.Obsolete (@"This constant will be removed in the future version. Use Android.Telephony.Mbms.DownloadStatus enum directly instead of this field.", error: true)]
40+
public const int StatusUnknown = 0;
41+
}

src/Mono.Android/Mono.Android.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,16 @@
8080
</Compile>
8181
<Compile Include="Android.Content.PM\PackageManager.cs" />
8282
<Compile Include="Android.Graphics\PathIterator.cs" />
83+
<Compile Include="Android.Hardware\HardwareBuffer.cs" />
84+
<Compile Include="Android.Hardware\HardwareBufferUsage.cs" />
8385
<Compile Include="Android.Icu\ListFormatter.cs" />
8486
<Compile Include="Android.Icu\RelativeDateTimeFormatter.cs" />
8587
<Compile Include="Android.Icu\DateIntervalFormat.cs" />
8688
<Compile Include="Android.Runtime\DynamicMethodNameCounter.cs" />
8789
<Compile Include="Android.Runtime\IJavaObjectValueMarshaler.cs" />
8890
<Compile Include="Android.Telecom\InCallService.cs" />
91+
<Compile Include="Android.Telephony.Mbms\StreamingService.cs" />
92+
<Compile Include="Android.Telephony\MbmsDownloadSession.cs" />
8993
<Compile Include="Android.Views\WindowManagerLayoutParams.cs" />
9094
<Compile Include="Java.Lang.Invoke\MethodType.cs" />
9195
<Compile Include="Java.Time.Chrono\AbstractChronology.cs" />
Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,42 @@
1-
#nullable enable
1+
#nullable enable
2+
abstract Android.Net.Wifi.WifiManager.WpsCallback.OnFailed(Android.Net.Wifi.WpsFailureReason reason) -> void
3+
Android.Graphics.ImageDecoder.Allocator.get -> Android.Graphics.ImageDecoderAllocator
4+
Android.Graphics.ImageDecoder.Allocator.set -> void
5+
Android.Hardware.HardwareBuffer.Usage.get -> Android.Hardware.HardwareBufferUsage
6+
Android.Hardware.HardwareBufferUsage
7+
Android.Hardware.HardwareBufferUsage.None = 0 -> Android.Hardware.HardwareBufferUsage
8+
Android.Hardware.HardwareBufferUsage.UsageComposerOverlay = 2048 -> Android.Hardware.HardwareBufferUsage
9+
Android.Hardware.HardwareBufferUsage.UsageCpuReadOften = 3 -> Android.Hardware.HardwareBufferUsage
10+
Android.Hardware.HardwareBufferUsage.UsageCpuReadRarely = 2 -> Android.Hardware.HardwareBufferUsage
11+
Android.Hardware.HardwareBufferUsage.UsageCpuWriteOften = 48 -> Android.Hardware.HardwareBufferUsage
12+
Android.Hardware.HardwareBufferUsage.UsageCpuWriteRarely = 32 -> Android.Hardware.HardwareBufferUsage
13+
Android.Hardware.HardwareBufferUsage.UsageFrontBuffer = 4294967296 -> Android.Hardware.HardwareBufferUsage
14+
Android.Hardware.HardwareBufferUsage.UsageGpuColorOutput = 512 -> Android.Hardware.HardwareBufferUsage
15+
Android.Hardware.HardwareBufferUsage.UsageGpuCubeMap = 33554432 -> Android.Hardware.HardwareBufferUsage
16+
Android.Hardware.HardwareBufferUsage.UsageGpuDataBuffer = 16777216 -> Android.Hardware.HardwareBufferUsage
17+
Android.Hardware.HardwareBufferUsage.UsageGpuMipmapComplete = 67108864 -> Android.Hardware.HardwareBufferUsage
18+
Android.Hardware.HardwareBufferUsage.UsageGpuSampledImage = 256 -> Android.Hardware.HardwareBufferUsage
19+
Android.Hardware.HardwareBufferUsage.UsageProtectedContent = 16384 -> Android.Hardware.HardwareBufferUsage
20+
Android.Hardware.HardwareBufferUsage.UsageSensorDirectData = 8388608 -> Android.Hardware.HardwareBufferUsage
21+
Android.Hardware.HardwareBufferUsage.UsageVideoEncode = 65536 -> Android.Hardware.HardwareBufferUsage
22+
Android.Telephony.Mbms.DownloadStatus
23+
Android.Telephony.Mbms.DownloadStatus.ActivelyDownloading = 1 -> Android.Telephony.Mbms.DownloadStatus
24+
Android.Telephony.Mbms.DownloadStatus.PendingDownload = 2 -> Android.Telephony.Mbms.DownloadStatus
25+
Android.Telephony.Mbms.DownloadStatus.PendingDownloadWindow = 4 -> Android.Telephony.Mbms.DownloadStatus
26+
Android.Telephony.Mbms.DownloadStatus.PendingRepair = 3 -> Android.Telephony.Mbms.DownloadStatus
27+
Android.Telephony.Mbms.DownloadStatus.Unknown = 0 -> Android.Telephony.Mbms.DownloadStatus
28+
Android.Telephony.StreamingState
29+
Android.Telephony.StreamingState.Stalled = 3 -> Android.Telephony.StreamingState
30+
Android.Telephony.StreamingState.Started = 2 -> Android.Telephony.StreamingState
31+
Android.Telephony.StreamingState.Stopped = 1 -> Android.Telephony.StreamingState
32+
static Android.Hardware.HardwareBuffer.Create(int width, int height, Android.Hardware.HardwareBufferFormat format, int layers, Android.Hardware.HardwareBufferUsage usage) -> Android.Hardware.HardwareBuffer!
33+
static Android.Hardware.HardwareBuffer.IsSupported(int width, int height, Android.Hardware.HardwareBufferFormat format, int layers, long usage) -> bool
34+
static Android.Icu.Text.Collator.GetEquivalentReorderCodes(int reorderCode) -> int[]?
35+
virtual Android.Content.Context.BindIsolatedService(Android.Content.Intent! service, Android.Content.Context.BindServiceFlags! flags, string! instanceName, Java.Util.Concurrent.IExecutor! executor, Android.Content.IServiceConnection! conn) -> bool
36+
virtual Android.Content.Context.BindIsolatedService(Android.Content.Intent! service, int flags, string! instanceName, Java.Util.Concurrent.IExecutor! executor, Android.Content.IServiceConnection! conn) -> bool
37+
virtual Android.Icu.Text.Collator.GetReorderCodes() -> int[]?
38+
virtual Android.Icu.Text.Collator.SetReorderCodes(params int[]? order) -> void
39+
virtual Android.OS.HardwarePropertiesManager.GetDeviceTemperatures(Android.OS.DeviceTemperatureType type, Android.OS.TemperatureSource source) -> float[]!
40+
virtual Android.Telephony.Mbms.DownloadStatusListener.OnStatusUpdated(Android.Telephony.Mbms.DownloadRequest? request, Android.Telephony.Mbms.FileInfo? fileInfo, Android.Telephony.Mbms.DownloadStatus status) -> void
41+
virtual Android.Telephony.Mbms.StreamingServiceCallback.OnStreamMethodUpdated(Android.Telephony.Mbms.StreamingMethod methodType) -> void
42+
virtual Android.Telephony.Mbms.StreamingServiceCallback.OnStreamStateUpdated(Android.Telephony.StreamingState state, Android.Telephony.Mbms.StreamingStateChangedReason reason) -> void

src/Mono.Android/map.csv

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13581,9 +13581,9 @@ E,28,android/telephony/mbms/StreamingService.REASON_LEFT_MBMS_BROADCAST_AREA,6,A
1358113581
E,28,android/telephony/mbms/StreamingService.REASON_NONE,0,Android.Telephony.Mbms.StreamingStateChangedReason,None,remove,
1358213582
E,28,android/telephony/mbms/StreamingService.REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE,5,Android.Telephony.Mbms.StreamingStateChangedReason,NotConnectedToHomecarrierLte,remove,
1358313583
E,28,android/telephony/mbms/StreamingService.REASON_OUT_OF_MEMORY,4,Android.Telephony.Mbms.StreamingStateChangedReason,OutOfMemory,remove,
13584-
I,28,android/telephony/mbms/StreamingService.STATE_STALLED,3,,,,
13585-
I,28,android/telephony/mbms/StreamingService.STATE_STARTED,2,,,,
13586-
I,28,android/telephony/mbms/StreamingService.STATE_STOPPED,1,,,,
13584+
E,28,android/telephony/mbms/StreamingService.STATE_STALLED,3,Android.Telephony.StreamingState,Stalled,keep,
13585+
E,28,android/telephony/mbms/StreamingService.STATE_STARTED,2,Android.Telephony.StreamingState,Started,keep,
13586+
E,28,android/telephony/mbms/StreamingService.STATE_STOPPED,1,Android.Telephony.StreamingState,Stopped,keep,
1358713587
E,28,android/telephony/mbms/StreamingService.UNICAST_METHOD,2,Android.Telephony.Mbms.StreamingMethod,Unicast,remove,
1358813588
I,28,android/telephony/mbms/StreamingServiceCallback.SIGNAL_STRENGTH_UNAVAILABLE,-1,,,,
1358913589
I,28,android/telephony/MbmsDownloadSession.RESULT_CANCELLED,2,,,,
@@ -13594,11 +13594,11 @@ I,28,android/telephony/MbmsDownloadSession.RESULT_IO_ERROR,4,,,,
1359413594
I,28,android/telephony/MbmsDownloadSession.RESULT_OUT_OF_STORAGE,7,,,,
1359513595
I,28,android/telephony/MbmsDownloadSession.RESULT_SERVICE_ID_NOT_DEFINED,5,,,,
1359613596
I,28,android/telephony/MbmsDownloadSession.RESULT_SUCCESSFUL,1,,,,
13597-
I,28,android/telephony/MbmsDownloadSession.STATUS_ACTIVELY_DOWNLOADING,1,,,,
13598-
I,28,android/telephony/MbmsDownloadSession.STATUS_PENDING_DOWNLOAD,2,,,,
13599-
I,28,android/telephony/MbmsDownloadSession.STATUS_PENDING_DOWNLOAD_WINDOW,4,,,,
13600-
I,28,android/telephony/MbmsDownloadSession.STATUS_PENDING_REPAIR,3,,,,
13601-
I,28,android/telephony/MbmsDownloadSession.STATUS_UNKNOWN,0,,,,
13597+
E,28,android/telephony/MbmsDownloadSession.STATUS_ACTIVELY_DOWNLOADING,1,Android.Telephony.Mbms.DownloadStatus,ActivelyDownloading,keep,
13598+
E,28,android/telephony/MbmsDownloadSession.STATUS_PENDING_DOWNLOAD,2,Android.Telephony.Mbms.DownloadStatus,PendingDownload,keep,
13599+
E,28,android/telephony/MbmsDownloadSession.STATUS_PENDING_DOWNLOAD_WINDOW,4,Android.Telephony.Mbms.DownloadStatus,PendingDownloadWindow,keep,
13600+
E,28,android/telephony/MbmsDownloadSession.STATUS_PENDING_REPAIR,3,Android.Telephony.Mbms.DownloadStatus,PendingRepair,keep,
13601+
E,28,android/telephony/MbmsDownloadSession.STATUS_UNKNOWN,0,Android.Telephony.Mbms.DownloadStatus,Unknown,keep,
1360213602
I,0,android/telephony/NeighboringCellInfo.UNKNOWN_CID,-1,,,,
1360313603
I,0,android/telephony/NeighboringCellInfo.UNKNOWN_RSSI,99,,,,
1360413604
E,30,android/telephony/NetworkRegistrationInfo.DOMAIN_CS,1,Android.Telephony.NetworkRegistrationInfoDomain,Cs,remove,

0 commit comments

Comments
 (0)