Skip to content

Commit d95f509

Browse files
committed
[Mono.Android] Provide enum overload of PackageManager.PackageInfoFlags.Of.
1 parent d9e4407 commit d95f509

File tree

3 files changed

+107
-0
lines changed

3 files changed

+107
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
namespace Android.Content.PM;
2+
3+
#if ANDROID_34
4+
public abstract partial class PackageManager
5+
{
6+
public sealed partial class PackageInfoFlags
7+
{
8+
// Create overloads that accept PackageInfoLongFlags
9+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android33.0")]
10+
public static unsafe Android.Content.PM.PackageManager.PackageInfoFlags Of (PackageInfoLongFlags value)
11+
=> Of ((long) value);
12+
13+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android33.0")]
14+
public unsafe PackageInfoLongFlags ValueAsFlags
15+
=> (PackageInfoLongFlags) Value;
16+
}
17+
}
18+
19+
// Manually created "long" version of "PackageInfoFlags" enum, created from documentation:
20+
// https://developer.android.com/reference/android/content/pm/PackageManager.PackageInfoFlags#of(long)
21+
[System.Flags]
22+
public enum PackageInfoLongFlags : long
23+
{
24+
None = 0,
25+
26+
GetActivities = 1,
27+
28+
GetReceivers = 2,
29+
30+
GetServices = 4,
31+
32+
GetProviders = 8,
33+
34+
GetInstrumentation = 16,
35+
36+
GetIntentFilters = 32,
37+
38+
GetSignatures = 64,
39+
40+
GetMetaData = 128,
41+
42+
GetGids = 256,
43+
44+
GetDisabledComponents = 512,
45+
46+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
47+
MatchDisabledComponents = 512,
48+
49+
GetSharedLibraryFiles = 1024,
50+
51+
GetUriPermissionPatterns = 2048,
52+
53+
GetPermissions = 4096,
54+
55+
GetUninstalledPackages = 8192,
56+
57+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
58+
MatchUninstalledPackages = 8192,
59+
60+
GetConfigurations = 16384,
61+
62+
GetDisabledUntilUsedComponents = 32768,
63+
64+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
65+
MatchDisabledUntilUsedComponents = 32768,
66+
67+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
68+
MatchSystemOnly = 1048576,
69+
70+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
71+
GetSigningCertificates = 134217728,
72+
73+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android29.0")]
74+
MatchApex = 1073741824,
75+
76+
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android34.0")]
77+
GetAttributionsLong = 2147483648,
78+
}
79+
#endif // ANDROID_34

src/Mono.Android/Mono.Android.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Java.Interop.Tools.JavaCallableWrappers\Crc64.Table.cs">
8282
<Link>Crc64.Table.cs</Link>
8383
</Compile>
84+
<Compile Include="Android.Content.PM\PackageManager.cs" />
8485
<Compile Include="Android.Graphics\PathIterator.cs" />
8586
<Compile Include="Android.Icu\ListFormatter.cs" />
8687
<Compile Include="Android.Icu\RelativeDateTimeFormatter.cs" />

src/Mono.Android/PublicAPI/API-34/PublicAPI.Unshipped.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9367,6 +9367,31 @@ Android.Content.PM.PackageInfoFlags.Signatures = 64 -> Android.Content.PM.Packag
93679367
Android.Content.PM.PackageInfoFlags.SigningCertificates = 134217728 -> Android.Content.PM.PackageInfoFlags
93689368
Android.Content.PM.PackageInfoFlags.UninstalledPackages = 8192 -> Android.Content.PM.PackageInfoFlags
93699369
Android.Content.PM.PackageInfoFlags.UriPermissionPatterns = 2048 -> Android.Content.PM.PackageInfoFlags
9370+
Android.Content.PM.PackageInfoLongFlags
9371+
Android.Content.PM.PackageInfoLongFlags.GetActivities = 1 -> Android.Content.PM.PackageInfoLongFlags
9372+
Android.Content.PM.PackageInfoLongFlags.GetAttributionsLong = 2147483648 -> Android.Content.PM.PackageInfoLongFlags
9373+
Android.Content.PM.PackageInfoLongFlags.GetConfigurations = 16384 -> Android.Content.PM.PackageInfoLongFlags
9374+
Android.Content.PM.PackageInfoLongFlags.GetDisabledComponents = 512 -> Android.Content.PM.PackageInfoLongFlags
9375+
Android.Content.PM.PackageInfoLongFlags.GetDisabledUntilUsedComponents = 32768 -> Android.Content.PM.PackageInfoLongFlags
9376+
Android.Content.PM.PackageInfoLongFlags.GetGids = 256 -> Android.Content.PM.PackageInfoLongFlags
9377+
Android.Content.PM.PackageInfoLongFlags.GetInstrumentation = 16 -> Android.Content.PM.PackageInfoLongFlags
9378+
Android.Content.PM.PackageInfoLongFlags.GetIntentFilters = 32 -> Android.Content.PM.PackageInfoLongFlags
9379+
Android.Content.PM.PackageInfoLongFlags.GetMetaData = 128 -> Android.Content.PM.PackageInfoLongFlags
9380+
Android.Content.PM.PackageInfoLongFlags.GetPermissions = 4096 -> Android.Content.PM.PackageInfoLongFlags
9381+
Android.Content.PM.PackageInfoLongFlags.GetProviders = 8 -> Android.Content.PM.PackageInfoLongFlags
9382+
Android.Content.PM.PackageInfoLongFlags.GetReceivers = 2 -> Android.Content.PM.PackageInfoLongFlags
9383+
Android.Content.PM.PackageInfoLongFlags.GetServices = 4 -> Android.Content.PM.PackageInfoLongFlags
9384+
Android.Content.PM.PackageInfoLongFlags.GetSharedLibraryFiles = 1024 -> Android.Content.PM.PackageInfoLongFlags
9385+
Android.Content.PM.PackageInfoLongFlags.GetSignatures = 64 -> Android.Content.PM.PackageInfoLongFlags
9386+
Android.Content.PM.PackageInfoLongFlags.GetSigningCertificates = 134217728 -> Android.Content.PM.PackageInfoLongFlags
9387+
Android.Content.PM.PackageInfoLongFlags.GetUninstalledPackages = 8192 -> Android.Content.PM.PackageInfoLongFlags
9388+
Android.Content.PM.PackageInfoLongFlags.GetUriPermissionPatterns = 2048 -> Android.Content.PM.PackageInfoLongFlags
9389+
Android.Content.PM.PackageInfoLongFlags.MatchApex = 1073741824 -> Android.Content.PM.PackageInfoLongFlags
9390+
Android.Content.PM.PackageInfoLongFlags.MatchDisabledComponents = 512 -> Android.Content.PM.PackageInfoLongFlags
9391+
Android.Content.PM.PackageInfoLongFlags.MatchDisabledUntilUsedComponents = 32768 -> Android.Content.PM.PackageInfoLongFlags
9392+
Android.Content.PM.PackageInfoLongFlags.MatchSystemOnly = 1048576 -> Android.Content.PM.PackageInfoLongFlags
9393+
Android.Content.PM.PackageInfoLongFlags.MatchUninstalledPackages = 8192 -> Android.Content.PM.PackageInfoLongFlags
9394+
Android.Content.PM.PackageInfoLongFlags.None = 0 -> Android.Content.PM.PackageInfoLongFlags
93709395
Android.Content.PM.PackageInstaller
93719396
Android.Content.PM.PackageInstaller.InstallConstraints
93729397
Android.Content.PM.PackageInstaller.InstallConstraints.Builder
@@ -9517,6 +9542,7 @@ Android.Content.PM.PackageManager.NameNotFoundException.NameNotFoundException(ni
95179542
Android.Content.PM.PackageManager.NameNotFoundException.NameNotFoundException(string? name) -> void
95189543
Android.Content.PM.PackageManager.PackageInfoFlags
95199544
Android.Content.PM.PackageManager.PackageInfoFlags.Value.get -> long
9545+
Android.Content.PM.PackageManager.PackageInfoFlags.ValueAsFlags.get -> Android.Content.PM.PackageInfoLongFlags
95209546
Android.Content.PM.PackageManager.PackageManager() -> void
95219547
Android.Content.PM.PackageManager.PackageManager(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
95229548
Android.Content.PM.PackageManager.Property
@@ -94765,6 +94791,7 @@ static Android.Content.PM.PackageInstaller.SessionParams.RestrictedPermissionsAl
9476594791
static Android.Content.PM.PackageManager.ApplicationInfoFlags.Of(long value) -> Android.Content.PM.PackageManager.ApplicationInfoFlags!
9476694792
static Android.Content.PM.PackageManager.ComponentEnabledSetting.Creator.get -> Android.OS.IParcelableCreator!
9476794793
static Android.Content.PM.PackageManager.ComponentInfoFlags.Of(long value) -> Android.Content.PM.PackageManager.ComponentInfoFlags!
94794+
static Android.Content.PM.PackageManager.PackageInfoFlags.Of(Android.Content.PM.PackageInfoLongFlags value) -> Android.Content.PM.PackageManager.PackageInfoFlags!
9476894795
static Android.Content.PM.PackageManager.PackageInfoFlags.Of(long value) -> Android.Content.PM.PackageManager.PackageInfoFlags!
9476994796
static Android.Content.PM.PackageManager.Property.Creator.get -> Android.OS.IParcelableCreator!
9477094797
static Android.Content.PM.PackageManager.ResolveInfoFlags.Of(long value) -> Android.Content.PM.PackageManager.ResolveInfoFlags!

0 commit comments

Comments
 (0)