зеркало из https://github.com/xamarin/AndroidX.git
Merge branch 'main' into mu-20240913-config-bump-fixes
This commit is contained in:
Коммит
4e375b8788
64
build.cake
64
build.cake
|
@ -16,6 +16,7 @@
|
|||
|
||||
#load "build/cake/update-config.cake"
|
||||
#load "build/cake/tests.cake"
|
||||
#load "build/cake/gps-parameters.cake"
|
||||
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml;
|
||||
|
@ -270,6 +271,7 @@ Task("javadocs")
|
|||
});
|
||||
|
||||
Task ("binderate")
|
||||
.IsDependentOn("javadocs-gps")
|
||||
.IsDependentOn("binderate-config-verify")
|
||||
.Does (() =>
|
||||
{
|
||||
|
@ -361,15 +363,15 @@ Task("binderate-config-verify")
|
|||
artifact_version_suffix = artifact_version_parts[1];
|
||||
}
|
||||
|
||||
Information($"groupId = {jo["groupId"]}");
|
||||
Information($"artifactId = {jo["artifactId"]}");
|
||||
Information($"artifact_version = {artifact_version}");
|
||||
Information($"artifact_version_prefix = {artifact_version_prefix}");
|
||||
Information($"artifact_version_suffix = {artifact_version_suffix}");
|
||||
Information($"nuget_version = {nuget_version}");
|
||||
Information($"nuget_version_prefix = {nuget_version_prefix}");
|
||||
Information($"nuget_version_suffix = {nuget_version_suffix}");
|
||||
Information($"nugetId = {jo["nugetId"]}");
|
||||
//Information($"groupId = {jo["groupId"]}");
|
||||
//Information($"artifactId = {jo["artifactId"]}");
|
||||
//Information($"artifact_version = {artifact_version}");
|
||||
//Information($"artifact_version_prefix = {artifact_version_prefix}");
|
||||
//Information($"artifact_version_suffix = {artifact_version_suffix}");
|
||||
//Information($"nuget_version = {nuget_version}");
|
||||
//Information($"nuget_version_prefix = {nuget_version_prefix}");
|
||||
//Information($"nuget_version_suffix = {nuget_version_suffix}");
|
||||
//Information($"nugetId = {jo["nugetId"]}");
|
||||
|
||||
|
||||
string[] artifact_version_prefix_parts = artifact_version_prefix.Split(new string[]{ "." }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
@ -395,7 +397,7 @@ Task("binderate-config-verify")
|
|||
nuget_version_new += $"-{nuget_version_suffix}";
|
||||
}
|
||||
|
||||
Information($"nuget_version_new = {nuget_version_new}");
|
||||
//Information($"nuget_version_new = {nuget_version_new}");
|
||||
|
||||
if
|
||||
(
|
||||
|
@ -465,9 +467,9 @@ Task("binderate-fix")
|
|||
string groupId = (string) jo["groupId"];
|
||||
string artifactId = (string) jo["artifactId"];
|
||||
|
||||
Information($" Verifying files for :");
|
||||
Information($" group : {groupId}");
|
||||
Information($" artifact : {artifactId}");
|
||||
//Information($" Verifying files for :");
|
||||
//Information($" group : {groupId}");
|
||||
//Information($" artifact : {artifactId}");
|
||||
|
||||
bool? dependency_only = (bool?) jo["dependencyOnly"];
|
||||
if ( dependency_only == true)
|
||||
|
@ -679,6 +681,42 @@ Task("libs-native")
|
|||
|
||||
CopyFileToDirectory($"{root}/extensions-aar/build/outputs/aar/extensions-aar-release.aar", outputDir);
|
||||
Unzip($"{outputDir}/extensions-aar-release.aar", outputDir);
|
||||
|
||||
root = "./source/com.google.android.play/core.extensions/";
|
||||
|
||||
RunGradle(root, "build");
|
||||
|
||||
outputDir = "./externals/com.xamarin.google.android.play.core.extensions/";
|
||||
EnsureDirectoryExists(outputDir);
|
||||
CleanDirectories(outputDir);
|
||||
|
||||
CopyFileToDirectory($"{root}/extensions-aar/build/outputs/aar/extensions-aar-release.aar", outputDir);
|
||||
Unzip($"{outputDir}/extensions-aar-release.aar", outputDir);
|
||||
MoveFile($"{outputDir}/classes.jar", $"{outputDir}/extensions.jar");
|
||||
|
||||
root = "./source/com.google.android.play/asset.delivery.extensions/";
|
||||
|
||||
RunGradle(root, "build");
|
||||
|
||||
outputDir = "./externals/com.xamarin.google.android.play.asset.delivery.extensions/";
|
||||
EnsureDirectoryExists(outputDir);
|
||||
CleanDirectories(outputDir);
|
||||
|
||||
CopyFileToDirectory($"{root}/extensions-aar/build/outputs/aar/extensions-aar-release.aar", outputDir);
|
||||
Unzip($"{outputDir}/extensions-aar-release.aar", outputDir);
|
||||
MoveFile($"{outputDir}/classes.jar", $"{outputDir}/extensions.jar");
|
||||
|
||||
root = "./source/com.google.android.play/feature.delivery.extensions/";
|
||||
|
||||
RunGradle(root, "build");
|
||||
|
||||
outputDir = "./externals/com.xamarin.google.android.play.feature.delivery.extensions/";
|
||||
EnsureDirectoryExists(outputDir);
|
||||
CleanDirectories(outputDir);
|
||||
|
||||
CopyFileToDirectory($"{root}/extensions-aar/build/outputs/aar/extensions-aar-release.aar", outputDir);
|
||||
Unzip($"{outputDir}/extensions-aar-release.aar", outputDir);
|
||||
MoveFile($"{outputDir}/classes.jar", $"{outputDir}/extensions.jar");
|
||||
});
|
||||
|
||||
Task("nuget")
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
// Contains tasks for retrieving pre-generated parameter names for some GPS packages.
|
||||
// Ideally these days this could be replaced with `<JavaDocJar>` or `<AndroidSourceJar>`,
|
||||
// but for now we'll just copy what was in the GPS repository.
|
||||
|
||||
var REF_DOCS_FILE = "./build/data/docs/play-services-firebase.zip";
|
||||
var REF_METADATA_FILE = "./build/data/paramnames/play-services-firebase-metadata.xml";
|
||||
var REF_PARAMNAMES_FILE = "./build/data/paramnames/play-services-firebase-paramnames.txt";
|
||||
|
||||
// Extracts parameter names and places them in the right spot for the GPS template
|
||||
Task ("javadocs-gps")
|
||||
.Does (() =>
|
||||
{
|
||||
EnsureDirectoryExists ("./externals/");
|
||||
|
||||
if (!FileExists ("./externals/docs.zip"))
|
||||
CopyFile (REF_DOCS_FILE, "./externals/docs.zip");
|
||||
|
||||
if (!DirectoryExists ("./externals/docs"))
|
||||
Unzip ("./externals/docs.zip", "./externals/docs");
|
||||
|
||||
if (!FileExists ("./externals/paramnames.txt"))
|
||||
CopyFile (REF_PARAMNAMES_FILE, "./externals/paramnames.txt");
|
||||
|
||||
if (!FileExists ("./externals/paramnames.xml"))
|
||||
CopyFile (REF_METADATA_FILE, "./externals/paramnames.xml");
|
||||
|
||||
return;
|
||||
|
||||
var astJar = new FilePath ("./util/JavaASTParameterNames-1.0.jar");
|
||||
var sourcesJars = GetFiles ("./externals/**/*-sources.jar");
|
||||
|
||||
foreach (var srcJar in sourcesJars) {
|
||||
var srcJarPath = MakeAbsolute (srcJar).FullPath;
|
||||
var outTxtPath = srcJarPath.Replace ("-sources.jar", "-paramnames.txt");
|
||||
var outXmlPath = srcJarPath.Replace ("-sources.jar", "-paramnames.xml");
|
||||
|
||||
StartProcess ("java", "-jar \"" + MakeAbsolute(astJar).FullPath + "\" --text \"" + srcJarPath + "\" \"" + outTxtPath + "\"");
|
||||
StartProcess ("java", "-jar \"" + MakeAbsolute(astJar).FullPath + "\" --xml \"" + srcJarPath + "\" \"" + outXmlPath + "\"");
|
||||
}
|
||||
});
|
|
@ -15,7 +15,7 @@ stages:
|
|||
- template: job-extended-tests.yml
|
||||
parameters:
|
||||
jobName: Android
|
||||
agentCount: 10
|
||||
agentCount: 20
|
||||
testFilter: cat = Android
|
||||
testProject: $(extendedTestProject)
|
||||
testAssembly: $(extendedTestAssembly)
|
||||
|
|
Двоичный файл не отображается.
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2263
config.json
2263
config.json
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,5 +1,218 @@
|
|||
_COROUTINE
|
||||
Android.Annotation
|
||||
Android.BillingClient
|
||||
Android.BillingClient.Api
|
||||
Android.BillingClient.Ktx
|
||||
Android.Gms.Actions
|
||||
Android.Gms.Ads
|
||||
Android.Gms.Ads.AdManager
|
||||
Android.Gms.Ads.Afsn
|
||||
Android.Gms.Ads.Afsn.Search
|
||||
Android.Gms.Ads.AppOpen
|
||||
Android.Gms.Ads.Formats
|
||||
Android.Gms.Ads.H5
|
||||
Android.Gms.Ads.Initialization
|
||||
Android.Gms.Ads.Internal.Util.Client
|
||||
Android.Gms.Ads.Interstitial
|
||||
Android.Gms.Ads.Mediation
|
||||
Android.Gms.Ads.Mediation.CustomEvent
|
||||
Android.Gms.Ads.Mediation.Rtb
|
||||
Android.Gms.Ads.NativeAd
|
||||
Android.Gms.Ads.Query
|
||||
Android.Gms.Ads.Rewarded
|
||||
Android.Gms.Ads.RewardedInterstitial
|
||||
Android.Gms.Ads.Search
|
||||
Android.Gms.Analytics
|
||||
Android.Gms.Analytics.Ecommerce
|
||||
Android.Gms.AppIndex
|
||||
Android.Gms.AppIndex.Builders
|
||||
Android.Gms.AppIndexing
|
||||
Android.Gms.AppInvite
|
||||
Android.Gms.AppSet
|
||||
Android.Gms.Auth
|
||||
Android.Gms.Auth.Account
|
||||
Android.Gms.Auth.Api
|
||||
Android.Gms.Auth.Api.AccountTransfer
|
||||
Android.Gms.Auth.Api.Identity
|
||||
Android.Gms.Auth.Api.Phone
|
||||
Android.Gms.Auth.Api.Proxy
|
||||
Android.Gms.Auth.Api.SignIn
|
||||
Android.Gms.Auth.Api.SignIn.Internal
|
||||
Android.Gms.Auth.Managed.Blockstore
|
||||
Android.Gms.Auth.Managed.Blockstore.RestoreCredential
|
||||
Android.Gms.Auth.Managed.Blockstore.RestoreCredential.Internal
|
||||
Android.Gms.Auth.Managed.Password
|
||||
Android.Gms.Awareness
|
||||
Android.Gms.Awareness.Fence
|
||||
Android.Gms.Awareness.Snapshot
|
||||
Android.Gms.Awareness.State
|
||||
Android.Gms.Cast
|
||||
Android.Gms.Cast.Framework
|
||||
Android.Gms.Cast.Framework.Internal.FeatureHighlight
|
||||
Android.Gms.Cast.Framework.Media
|
||||
Android.Gms.Cast.Framework.Media.Internal
|
||||
Android.Gms.Cast.Framework.Media.UIController
|
||||
Android.Gms.Cast.Framework.Media.Widget
|
||||
Android.Gms.Cast.TV
|
||||
Android.Gms.Cast.TV.Auth
|
||||
Android.Gms.Cast.TV.CAC
|
||||
Android.Gms.Cast.TV.Internal
|
||||
Android.Gms.Cast.TV.Media
|
||||
Android.Gms.Clearcut
|
||||
Android.Gms.CloudMessaging
|
||||
Android.Gms.Common
|
||||
Android.Gms.Common.Annotations
|
||||
Android.Gms.Common.Api.Internal
|
||||
Android.Gms.Common.Apis
|
||||
Android.Gms.Common.Apis.Internal
|
||||
Android.Gms.Common.Config
|
||||
Android.Gms.Common.Data
|
||||
Android.Gms.Common.Images
|
||||
Android.Gms.Common.Internal
|
||||
Android.Gms.Common.Internal.SafeParcel
|
||||
Android.Gms.Common.Logging
|
||||
Android.Gms.Common.ModuleInstall
|
||||
Android.Gms.Common.ModuleInstall.Internal
|
||||
Android.Gms.Common.Providers
|
||||
Android.Gms.Common.Server
|
||||
Android.Gms.Common.Server.Converter
|
||||
Android.Gms.Common.Server.Response
|
||||
Android.Gms.Common.SqlLite
|
||||
Android.Gms.Common.Stats
|
||||
Android.Gms.Common.Util
|
||||
Android.Gms.Common.Util.Concurrent
|
||||
Android.Gms.Common.Util.Wrappers
|
||||
Android.Gms.DevicePerformance
|
||||
Android.Gms.DevicePerformance.Internal
|
||||
Android.Gms.Drive
|
||||
Android.Gms.Drive.Events
|
||||
Android.Gms.Drive.MetadataTypes
|
||||
Android.Gms.Drive.Query
|
||||
Android.Gms.Drive.Widget
|
||||
Android.Gms.Dynamic
|
||||
Android.Gms.Dynamite
|
||||
Android.Gms.Dynamite.Descriptors.Ads.Dynamite
|
||||
Android.Gms.Dynamite.Descriptors.Cronet
|
||||
Android.Gms.Dynamite.Descriptors.Firebase.Auth
|
||||
Android.Gms.Dynamite.Descriptors.Firebase.ML.Vision.Barcode
|
||||
Android.Gms.Dynamite.Descriptors.Flags
|
||||
Android.Gms.Dynamite.Descriptors.Gms.CastTVDynamite
|
||||
Android.Gms.Dynamite.Descriptors.MLKit.Barcode
|
||||
Android.Gms.Dynamite.Descriptors.TagManager
|
||||
Android.Gms.Dynamite.Descriptors.Vision.Face
|
||||
Android.Gms.Dynamite.Descriptors.Vision.Ica
|
||||
Android.Gms.Extensions
|
||||
Android.Gms.Fido
|
||||
Android.Gms.Fido.Common
|
||||
Android.Gms.Fido.Fido2
|
||||
Android.Gms.Fido.Fido2.Api.Common
|
||||
Android.Gms.Fido.U2F
|
||||
Android.Gms.Fido.U2F.Api.Common
|
||||
Android.Gms.Fido.U2F.MessageBased
|
||||
Android.Gms.Fitness
|
||||
Android.Gms.Fitness.Data
|
||||
Android.Gms.Fitness.Request
|
||||
Android.Gms.Fitness.Result
|
||||
Android.Gms.Fitness.Service
|
||||
Android.Gms.Flags
|
||||
Android.Gms.Flags.Impl
|
||||
Android.Gms.Games
|
||||
Android.Gms.Games.Achievement
|
||||
Android.Gms.Games.Event
|
||||
Android.Gms.Games.Internal
|
||||
Android.Gms.Games.Internal.Experience
|
||||
Android.Gms.Games.Internal.Game
|
||||
Android.Gms.Games.Internal.Player
|
||||
Android.Gms.Games.Internal.V2.AppShortcuts
|
||||
Android.Gms.Games.Internal.V2.Resolution
|
||||
Android.Gms.Games.Leaderboard
|
||||
Android.Gms.Games.LeaderBoard
|
||||
Android.Gms.Games.MultiPlayer
|
||||
Android.Gms.Games.MultiPlayer.RealTime
|
||||
Android.Gms.Games.Provider
|
||||
Android.Gms.Games.Quest
|
||||
Android.Gms.Games.Snapshot
|
||||
Android.Gms.Games.Stats
|
||||
Android.Gms.Games.Video
|
||||
Android.Gms.Gcm
|
||||
Android.Gms.Home.Matter
|
||||
Android.Gms.Home.Matter.Commissioning
|
||||
Android.Gms.Home.Matter.Commissioning.Internal
|
||||
Android.Gms.Home.Matter.Common
|
||||
Android.Gms.Home.Matter.Discovery
|
||||
Android.Gms.Home.Matter.Settings
|
||||
Android.Gms.Identity.Intents
|
||||
Android.Gms.Identity.Intents.Model
|
||||
Android.Gms.Iid
|
||||
Android.Gms.InstantApp
|
||||
Android.Gms.Internal.Constants
|
||||
Android.Gms.Internal.MLKitLanguageIdBundled
|
||||
Android.Gms.Location
|
||||
Android.Gms.Location.Places
|
||||
Android.Gms.Location.Places.UI
|
||||
Android.Gms.Maps
|
||||
Android.Gms.Maps.Model
|
||||
Android.Gms.Measurement
|
||||
Android.Gms.Measurement.Api
|
||||
Android.Gms.Measurement.Dynamite
|
||||
Android.Gms.Nearby
|
||||
Android.Gms.Nearby.Connection
|
||||
Android.Gms.Nearby.FastPair
|
||||
Android.Gms.Nearby.Messages
|
||||
Android.Gms.Nearby.Messages.Audio
|
||||
Android.Gms.Nearby.Uwb
|
||||
Android.Gms.Net
|
||||
Android.Gms.Oss.Licenses
|
||||
Android.Gms.Panorama
|
||||
Android.Gms.Pay
|
||||
Android.Gms.People.ProtoModel
|
||||
Android.Gms.Phenotype
|
||||
Android.Gms.Plus
|
||||
Android.Gms.Plus.Model.People
|
||||
Android.Gms.PredictOnDevice
|
||||
Android.Gms.PredictOnDevice.Component
|
||||
Android.Gms.Recaptcha
|
||||
Android.Gms.SafetyNet
|
||||
Android.Gms.Search
|
||||
Android.Gms.Security
|
||||
Android.Gms.SignIn
|
||||
Android.Gms.Stats
|
||||
Android.Gms.StreamProtect
|
||||
Android.Gms.Tagmanager
|
||||
Android.Gms.TagManager
|
||||
Android.Gms.Tasks
|
||||
Android.Gms.TfLite.Client
|
||||
Android.Gms.TfLite.Dynamite
|
||||
Android.Gms.TfLite.Dynamite.Acceleration
|
||||
Android.Gms.TfLite.Dynamite.Internal
|
||||
Android.Gms.TfLite.Gpu
|
||||
Android.Gms.TfLite.Gpu.Support
|
||||
Android.Gms.TfLite.Java
|
||||
Android.Gms.TfLite.NnApi
|
||||
Android.Gms.TfLite.Support
|
||||
Android.Gms.ThreadNetwork
|
||||
Android.Gms.Vision
|
||||
Android.Gms.Vision.Barcodes
|
||||
Android.Gms.Vision.Clearcut
|
||||
Android.Gms.Vision.Dynamite.Descriptors.Google.MLKit.Dynamite.Face
|
||||
Android.Gms.Vision.Dynamite.Descriptors.Google.MLKit.Dynamite.Text.Chinese
|
||||
Android.Gms.Vision.Dynamite.Descriptors.Google.MLKit.Dynamite.Text.Devanagari
|
||||
Android.Gms.Vision.Dynamite.Descriptors.Google.MLKit.Dynamite.Text.Japanese
|
||||
Android.Gms.Vision.Dynamite.Descriptors.Google.MLKit.Dynamite.Text.Korean
|
||||
Android.Gms.Vision.Dynamite.Descriptors.Google.MLKit.Dynamite.Text.Latin
|
||||
Android.Gms.Vision.Face
|
||||
Android.Gms.Vision.Faces
|
||||
Android.Gms.Vision.Faces.Internal.Client
|
||||
Android.Gms.Vision.Internal
|
||||
Android.Gms.Vision.Label
|
||||
Android.Gms.Vision.Label.Internal.Client
|
||||
Android.Gms.Vision.Texts
|
||||
Android.Gms.Wallet
|
||||
Android.Gms.Wallet.Button
|
||||
Android.Gms.Wallet.Contract
|
||||
Android.Gms.Wallet.Wobs
|
||||
Android.Gms.Wearable
|
||||
Android.Libraries.Vision.VisionKit.Pipeline
|
||||
Android.Support.CustomTabs
|
||||
Android.Support.Customtabs.Trusted
|
||||
Android.Support.V4.App
|
||||
|
@ -498,10 +711,253 @@ AndroidX.Work.Impl.Utils.Futures
|
|||
AndroidX.Work.Impl.Utils.TaskExecutor
|
||||
AndroidX.Work.Impl.Workers
|
||||
AndroidX.Work.MultiProcess
|
||||
Bumptech.Glide
|
||||
Bumptech.Glide.DiskLruCache
|
||||
Bumptech.Glide.GifDecoder
|
||||
Bumptech.Glide.Load
|
||||
Bumptech.Glide.Load.Data
|
||||
Bumptech.Glide.Load.Data.Mediastore
|
||||
Bumptech.Glide.Load.Engine
|
||||
Bumptech.Glide.Load.Engine.BitmapRecycle
|
||||
Bumptech.Glide.Load.Engine.Cache
|
||||
Bumptech.Glide.Load.Engine.Executor
|
||||
Bumptech.Glide.Load.Engine.Prefill
|
||||
Bumptech.Glide.Load.Model
|
||||
Bumptech.Glide.Load.Model.Stream
|
||||
Bumptech.Glide.Load.Resource
|
||||
Bumptech.Glide.Load.Resource.Bitmap
|
||||
Bumptech.Glide.Load.Resource.Bytes
|
||||
Bumptech.Glide.Load.Resource.Drawable
|
||||
Bumptech.Glide.Load.Resource.File
|
||||
Bumptech.Glide.Load.Resource.Gif
|
||||
Bumptech.Glide.Load.Resource.Transcode
|
||||
Bumptech.Glide.Manager
|
||||
Bumptech.Glide.Module
|
||||
Bumptech.Glide.Provider
|
||||
Bumptech.Glide.Request
|
||||
Bumptech.Glide.Request.Target
|
||||
Bumptech.Glide.Request.Transition
|
||||
Bumptech.Glide.Signature
|
||||
Bumptech.Glide.Util
|
||||
Bumptech.Glide.Util.Pool
|
||||
Dagger
|
||||
Dagger.Assisted
|
||||
Dagger.Internal
|
||||
Dagger.Multibindings
|
||||
Firebase
|
||||
Firebase.Abt
|
||||
Firebase.Abt.Component
|
||||
Firebase.Analytics
|
||||
Firebase.Analytics.Connector
|
||||
Firebase.Analytics.Connector.Internal
|
||||
Firebase.Analytics.Ktx
|
||||
Firebase.Analytics.Ktx.KtxTesting
|
||||
Firebase.Analytics.KtxTesting
|
||||
Firebase.Annotations
|
||||
Firebase.Annotations.Concurrent
|
||||
Firebase.AppCheck
|
||||
Firebase.AppCheck.Debug
|
||||
Firebase.AppCheck.Debug.Internal
|
||||
Firebase.AppCheck.Internal
|
||||
Firebase.AppCheck.Internal.Util
|
||||
Firebase.AppCheck.Interop
|
||||
Firebase.AppCheck.Ktx
|
||||
Firebase.AppCheck.PlayIntegrity
|
||||
Firebase.AppCheck.PlayIntegrity.Internal
|
||||
Firebase.AppCheck.SafetyNet
|
||||
Firebase.AppCheck.SafetyNet.Internal
|
||||
Firebase.AppIndexing
|
||||
Firebase.AppIndexing.Builders
|
||||
Firebase.AppIndexing.Internal
|
||||
Firebase.AppInvite
|
||||
Firebase.Auth
|
||||
Firebase.Auth.Internal
|
||||
Firebase.Auth.Ktx
|
||||
Firebase.Components
|
||||
Firebase.Concurrent
|
||||
Firebase.Crash
|
||||
Firebase.Crash.Component
|
||||
Firebase.Crashlytics
|
||||
Firebase.Crashlytics.Internal
|
||||
Firebase.Crashlytics.Internal.Analytics
|
||||
Firebase.Crashlytics.Internal.Breadcrumbs
|
||||
Firebase.Crashlytics.Internal.Common
|
||||
Firebase.Crashlytics.Internal.Metadata
|
||||
Firebase.Crashlytics.Internal.Model
|
||||
Firebase.Crashlytics.Internal.Model.Serialization
|
||||
Firebase.Crashlytics.Internal.Network
|
||||
Firebase.Crashlytics.Internal.Persistence
|
||||
Firebase.Crashlytics.Internal.Send
|
||||
Firebase.Crashlytics.Internal.Settings
|
||||
Firebase.Crashlytics.Internal.Stacktrace
|
||||
Firebase.Crashlytics.Ktx
|
||||
Firebase.Crashlytics.NDK
|
||||
Firebase.Database
|
||||
Firebase.Database.Android
|
||||
Firebase.Database.Annotations
|
||||
Firebase.Database.Collection
|
||||
Firebase.Database.Connection
|
||||
Firebase.Database.Connection.Util
|
||||
Firebase.Database.Core
|
||||
Firebase.Database.Core.Operation
|
||||
Firebase.Database.Core.Persistence
|
||||
Firebase.Database.Core.Utilities
|
||||
Firebase.Database.Core.Utilities.Encoding
|
||||
Firebase.Database.Core.Utilities.Tuple
|
||||
Firebase.Database.Core.View
|
||||
Firebase.Database.Core.View.Filter
|
||||
Firebase.Database.Ktx
|
||||
Firebase.Database.Logging
|
||||
Firebase.Database.Snapshot
|
||||
Firebase.Database.Tubesock
|
||||
Firebase.Database.Util
|
||||
Firebase.DataTransport
|
||||
Firebase.DynamicLinks
|
||||
Firebase.DynamicLinks.Internal
|
||||
Firebase.DynamicLinks.Ktx
|
||||
Firebase.DynamicLoading
|
||||
Firebase.Emulators
|
||||
Firebase.Encoders
|
||||
Firebase.Encoders.Annotations
|
||||
Firebase.Encoders.JSON
|
||||
Firebase.Encoders.Proto
|
||||
Firebase.Events
|
||||
Firebase.Firestore
|
||||
Firebase.Firestore.Auth
|
||||
Firebase.Firestore.Bundle
|
||||
Firebase.Firestore.Core
|
||||
Firebase.Firestore.Index
|
||||
Firebase.Firestore.Ktx
|
||||
Firebase.Firestore.Local
|
||||
Firebase.Firestore.Model
|
||||
Firebase.Firestore.Model.Mutation
|
||||
Firebase.Firestore.Proto
|
||||
Firebase.Firestore.Remote
|
||||
Firebase.Firestore.Util
|
||||
Firebase.Functions
|
||||
Firebase.Functions.Dagger
|
||||
Firebase.Functions.Dagger.Assisted
|
||||
Firebase.Functions.Dagger.Interal
|
||||
Firebase.Functions.Ktx
|
||||
Firebase.HeartBeatInfo
|
||||
Firebase.Iid
|
||||
Firebase.Iid.Internal
|
||||
Firebase.InAppMessaging
|
||||
Firebase.InAppMessaging.Dagger
|
||||
Firebase.InAppMessaging.Display
|
||||
Firebase.InAppMessaging.Display.Dagger
|
||||
Firebase.InAppMessaging.Display.Dagger.MultiBindings
|
||||
Firebase.InAppMessaging.Display.Internal
|
||||
Firebase.InAppMessaging.Display.Internal.BindingWrappers
|
||||
Firebase.InAppMessaging.Display.Internal.Injection.Components
|
||||
Firebase.InAppMessaging.Display.Internal.Injection.Keys
|
||||
Firebase.InAppMessaging.Display.Internal.Injection.Modules
|
||||
Firebase.InAppMessaging.Display.Internal.Injection.Scopes
|
||||
Firebase.InAppMessaging.Display.Internal.Layout
|
||||
Firebase.InAppMessaging.Display.Internal.Layout.Util
|
||||
Firebase.InAppMessaging.Display.Ktx
|
||||
Firebase.InAppMessaging.Internal
|
||||
Firebase.InAppMessaging.Internal.Injection.Components
|
||||
Firebase.InAppMessaging.Internal.Injection.Modules
|
||||
Firebase.InAppMessaging.Internal.Injection.Qualifiers
|
||||
Firebase.InAppMessaging.Internal.Injection.Scopes
|
||||
Firebase.InAppMessaging.Internal.Time
|
||||
Firebase.InAppMessaging.Ktx
|
||||
Firebase.InAppMessaging.Model
|
||||
Firebase.Inject
|
||||
Firebase.Installations
|
||||
Firebase.Installations.Internal
|
||||
Firebase.Installations.InterOp
|
||||
Firebase.Installations.Ktx
|
||||
Firebase.Installations.Local
|
||||
Firebase.Installations.Remote
|
||||
Firebase.Installations.Time
|
||||
Firebase.Internal
|
||||
Firebase.Internal.Api
|
||||
Firebase.Ktx
|
||||
Firebase.Logger
|
||||
Firebase.Messaging
|
||||
Firebase.Messaging.DirectBoot
|
||||
Firebase.Messaging.Ktx
|
||||
Firebase.Messaging.Reporting
|
||||
Firebase.Messaging.Threads
|
||||
Firebase.ML.Common
|
||||
Firebase.ML.Common.ModelDownload
|
||||
Firebase.ML.Custom
|
||||
Firebase.ML.Internal
|
||||
Firebase.ML.Internal.ModelDownload
|
||||
Firebase.ML.NaturalLanguage
|
||||
Firebase.ML.NaturalLanguage.LanguageId
|
||||
Firebase.ML.NaturalLanguage.LanguageId.Internal
|
||||
Firebase.ML.NaturalLanguage.SmartReply
|
||||
Firebase.ML.NaturalLanguage.Translate
|
||||
Firebase.ML.NaturalLanguage.Translate.Internal
|
||||
Firebase.ML.Vision
|
||||
Firebase.ML.Vision.AutoML
|
||||
Firebase.ML.Vision.AutoML.Internal
|
||||
Firebase.ML.Vision.Barcode
|
||||
Firebase.ML.Vision.Barcode.Internal
|
||||
Firebase.ML.Vision.Cloud
|
||||
Firebase.ML.Vision.Cloud.Landmark
|
||||
Firebase.ML.Vision.Common
|
||||
Firebase.ML.Vision.Document
|
||||
Firebase.ML.Vision.Dynamite.AutoML
|
||||
Firebase.ML.Vision.Face
|
||||
Firebase.ML.Vision.ImageLabel
|
||||
Firebase.ML.Vision.Label
|
||||
Firebase.ML.Vision.Objects
|
||||
Firebase.ML.Vision.Objects.Internal
|
||||
Firebase.ML.Vision.Text
|
||||
Firebase.Perf
|
||||
Firebase.Perf.Application
|
||||
Firebase.Perf.Config
|
||||
Firebase.Perf.Injection.Components
|
||||
Firebase.Perf.Injection.Modules
|
||||
Firebase.Perf.Ktx
|
||||
Firebase.Perf.Logging
|
||||
Firebase.Perf.Metrics
|
||||
Firebase.Perf.Metrics.Resource
|
||||
Firebase.Perf.Metrics.Validator
|
||||
Firebase.Perf.Network
|
||||
Firebase.Perf.Session
|
||||
Firebase.Perf.Session.Gauges
|
||||
Firebase.Perf.Transport
|
||||
Firebase.Perf.Util
|
||||
Firebase.Perf.V1
|
||||
Firebase.PlatformInfo
|
||||
Firebase.ProtoliteWrapper
|
||||
Firebase.Provider
|
||||
Firebase.RemoteConfig
|
||||
Firebase.RemoteConfig.Internal
|
||||
Firebase.RemoteConfig.Internal.Rollouts
|
||||
Firebase.RemoteConfig.InterOp
|
||||
Firebase.RemoteConfig.InterOp.Rollouts
|
||||
Firebase.RemoteConfig.Ktx
|
||||
Firebase.RemoteConfigInterOp
|
||||
Firebase.Sessions
|
||||
Firebase.Sessions.Api
|
||||
Firebase.Storage
|
||||
Firebase.Storage.Internal
|
||||
Firebase.Storage.Ktx
|
||||
Firebase.Storage.Network
|
||||
Firebase.Storage.Network.Connection
|
||||
Firebase.Tracing
|
||||
Firebase.Util
|
||||
Firebse.ML.Vision.Dynamite.Objects
|
||||
Firestore.Admin.V1
|
||||
Firestore.Bundle
|
||||
Google.Ads.Identifier
|
||||
Google.Ads.InteractiveMedia.Omid.Library.AdSession
|
||||
Google.Ads.InteractiveMedia.PAL
|
||||
Google.Ads.InteractiveMedia.PAL.Utils
|
||||
Google.Ads.InteractiveMedia.V3.Api
|
||||
Google.Ads.InteractiveMedia.V3.Api.Player
|
||||
Google.Ads.InteractiveMedia.V3.Api.Signals
|
||||
Google.Ads.InteractiveMedia.V3.Impl
|
||||
Google.Ads.InteractiveMedia.V3.Impl.Data
|
||||
Google.Ads.Mediation
|
||||
Google.Ads.Mediation.Admob
|
||||
Google.Ads.Nonagon.Util.Logging.Csi
|
||||
Google.Android.Libraries.AppActions.Service
|
||||
Google.Android.Material.Animation
|
||||
Google.Android.Material.AppBar
|
||||
|
@ -559,6 +1015,8 @@ Google.Android.Material.Tooltip
|
|||
Google.Android.Material.Transformation
|
||||
Google.Android.Material.Transition
|
||||
Google.Android.Material.Transition.Platform
|
||||
Google.AndroidLibraries.BarHopper
|
||||
Google.Api
|
||||
Google.Assistant.AppActions.Suggestions
|
||||
Google.Assistant.AppActions.Suggestions.Client
|
||||
Google.Assistant.AppActions.Widgets
|
||||
|
@ -566,8 +1024,20 @@ Google.Assistant.AppActions.Widgets.PinAppWidget
|
|||
Google.AutoValue.Annotations
|
||||
Google.AutoValue.Extension.Serializable
|
||||
Google.AutoValue.Extension.ToPrettyString
|
||||
Google.Cloud.Audit
|
||||
Google.Cloud.Datastore.Core.Number
|
||||
Google.Common.Util.Concurrent
|
||||
Google.Common.Util.Concurrent.Internal
|
||||
Google.Developers.Mobile.Targeting.Proto
|
||||
Google.Firestore.V1
|
||||
Google.Geo.Type
|
||||
Google.Internal.Firebase.InAppMessaging.V1
|
||||
Google.Internal.Firebase.InAppMessaging.V1.SdkServing
|
||||
Google.Logging.Type
|
||||
Google.Longrunning
|
||||
Google.Rpc
|
||||
Google.Rpc.Context
|
||||
Google.Type
|
||||
Google.ZXing
|
||||
Google.ZXing.Aztec
|
||||
Google.ZXing.Aztec.Decoder
|
||||
|
@ -611,6 +1081,7 @@ Javax.Annotation.Concurrent
|
|||
Javax.Annotation.Meta
|
||||
JavaX.Inject
|
||||
JetBrains.Annotations
|
||||
JWT
|
||||
Kotlin
|
||||
Kotlin.Annotation
|
||||
Kotlin.Collections
|
||||
|
@ -759,8 +1230,14 @@ Square.Retrofit2.Adapter.RxJava2
|
|||
Square.Retrofit2.Converter.Gson
|
||||
Square.Retrofit2.Converter.Scalars
|
||||
Square.Retrofit2.Http
|
||||
Volley
|
||||
Volley.CroNet
|
||||
Volley.Toolbox
|
||||
Xamarin.Android.InstallReferrer.Api
|
||||
Xamarin.Android.InstallReferrer.Commons
|
||||
Xamarin.Android.Libraries.Intelligence.Acceleration
|
||||
Xamarin.Android.Libraries.Intelligence.Acceleration.Process
|
||||
Xamarin.Android.Libraries.Vision.VisionKit.Pipeline
|
||||
Xamarin.AopAlliance.Aop
|
||||
Xamarin.AopAlliance.Intercept
|
||||
Xamarin.Brotli.Dec
|
||||
|
@ -806,6 +1283,33 @@ Xamarin.Google.Android.DataTransport.Runtime.Synchronization
|
|||
Xamarin.Google.Android.DataTransport.Runtime.Time
|
||||
Xamarin.Google.Android.DataTransport.Runtime.Util
|
||||
Xamarin.Google.Android.Finsky.ExternalReferrer
|
||||
Xamarin.Google.Android.Odml.Image
|
||||
Xamarin.Google.Android.Play.Asset.Delivery
|
||||
Xamarin.Google.Android.Play.Core
|
||||
Xamarin.Google.Android.Play.Core.AppUpdate
|
||||
Xamarin.Google.Android.Play.Core.AppUpdate.Install
|
||||
Xamarin.Google.Android.Play.Core.AppUpdate.Install.Model
|
||||
Xamarin.Google.Android.Play.Core.AppUpdate.Testing
|
||||
Xamarin.Google.Android.Play.Core.AssetPacks
|
||||
Xamarin.Google.Android.Play.Core.AssetPacks.Model
|
||||
Xamarin.Google.Android.Play.Core.Common
|
||||
Xamarin.Google.Android.Play.Core.Install
|
||||
Xamarin.Google.Android.Play.Core.Install.Model
|
||||
Xamarin.Google.Android.Play.Core.Integrity
|
||||
Xamarin.Google.Android.Play.Core.Integrity.Model
|
||||
Xamarin.Google.Android.Play.Core.Ktx
|
||||
Xamarin.Google.Android.Play.Core.Listener
|
||||
Xamarin.Google.Android.Play.Core.MissingSplits
|
||||
Xamarin.Google.Android.Play.Core.Review
|
||||
Xamarin.Google.Android.Play.Core.Review.Model
|
||||
Xamarin.Google.Android.Play.Core.Review.Testing
|
||||
Xamarin.Google.Android.Play.Core.SplitCompat
|
||||
Xamarin.Google.Android.Play.Core.SplitInstall
|
||||
Xamarin.Google.Android.Play.Core.SplitInstall.Model
|
||||
Xamarin.Google.Android.Play.Core.SplitInstall.Testing
|
||||
Xamarin.Google.Android.Play.Core.Tasks
|
||||
Xamarin.Google.Android.Play.Feature.Delivery
|
||||
Xamarin.Google.Android.Recaptcha
|
||||
Xamarin.Google.Crypto.Tink
|
||||
Xamarin.Google.Crypto.Tink.Aead
|
||||
Xamarin.Google.Crypto.Tink.Aead.Internal
|
||||
|
@ -858,7 +1362,87 @@ Xamarin.Google.Inject.Multibindings
|
|||
Xamarin.Google.Inject.Name
|
||||
Xamarin.Google.Inject.Spi
|
||||
Xamarin.Google.Inject.Util
|
||||
Xamarin.Google.MLKit.Barhopper
|
||||
Xamarin.Google.MLKit.Common
|
||||
Xamarin.Google.MLKit.Common.Internal
|
||||
Xamarin.Google.MLKit.Common.Internal.Model
|
||||
Xamarin.Google.MLKit.Common.Model
|
||||
Xamarin.Google.MLKit.Common.SDKInternal
|
||||
Xamarin.Google.MLKit.Common.SDKInternal.Model
|
||||
Xamarin.Google.MLKit.LinkFirebase
|
||||
Xamarin.Google.MLKit.LinkFirebase.Internal
|
||||
Xamarin.Google.MLKit.NL.LanguageId
|
||||
Xamarin.Google.MLKit.NL.LanguageId.Bundled.Internal
|
||||
Xamarin.Google.MLKit.NL.LanguageId.Internal
|
||||
Xamarin.Google.MLKit.NL.LanguageId.Thin.Internal
|
||||
Xamarin.Google.MLKit.NL.SmartReply
|
||||
Xamarin.Google.MLKit.NL.SmartReply.Internal
|
||||
Xamarin.Google.MLKit.NL.SmartReply.JNI
|
||||
Xamarin.Google.MLKit.NL.Translate
|
||||
Xamarin.Google.MLKit.NL.Translate.Internal
|
||||
Xamarin.Google.MLKit.ObjectDetection.Additions
|
||||
Xamarin.Google.MLKit.Vision.BarCode
|
||||
Xamarin.Google.MLKit.Vision.Barcode.Common
|
||||
Xamarin.Google.MLKit.Vision.Barcode.Common.Internal
|
||||
Xamarin.Google.MLKit.Vision.BarCode.Internal
|
||||
Xamarin.Google.MLKit.Vision.CodeScanner
|
||||
Xamarin.Google.MLKit.Vision.CodeScanner.Internal
|
||||
Xamarin.Google.MLKit.Vision.Common
|
||||
Xamarin.Google.MLKit.Vision.Common.Internal
|
||||
Xamarin.Google.MLKit.Vision.DigitalInk
|
||||
Xamarin.Google.MLKit.Vision.DigitalInk.Downloading
|
||||
Xamarin.Google.MLKit.Vision.DigitalInk.Internal
|
||||
Xamarin.Google.MLKit.Vision.Face
|
||||
Xamarin.Google.MLKit.Vision.Face.Internal
|
||||
Xamarin.Google.MLKit.Vision.Interfaces
|
||||
Xamarin.Google.MLKit.Vision.Label
|
||||
Xamarin.Google.MLKit.Vision.Label.AutoML
|
||||
Xamarin.Google.MLKit.Vision.Label.AutoML.Internal
|
||||
Xamarin.Google.MLKit.Vision.Label.Custom
|
||||
Xamarin.Google.MLKit.Vision.Label.Custom.Internal
|
||||
Xamarin.Google.MLKit.Vision.Label.Defaults
|
||||
Xamarin.Google.MLKit.Vision.Label.Defaults.Internal
|
||||
Xamarin.Google.MLKit.Vision.Label.Defaults.Thin
|
||||
Xamarin.Google.MLKit.Vision.Label.Internal
|
||||
Xamarin.Google.MLKit.Vision.MediaPipe
|
||||
Xamarin.Google.MLKit.Vision.MediaPipe.Pose
|
||||
Xamarin.Google.MLKit.Vision.MediaPipe.Segmentation
|
||||
Xamarin.Google.MLKit.Vision.MediaPipe.Utils
|
||||
Xamarin.Google.MLKit.Vision.Objects
|
||||
Xamarin.Google.MLKit.Vision.Objects.Custom
|
||||
Xamarin.Google.MLKit.Vision.Objects.Custom.Internal
|
||||
Xamarin.Google.MLKit.Vision.Objects.Defaults
|
||||
Xamarin.Google.MLKit.Vision.Objects.Defaults.Internal
|
||||
Xamarin.Google.MLKit.Vision.Objects.Internal
|
||||
Xamarin.Google.MLKit.Vision.Pose
|
||||
Xamarin.Google.MLKit.Vision.Pose.Accurate
|
||||
Xamarin.Google.MLKit.Vision.Pose.Defaults
|
||||
Xamarin.Google.MLKit.Vision.Pose.Internal
|
||||
Xamarin.Google.MLKit.Vision.Text
|
||||
Xamarin.Google.MLKit.Vision.Text.Chinese
|
||||
Xamarin.Google.MLKit.Vision.Text.Devanagari
|
||||
Xamarin.Google.MLKit.Vision.Text.Internal
|
||||
Xamarin.Google.MLKit.Vision.Text.Japanese
|
||||
Xamarin.Google.MLKit.Vision.Text.Korean
|
||||
Xamarin.Google.MLKit.Vision.Text.Latin
|
||||
Xamarin.Google.MLKit.Vision.Text.Pipeline
|
||||
Xamarin.Google.MLKit.Vision.Vkp
|
||||
Xamarin.Google.Research.Xeno.Effect
|
||||
Xamarin.Google.UserMesssagingPlatform
|
||||
Xamarin.GoogleAndroid.Libraries.Identity.GoogleId
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Api
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Api.Model
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Api.Net
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Compat
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Compat.UI
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Widget
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Widget.Internal.UI
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Widget.Listener
|
||||
Xamarin.GoogleAndroid.Libraries.Places.Widget.Model
|
||||
Xamarin.GoogleAndroid.Libraries.Vision.VisionKit.Pipeline
|
||||
Xamarin.GoogleAndroid.Libraries.Vision.VisionKit.Pipeline.Alt
|
||||
Xamarin.GoogleAndroid.TV.Ads
|
||||
Xamarin.GoogleAndroid.TV.Ads.Controls
|
||||
Xamarin.Grpc
|
||||
Xamarin.Grpc.Android
|
||||
Xamarin.Grpc.Core.InProcess
|
||||
|
|
|
@ -1,31 +1,49 @@
|
|||
<metadata>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setSessionActivity' and count(parameter)=1 and parameter[1][@type='android.app.PendingIntent']]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setId' and count(parameter)=1 and parameter[1][@type='java.lang.String']]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setExtras' and count(parameter)=1 and parameter[1][@type='android.os.Bundle']]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setBitmapLoader' and count(parameter)=1 and parameter[1][@type='androidx.media3.session.BitmapLoader']]"
|
||||
/>
|
||||
<metadata>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setSessionActivity' and count(parameter)=1 and parameter[1][@name='p0']]"
|
||||
name="managedName"
|
||||
>
|
||||
SetSessionActivityAsBuilder
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setId' and count(parameter)=1 and parameter[1][@name='p0']]"
|
||||
name="managedName"
|
||||
>
|
||||
SetIdWithIntAsBuilder
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setExtras' and count(parameter)=1 and parameter[1][@name='p0']]"
|
||||
name="managedName"
|
||||
>
|
||||
SetExtrasWithBundleAsBuilder
|
||||
</attr>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='build' and count(parameter)=0]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setSessionActivity' and count(parameter)=1 and parameter[1][@type='android.app.PendingIntent']]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setId' and count(parameter)=1 and parameter[1][@type='java.lang.String']]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setExtras' and count(parameter)=1 and parameter[1][@type='android.os.Bundle']]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setBitmapLoader' and count(parameter)=1 and parameter[1][@type='androidx.media3.session.BitmapLoader']]"
|
||||
/>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setSessionActivity' and count(parameter)=1 and parameter[1][@name='p0']]"
|
||||
name="managedName"
|
||||
>
|
||||
SetSessionActivityWithPendingIntent
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setId' and count(parameter)=1 and parameter[1][@name='p0']]"
|
||||
name="managedName"
|
||||
>
|
||||
SetIdAsBuilder
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setExtras' and count(parameter)=1 and parameter[1][@name='p0']]"
|
||||
name="managedName"
|
||||
>
|
||||
SetExtrasWithBundle
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaSession.Builder']/method[@name='setBitmapLoader' and count(parameter)=1 and parameter[1][@type='p0']]"
|
||||
name="managedName"
|
||||
>
|
||||
SetBitmapLoader
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService']/method[@name='onGetSession' and count(parameter)=1 and parameter[1][@type='androidx.media3.session.MediaSession.ControllerInfo']]"
|
||||
name="managedReturn"
|
||||
|
@ -89,7 +107,6 @@
|
|||
>
|
||||
SetShowPlayButtonIfPlaybackIsSuppressedBuilder
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='androidx.media3.session']/class[@name='MediaLibraryService.MediaLibrarySession.Builder']/method[@name='setPeriodicPositionUpdateEnabled' and @return='androidx.media3.session.MediaLibraryService.MediaLibrarySession.Builder' and count(parameter)=1 and parameter[1][@type='boolean']]"
|
||||
name="managedName"
|
||||
|
@ -108,5 +125,4 @@
|
|||
>
|
||||
SetShowPlayButtonIfPlaybackIsSuppressedBuilder
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,54 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
<mapping clr-enum-type="Android.BillingClient.Api.ChildDirectedTypes" jni-interface="com/android/billingclient/api/BillingClient$ChildDirected">
|
||||
<field clr-name="Directed" jni-name="CHILD_DIRECTED" value="1" />
|
||||
<field clr-name="NotDirected" jni-name="NOT_CHILD_DIRECTED" value="2" />
|
||||
<field clr-name="Unspecified" jni-name="UNSPECIFIED" value="0" />
|
||||
</mapping>
|
||||
|
||||
<mapping clr-enum-type="Android.BillingClient.Api.UnderAgeOfConsentTypes" jni-interface="com/android/billingclient/api/BillingClient$UnderAgeOfConsent">
|
||||
<field clr-name="NotUnderAgeOfConsent" jni-name="NOT_UNDER_AGE_OF_CONSENT" value="2" />
|
||||
<field clr-name="UnderAgeOfConsent" jni-name="UNDER_AGE_OF_CONSENT" value="1" />
|
||||
<field clr-name="Unspecified" jni-name="UNSPECIFIED" value="0" />
|
||||
</mapping>
|
||||
|
||||
<mapping clr-enum-type="Android.BillingClient.Api.PurchaseState" jni-interface="com/android/billingclient/api/Purchase$PurchaseState">
|
||||
<field clr-name="Pending" jni-name="PENDING" value="2" />
|
||||
<field clr-name="Purchased" jni-name="PURCHASED" value="1" />
|
||||
<field clr-name="Unspecified" jni-name="UNSPECIFIED_STATE" value="0" />
|
||||
</mapping>
|
||||
|
||||
|
||||
|
||||
|
||||
<mapping clr-enum-type="Android.BillingClient.Api.BillingResponseCode" jni-interface="com/android/billingclient/api/BillingClient$BillingResponseCode">
|
||||
<field clr-name="BillingUnavailable" jni-name="BILLING_UNAVAILABLE" value="3" />
|
||||
<field clr-name="DeveloperError" jni-name="DEVELOPER_ERROR" value="5" />
|
||||
<field clr-name="Error" jni-name="ERROR" value="6" />
|
||||
<field clr-name="FeatureNotSupported" jni-name="FEATURE_NOT_SUPPORTED" value="-2" />
|
||||
<field clr-name="ItemAlreadyOwned" jni-name="ITEM_ALREADY_OWNED" value="7" />
|
||||
<field clr-name="ItemNotOwned" jni-name="ITEM_NOT_OWNED" value="8" />
|
||||
<field clr-name="ItemUnavailable" jni-name="ITEM_UNAVAILABLE" value="4" />
|
||||
<field clr-name="Ok" jni-name="OK" value="0" />
|
||||
<field clr-name="ServiceDisconnected" jni-name="SERVICE_DISCONNECTED" value="-1" />
|
||||
<field clr-name="ServiceTimeout" jni-name="SERVICE_TIMEOUT" value="-3" />
|
||||
<field clr-name="ServiceUnavailable" jni-name="SERVICE_UNAVAILABLE" value="2" />
|
||||
<field clr-name="UserCancelled" jni-name="USER_CANCELED" value="1" />
|
||||
|
||||
</mapping>
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,31 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
|
||||
<mapping jni-class="com/android/billingclient/api/BillingClient.Builder">
|
||||
<method jni-name="setChildDirected" parameter="childDirected" clr-enum-type="Android.BillingClient.Api.ChildDirectedTypes" />
|
||||
<method jni-name="setUnderAgeOfConsent" parameter="underAgeOfConsent" clr-enum-type="Android.BillingClient.Api.UnderAgeOfConsentTypes" />
|
||||
</mapping>
|
||||
|
||||
<mapping jni-class="com/android/billingclient/api/BillingResult">
|
||||
<method jni-name="getResponseCode" parameter="return" clr-enum-type="Android.BillingClient.Api.BillingResponseCode" />
|
||||
</mapping>
|
||||
|
||||
<mapping jni-class="com/android/billingclient/api/Purchase">
|
||||
<method jni-name="getPurchaseState" parameter="return" clr-enum-type="Android.BillingClient.Api.PurchaseState" />
|
||||
</mapping>
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,21 @@
|
|||
<metadata>
|
||||
<!-- namespaces -->
|
||||
<attr
|
||||
path="/api/package[@name='com.android.billingclient']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.BillingClient
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.android.billingclient.api']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.BillingClient.Api
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.android.billingclient.ktx']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.BillingClient.Ktx
|
||||
</attr>
|
||||
</metadata>
|
|
@ -0,0 +1,292 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Android.BillingClient.Api
|
||||
{
|
||||
public class ConsumeResult
|
||||
{
|
||||
public BillingResult BillingResult { get; set; }
|
||||
|
||||
public string PurchaseToken { get; set; }
|
||||
}
|
||||
|
||||
public class QueryPurchaseHistoryResult
|
||||
{
|
||||
public BillingResult Result { get; set; }
|
||||
|
||||
public IList<PurchaseHistoryRecord> PurchaseHistoryRecords { get; set; }
|
||||
}
|
||||
|
||||
[Obsolete("Use QueryProductDetailsAsync(QueryProductDetailsParams) instead")]
|
||||
public class QuerySkuDetailsResult
|
||||
{
|
||||
public BillingResult Result { get; set; }
|
||||
|
||||
public IList<SkuDetails> SkuDetails { get; set; }
|
||||
}
|
||||
|
||||
public class QueryProductDetailsResult
|
||||
{
|
||||
public BillingResult Result { get; set; }
|
||||
|
||||
public IList<ProductDetails> ProductDetails { get; set; }
|
||||
}
|
||||
|
||||
public class QueryPurchasesResult
|
||||
{
|
||||
public BillingResult Result { get; set; }
|
||||
|
||||
public IList<Purchase> Purchases { get; set; }
|
||||
}
|
||||
|
||||
public partial class BillingClient
|
||||
{
|
||||
public partial class Builder
|
||||
{
|
||||
InternalPurchasesUpdatedListener purchasesUpdatedListener;
|
||||
|
||||
public void SetListener(Action<BillingResult, IList<Purchase>> handler)
|
||||
{
|
||||
purchasesUpdatedListener = new InternalPurchasesUpdatedListener
|
||||
{
|
||||
PurchasesUpdatedHandler = (r, p) => handler?.Invoke(r, p)
|
||||
};
|
||||
|
||||
SetListener(purchasesUpdatedListener);
|
||||
}
|
||||
}
|
||||
|
||||
public Task<BillingResult> AcknowledgePurchaseAsync(AcknowledgePurchaseParams acknowledgePurchaseParams)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<BillingResult>();
|
||||
|
||||
var listener = new InternalAcknowledgePurchaseResponseListener
|
||||
{
|
||||
AcknowledgePurchaseResponseHandler = r => tcs.TrySetResult(r)
|
||||
};
|
||||
|
||||
AcknowledgePurchase(acknowledgePurchaseParams, listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
public Task<ConsumeResult> ConsumeAsync(ConsumeParams consumeParams)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<ConsumeResult>();
|
||||
|
||||
var listener = new InternalConsumeResponseListener
|
||||
{
|
||||
ConsumeResponseHandler = (r, s) => tcs.TrySetResult(new ConsumeResult
|
||||
{
|
||||
BillingResult = r,
|
||||
PurchaseToken = s
|
||||
})
|
||||
};
|
||||
|
||||
Consume(consumeParams, listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
[Obsolete("Use QueryPurchaseHistoryAsync(QueryPurchaseHistoryParams) instead")]
|
||||
public Task<QueryPurchaseHistoryResult> QueryPurchaseHistoryAsync(string skuType)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<QueryPurchaseHistoryResult>();
|
||||
|
||||
var listener = new InternalPurchaseHistoryResponseListener
|
||||
{
|
||||
PurchaseHistoryResponseHandler = (r, h) => tcs.TrySetResult(new QueryPurchaseHistoryResult
|
||||
{
|
||||
Result = r,
|
||||
PurchaseHistoryRecords = h
|
||||
})
|
||||
};
|
||||
|
||||
QueryPurchaseHistory(skuType, listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
public Task<QueryPurchaseHistoryResult> QueryPurchaseHistoryAsync(QueryPurchaseHistoryParams queryPurchaseHistoryParams)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<QueryPurchaseHistoryResult>();
|
||||
|
||||
var listener = new InternalPurchaseHistoryResponseListener
|
||||
{
|
||||
PurchaseHistoryResponseHandler = (r, h) => tcs.TrySetResult(new QueryPurchaseHistoryResult
|
||||
{
|
||||
Result = r,
|
||||
PurchaseHistoryRecords = h
|
||||
})
|
||||
};
|
||||
|
||||
QueryPurchaseHistory(queryPurchaseHistoryParams, listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
[Obsolete("Use QueryProductDetailsAsync(QueryProductDetailsParams) instead")]
|
||||
public Task<QuerySkuDetailsResult> QuerySkuDetailsAsync(SkuDetailsParams skuDetailsParams)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<QuerySkuDetailsResult>();
|
||||
|
||||
var listener = new InternalSkuDetailsResponseListener
|
||||
{
|
||||
SkuDetailsResponseHandler = (r, s) => tcs.TrySetResult(new QuerySkuDetailsResult
|
||||
{
|
||||
Result = r,
|
||||
SkuDetails = s
|
||||
})
|
||||
};
|
||||
|
||||
QuerySkuDetails(skuDetailsParams, listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
public Task<QueryProductDetailsResult> QueryProductDetailsAsync(QueryProductDetailsParams productDetailsParams)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<QueryProductDetailsResult>();
|
||||
|
||||
var listener = new InternalProductDetailsResponseListener
|
||||
{
|
||||
ProductDetailsResponseHandler = (r, s) => tcs.TrySetResult(new QueryProductDetailsResult
|
||||
{
|
||||
Result = r,
|
||||
ProductDetails = s
|
||||
})
|
||||
};
|
||||
|
||||
QueryProductDetails(productDetailsParams, listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
public Task<QueryPurchasesResult> QueryPurchasesAsync(QueryPurchasesParams purchasesParams)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<QueryPurchasesResult>();
|
||||
|
||||
var listener = new InternalPurchasesResponseListener
|
||||
{
|
||||
PurchasesResponseHandler = (r, s) => tcs.TrySetResult(new QueryPurchasesResult
|
||||
{
|
||||
Result = r,
|
||||
Purchases = s
|
||||
})
|
||||
};
|
||||
|
||||
QueryPurchases(purchasesParams, listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
public Task<BillingResult> StartConnectionAsync(Action onDisconnected = null)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<BillingResult>();
|
||||
|
||||
var listener = new InternalBillingClientStateListener
|
||||
{
|
||||
BillingServiceDisconnectedHandler = () =>
|
||||
{
|
||||
onDisconnected?.Invoke();
|
||||
tcs.TrySetResult(null);
|
||||
},
|
||||
BillingSetupFinishedHandler = r =>
|
||||
tcs.TrySetResult(r)
|
||||
};
|
||||
|
||||
StartConnection(listener);
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
public void StartConnection(Action<BillingResult> setupFinished, Action onDisconnected)
|
||||
{
|
||||
var listener = new InternalBillingClientStateListener
|
||||
{
|
||||
BillingServiceDisconnectedHandler = () =>
|
||||
onDisconnected?.Invoke(),
|
||||
BillingSetupFinishedHandler = r =>
|
||||
setupFinished?.Invoke(r)
|
||||
};
|
||||
|
||||
StartConnection(listener);
|
||||
}
|
||||
}
|
||||
|
||||
internal class InternalAcknowledgePurchaseResponseListener : Java.Lang.Object, IAcknowledgePurchaseResponseListener
|
||||
{
|
||||
public Action<BillingResult> AcknowledgePurchaseResponseHandler { get; set; }
|
||||
|
||||
public void OnAcknowledgePurchaseResponse(BillingResult result)
|
||||
=> AcknowledgePurchaseResponseHandler?.Invoke(result);
|
||||
}
|
||||
|
||||
internal class InternalBillingClientStateListener : Java.Lang.Object, IBillingClientStateListener
|
||||
{
|
||||
public Action BillingServiceDisconnectedHandler { get; set; }
|
||||
|
||||
public Action<BillingResult> BillingSetupFinishedHandler { get; set; }
|
||||
|
||||
public void OnBillingServiceDisconnected()
|
||||
=> BillingServiceDisconnectedHandler?.Invoke();
|
||||
|
||||
public void OnBillingSetupFinished(BillingResult result)
|
||||
=> BillingSetupFinishedHandler?.Invoke(result);
|
||||
}
|
||||
|
||||
internal class InternalConsumeResponseListener : Java.Lang.Object, IConsumeResponseListener
|
||||
{
|
||||
public Action<BillingResult, string> ConsumeResponseHandler { get; set; }
|
||||
public void OnConsumeResponse(BillingResult result, string str)
|
||||
=> ConsumeResponseHandler?.Invoke(result, str);
|
||||
}
|
||||
|
||||
internal class InternalPriceChangeConfirmationListener : Java.Lang.Object //, IPriceChangeConfirmationListener
|
||||
{
|
||||
public Action<BillingResult> PriceChangeConfirmationHandler { get; set; }
|
||||
public void OnPriceChangeConfirmationResult(BillingResult result)
|
||||
=> PriceChangeConfirmationHandler?.Invoke(result);
|
||||
}
|
||||
|
||||
internal class InternalPurchaseHistoryResponseListener : Java.Lang.Object, IPurchaseHistoryResponseListener
|
||||
{
|
||||
public Action<BillingResult, IList<PurchaseHistoryRecord>> PurchaseHistoryResponseHandler { get; set; }
|
||||
|
||||
public void OnPurchaseHistoryResponse(BillingResult result, IList<PurchaseHistoryRecord> history)
|
||||
=> PurchaseHistoryResponseHandler?.Invoke(result, history);
|
||||
}
|
||||
|
||||
internal class InternalPurchasesUpdatedListener : Java.Lang.Object, IPurchasesUpdatedListener
|
||||
{
|
||||
public Action<BillingResult, IList<Purchase>> PurchasesUpdatedHandler { get; set; }
|
||||
public void OnPurchasesUpdated(BillingResult result, IList<Purchase> purchases)
|
||||
=> PurchasesUpdatedHandler?.Invoke(result, purchases);
|
||||
}
|
||||
|
||||
[Obsolete("Use QueryProductDetailsAsync(QueryProductDetailsParams) instead")]
|
||||
internal class InternalSkuDetailsResponseListener : Java.Lang.Object, ISkuDetailsResponseListener
|
||||
{
|
||||
public Action<BillingResult, IList<SkuDetails>> SkuDetailsResponseHandler { get; set; }
|
||||
|
||||
public void OnSkuDetailsResponse(BillingResult result, IList<SkuDetails> skuDetails)
|
||||
=> SkuDetailsResponseHandler?.Invoke(result, skuDetails);
|
||||
}
|
||||
|
||||
internal class InternalProductDetailsResponseListener : Java.Lang.Object, IProductDetailsResponseListener
|
||||
{
|
||||
public Action<BillingResult, IList<ProductDetails>> ProductDetailsResponseHandler { get; set; }
|
||||
|
||||
public void OnProductDetailsResponse(BillingResult result, IList<ProductDetails> skuDetails)
|
||||
=> ProductDetailsResponseHandler?.Invoke(result, skuDetails);
|
||||
}
|
||||
|
||||
internal class InternalPurchasesResponseListener : Java.Lang.Object, IPurchasesResponseListener
|
||||
{
|
||||
public Action<BillingResult, IList<Purchase>> PurchasesResponseHandler { get; set; }
|
||||
|
||||
public void OnQueryPurchasesResponse(BillingResult result, IList<Purchase> purchases)
|
||||
=> PurchasesResponseHandler?.Invoke(result, purchases);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
<enum-field-mappings>
|
||||
<mapping clr-enum-type="Android.BillingClient.Api.PurchaseState" jni-interface="com/android/billingclient/api/Purchase$PurchaseState">
|
||||
<field clr-name="Pending" jni-name="PENDING" value="2" />
|
||||
<field clr-name="Purchased" jni-name="PURCHASED" value="1" />
|
||||
<field clr-name="Unspecified" jni-name="UNSPECIFIED_STATE" value="0" />
|
||||
</mapping>
|
||||
|
||||
<mapping clr-enum-type="Android.BillingClient.Api.ConnectionState" jni-interface="com/android/billingclient/api/BillingClient$ConnectionState">
|
||||
<field clr-name="Closed" jni-name="CLOSED" value="3" />
|
||||
<field clr-name="Connected" jni-name="CONNECTED" value="2" />
|
||||
<field clr-name="Connecting" jni-name="CONNECTING" value="1" />
|
||||
<field clr-name="Disconnected" jni-name="DISCONNECTED" value="0" />
|
||||
</mapping>
|
||||
|
||||
<mapping clr-enum-type="Android.BillingClient.Api.BillingResponseCode" jni-interface="com/android/billingclient/api/BillingClient$BillingResponseCode">
|
||||
<field clr-name="BillingUnavailable" jni-name="BILLING_UNAVAILABLE" value="3" />
|
||||
<field clr-name="DeveloperError" jni-name="DEVELOPER_ERROR" value="5" />
|
||||
<field clr-name="Error" jni-name="ERROR" value="6" />
|
||||
<field clr-name="FeatureNotSupported" jni-name="FEATURE_NOT_SUPPORTED" value="-2" />
|
||||
<field clr-name="ItemAlreadyOwned" jni-name="ITEM_ALREADY_OWNED" value="7" />
|
||||
<field clr-name="ItemNotOwned" jni-name="ITEM_NOT_OWNED" value="8" />
|
||||
<field clr-name="ItemUnavailable" jni-name="ITEM_UNAVAILABLE" value="4" />
|
||||
<field clr-name="NetworkError" jni-name="NETWORK_ERROR" value="12" />
|
||||
<field clr-name="Ok" jni-name="OK" value="0" />
|
||||
<field clr-name="ServiceDisconnected" jni-name="SERVICE_DISCONNECTED" value="-1" />
|
||||
<field clr-name="ServiceTimeout" jni-name="SERVICE_TIMEOUT" value="-3" />
|
||||
<field clr-name="ServiceUnavailable" jni-name="SERVICE_UNAVAILABLE" value="2" />
|
||||
<field clr-name="UserCancelled" jni-name="USER_CANCELED" value="1" />
|
||||
</mapping>
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,13 @@
|
|||
<enum-method-mappings>
|
||||
<mapping jni-class="com/android/billingclient/api/BillingResult">
|
||||
<method jni-name="getResponseCode" parameter="return" clr-enum-type="Android.BillingClient.Api.BillingResponseCode" />
|
||||
</mapping>
|
||||
|
||||
<mapping jni-class="com/android/billingclient/api/BillingClient">
|
||||
<method jni-name="getConnectionState" parameter="return" clr-enum-type="Android.BillingClient.Api.ConnectionState" />
|
||||
</mapping>
|
||||
|
||||
<mapping jni-class="com/android/billingclient/api/Purchase">
|
||||
<method jni-name="getPurchaseState" parameter="return" clr-enum-type="Android.BillingClient.Api.PurchaseState" />
|
||||
</mapping>
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,15 @@
|
|||
<metadata>
|
||||
<!-- namespaces -->
|
||||
<attr path="/api/package[@name='com.android.billingclient']" name="managedName">Android.BillingClient</attr>
|
||||
<attr path="/api/package[@name='com.android.billingclient.api']" name="managedName">Android.BillingClient.Api</attr>
|
||||
|
||||
<!-- These just produce warnings but aren't part of the public API -->
|
||||
<remove-node path="/api/package[@name='com.android.billingclient.api']/class[@name='QueryProductDetailsParams']/method[@name='zza' and count(parameter)=0]" />
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.internal.play_billing']" />
|
||||
|
||||
<attr path="/api/package[@name='com.android.billingclient.api']/class[@name='BillingClient']/method[@name='consumeAsync']" name="managedName">Consume</attr>
|
||||
<attr path="/api/package[@name='com.android.billingclient.api']/class[@name='BillingClient']/method[@name='queryPurchaseHistoryAsync']" name="managedName">QueryPurchaseHistory</attr>
|
||||
<attr path="/api/package[@name='com.android.billingclient.api']/class[@name='BillingClient']/method[@name='querySkuDetailsAsync']" name="managedName">QuerySkuDetails</attr>
|
||||
<attr path="/api/package[@name='com.android.billingclient.api']/class[@name='BillingClient']/method[@name='queryProductDetailsAsync']" name="managedName">QueryProductDetails</attr>
|
||||
<attr path="/api/package[@name='com.android.billingclient.api']/class[@name='BillingClient']/method[@name='queryPurchasesAsync']" name="managedName">QueryPurchases</attr>
|
||||
</metadata>
|
|
@ -0,0 +1,4 @@
|
|||
using System;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Android.Graphics;
|
|
@ -0,0 +1,2 @@
|
|||
<enum-field-mappings>
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,2 @@
|
|||
<enum-method-mappings>
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,17 @@
|
|||
<metadata>
|
||||
<!--
|
||||
<attr
|
||||
path="/api/package[@name='package']"
|
||||
name="managedName"
|
||||
>
|
||||
Package
|
||||
</attr>
|
||||
-->
|
||||
<attr
|
||||
path="/api/package[@name='com.android.volley.cronet']"
|
||||
name="managedName"
|
||||
>
|
||||
Volley.CroNet
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,2 @@
|
|||
<metadata>
|
||||
</metadata>
|
|
@ -0,0 +1,3 @@
|
|||
<metadata>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,10 @@
|
|||
using System;
|
||||
|
||||
namespace Volley.Toolbox {
|
||||
public partial class StringRequest {
|
||||
protected override void DeliverResponse (Java.Lang.Object response)
|
||||
{
|
||||
DeliverResponse ((string)response);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
<enum-field-mappings>
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,2 @@
|
|||
<enum-method-mappings>
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,11 @@
|
|||
<metadata>
|
||||
<!--
|
||||
<attr
|
||||
path="/api/package[@name='package']"
|
||||
name="managedName"
|
||||
>
|
||||
Package
|
||||
</attr>
|
||||
-->
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,2 @@
|
|||
<metadata>
|
||||
</metadata>
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<metadata>
|
||||
<attr path="/api/package[@name='com.android.volley']" name="managedName">Volley</attr>
|
||||
<attr path="/api/package[@name='com.android.volley']/class[@name='Request']/method[@name='getMethod' and count(parameter)=0]" name="propertyName"></attr>
|
||||
<attr path="/api/package[@name='com.android.volley']/class[@name='Request']/method[@name='compareTo' and count(parameter)=1 and parameter[1][@type='com.android.volley.Request<T>']]/parameter[1]" name="managedType">Java.Lang.Object</attr>
|
||||
<attr path="/api/package[@name='com.android.volley']/class[@name='Response']/field[@name='error']" name="managedName">VolleyError</attr>
|
||||
<attr path="/api/package[@name='com.android.volley']/interface[@name='Request.NetworkRequestCompleteListener']" name="visibility">private</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.android.volley.toolbox']" name="managedName">Volley.Toolbox</attr>
|
||||
<attr path="/api/package[@name='com.android.volley.toolbox']/class[@name='ImageRequest']/method[@name='deliverResponse' and count(parameter)=1 and parameter[1][@type='android.graphics.Bitmap']]/parameter[1]" name="managedType">Java.Lang.Object</attr>
|
||||
|
||||
<remove-node path="/api/package[@name='com.android.volley.toolbox']/class[@name='JsonRequest']/method[@name='parseNetworkResponse' and count(parameter)=1 and parameter[1][@type='com.android.volley.NetworkResponse']]" />
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.android.volley']/interface[@name='RequestQueue.RequestEvent']"
|
||||
name="managedName"
|
||||
>
|
||||
RequestQueueRequestEvent
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.android.volley.toolbox']/class[@name='AsyncHttpStack']/method[@name='executeRequest' and count(parameter)=3 and parameter[1][@type='com.android.volley.Request<?>'] and parameter[2][@type='java.util.Map<java.lang.String, java.lang.String>'] and parameter[3][@type='com.android.volley.toolbox.AsyncHttpStack.OnRequestComplete']]"
|
||||
name="abstract"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,15 @@
|
|||
<metadata>
|
||||
<attr
|
||||
path="/api/package[@name='com.bumptech.glide.annotation']"
|
||||
name="managedName"
|
||||
>
|
||||
Bumptech.Glide.Annotations
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.bumptech.glide.annotation.compiler']"
|
||||
name="managedName"
|
||||
>
|
||||
Bumptech.Glide.Annotations.Compilers
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,7 @@
|
|||
<Project>
|
||||
<ItemGroup>
|
||||
<AndroidJavaLibrary Condition=" '$(AndroidApplication)' == 'true' " Include="$(MSBuildThisFileDirectory)..\..\jar\annotations.jar">
|
||||
<AndroidXSkipAndroidXMigration>true</AndroidXSkipAndroidXMigration>
|
||||
</AndroidJavaLibrary>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<metadata>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.disklrucache']" name="managedName">Bumptech.Glide.DiskLruCache</attr>
|
||||
</metadata>
|
|
@ -0,0 +1,7 @@
|
|||
<Project>
|
||||
<ItemGroup>
|
||||
<AndroidJavaLibrary Condition=" '$(AndroidApplication)' == 'true' " Include="$(MSBuildThisFileDirectory)..\..\jar\disklrucache.jar">
|
||||
<AndroidXSkipAndroidXMigration>true</AndroidXSkipAndroidXMigration>
|
||||
</AndroidJavaLibrary>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<metadata>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.gifdecoder']" name="managedName">Bumptech.Glide.GifDecoder</attr>
|
||||
</metadata>
|
|
@ -0,0 +1,7 @@
|
|||
<Project>
|
||||
<ItemGroup>
|
||||
<AndroidAarLibrary Include="$(MSBuildThisFileDirectory)..\..\aar\gifdecoder.aar">
|
||||
<AndroidXSkipAndroidXMigration>true</AndroidXSkipAndroidXMigration>
|
||||
</AndroidAarLibrary>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,458 @@
|
|||
using System.Collections;
|
||||
using System.Linq;
|
||||
using Android.Content;
|
||||
using Android.Content.Res;
|
||||
using Android.Graphics;
|
||||
using Android.Graphics.Drawables;
|
||||
using Android.Net;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Bumptech.Glide.Load;
|
||||
using Bumptech.Glide.Load.Engine;
|
||||
using Bumptech.Glide.Load.Resource.Bitmap;
|
||||
using Bumptech.Glide.Request;
|
||||
using Bumptech.Glide.Request.Transition;
|
||||
using Java.IO;
|
||||
using Java.Lang;
|
||||
using Java.Util.Concurrent;
|
||||
|
||||
namespace Bumptech.Glide
|
||||
{
|
||||
public partial class RequestBuilder
|
||||
{
|
||||
public virtual RequestBuilder Apply(BaseRequestOptions o) => (RequestBuilder)Apply_T(o);
|
||||
|
||||
public virtual RequestBuilder AutoClone() => (RequestBuilder)AutoClone_T();
|
||||
|
||||
public virtual RequestBuilder CenterCrop() => (RequestBuilder)CenterCrop_T();
|
||||
|
||||
public virtual RequestBuilder CenterInside() => (RequestBuilder)CenterInside_T();
|
||||
|
||||
public virtual RequestBuilder CircleCrop() => (RequestBuilder)CircleCrop_T();
|
||||
|
||||
public new virtual RequestBuilder Clone() => (RequestBuilder)Clone_T();
|
||||
|
||||
public virtual RequestBuilder Decode(Class resourceClass) => (RequestBuilder)Decode_T(resourceClass);
|
||||
|
||||
public virtual RequestBuilder DisallowHardwareConfig() => (RequestBuilder)DisallowHardwareConfig_T();
|
||||
|
||||
public virtual RequestBuilder Downsample(DownsampleStrategy strategy) => (RequestBuilder)Downsample_T(strategy);
|
||||
|
||||
public virtual RequestBuilder DontAnimate() => (RequestBuilder)DontAnimate_T();
|
||||
|
||||
public virtual RequestBuilder DontTransform() => (RequestBuilder)DontTransform_T();
|
||||
|
||||
public virtual RequestBuilder EncodeFormat(Bitmap.CompressFormat format) => (RequestBuilder)EncodeFormat_T(format);
|
||||
|
||||
public virtual RequestBuilder EncodeQuality(int quality) => (RequestBuilder)EncodeQuality_T(quality);
|
||||
|
||||
public virtual RequestBuilder Error(Drawable drawable) => (RequestBuilder)Error_T(drawable);
|
||||
|
||||
public virtual RequestBuilder Error(int resourceId) => (RequestBuilder)Error_T(resourceId);
|
||||
|
||||
public virtual RequestBuilder Fallback(Drawable drawable) => (RequestBuilder)Fallback_T(drawable);
|
||||
|
||||
public virtual RequestBuilder Fallback(int resourceId) => (RequestBuilder)Fallback_T(resourceId);
|
||||
|
||||
public virtual RequestBuilder FitCenter() => (RequestBuilder)FitCenter_T();
|
||||
|
||||
public virtual RequestBuilder Format(DecodeFormat format) => (RequestBuilder)Format_T(format);
|
||||
|
||||
public virtual RequestBuilder Frame(long frameTimeMicros) => (RequestBuilder)Frame_T(frameTimeMicros);
|
||||
|
||||
public virtual RequestBuilder Lock() => (RequestBuilder)Lock_T();
|
||||
|
||||
public virtual RequestBuilder OptionalCenterCrop() => (RequestBuilder)OptionalCenterCrop_T();
|
||||
|
||||
public virtual RequestBuilder OptionalCenterInside() => (RequestBuilder)OptionalCenterInside_T();
|
||||
|
||||
public virtual RequestBuilder OptionalCircleCrop() => (RequestBuilder)OptionalCircleCrop_T();
|
||||
|
||||
public virtual RequestBuilder OptionalFitCenter() => (RequestBuilder)OptionalFitCenter_T();
|
||||
|
||||
public virtual RequestBuilder OptionalTransform(Class resourceClass, ITransformation transformation) => (RequestBuilder)OptionalTransform_T(resourceClass, transformation);
|
||||
|
||||
public virtual RequestBuilder OptionalTransform(ITransformation transformation) => (RequestBuilder)OptionalTransform_T(transformation);
|
||||
|
||||
public virtual RequestBuilder Override(int width, int height) => (RequestBuilder)Override_T(width, height);
|
||||
|
||||
public virtual RequestBuilder Override(int size) => (RequestBuilder)Override_T(size);
|
||||
|
||||
public virtual RequestBuilder Placeholder(Drawable drawable) => (RequestBuilder)Placeholder_T(drawable);
|
||||
|
||||
public virtual RequestBuilder Placeholder(int resourceId) => (RequestBuilder)Placeholder_T(resourceId);
|
||||
|
||||
public virtual RequestBuilder Set(Option option, Object value) => (RequestBuilder)Set_T(option, value);
|
||||
|
||||
public virtual RequestBuilder SetDiskCacheStrategy(DiskCacheStrategy strategy) => (RequestBuilder)DiskCacheStrategy_T(strategy);
|
||||
|
||||
public virtual RequestBuilder SetOnlyRetrieveFromCache(bool flag) => (RequestBuilder)OnlyRetrieveFromCache_T(flag);
|
||||
|
||||
public virtual RequestBuilder SetPriority(Priority priority) => (RequestBuilder)Priority_T(priority);
|
||||
|
||||
public virtual RequestBuilder SetSignature(IKey signature) => (RequestBuilder)Signature_T(signature);
|
||||
|
||||
public virtual RequestBuilder SetSizeMultiplier(float sizeMultiplier) => (RequestBuilder)SizeMultiplier_T(sizeMultiplier);
|
||||
|
||||
public virtual RequestBuilder SetTheme(Resources.Theme theme) => (RequestBuilder)Theme_T(theme);
|
||||
|
||||
public virtual RequestBuilder SetUseAnimationPool(bool flag) => (RequestBuilder)UseAnimationPool_T(flag);
|
||||
|
||||
public virtual RequestBuilder SetUseUnlimitedSourceGeneratorsPool(bool flag) => (RequestBuilder)UseUnlimitedSourceGeneratorsPool_T(flag);
|
||||
|
||||
public virtual RequestBuilder SkipMemoryCache(bool skip) => (RequestBuilder)SkipMemoryCache_T(skip);
|
||||
|
||||
public virtual RequestBuilder Timeout(int timeoutMs) => (RequestBuilder)Timeout_T(timeoutMs);
|
||||
|
||||
public virtual RequestBuilder Transform(Class resourceClass, ITransformation transformation) => (RequestBuilder)Transform_T(resourceClass, transformation);
|
||||
|
||||
public virtual RequestBuilder Transform(params ITransformation[] transformations) => (RequestBuilder)Transform_T(transformations);
|
||||
|
||||
public virtual RequestBuilder Transform(ITransformation transformation) => (RequestBuilder)Transform_T(transformation);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Load.Data
|
||||
{
|
||||
public partial class AssetFileDescriptorLocalUriFetcher
|
||||
{
|
||||
protected override void Close(Object data) => Close((AssetFileDescriptor)data);
|
||||
|
||||
protected override Object LoadResource(Uri uri, ContentResolver contentResolver) => LoadResource_T(uri, contentResolver);
|
||||
}
|
||||
|
||||
public partial class FileDescriptorAssetPathFetcher
|
||||
{
|
||||
protected override void Close(Object data) => Close((ParcelFileDescriptor)data);
|
||||
|
||||
protected override Object LoadResource(AssetManager assetManager, string path) => LoadResource_T(assetManager, path);
|
||||
}
|
||||
|
||||
public partial class FileDescriptorLocalUriFetcher
|
||||
{
|
||||
protected override void Close(Object data) => Close((ParcelFileDescriptor)data);
|
||||
|
||||
protected override Object LoadResource(Uri uri, ContentResolver contentResolver) => LoadResource_T(uri, contentResolver);
|
||||
}
|
||||
|
||||
public partial class StreamAssetPathFetcher
|
||||
{
|
||||
protected override void Close(Object data)
|
||||
{
|
||||
var stream = InputStreamInvoker.FromJniHandle(((InputStream)data).Handle, JniHandleOwnership.DoNotTransfer);
|
||||
|
||||
Close(stream);
|
||||
}
|
||||
|
||||
protected override Object LoadResource(AssetManager assetManager, string path)
|
||||
{
|
||||
var handle = InputStreamAdapter.ToLocalJniHandle(LoadResource_T(assetManager, path));
|
||||
|
||||
try
|
||||
{
|
||||
return new Object(handle, JniHandleOwnership.TransferLocalRef);
|
||||
}
|
||||
finally
|
||||
{
|
||||
JNIEnv.DeleteLocalRef(handle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public partial class StreamLocalUriFetcher
|
||||
{
|
||||
protected override void Close(Object data)
|
||||
{
|
||||
var stream = InputStreamInvoker.FromJniHandle(((InputStream)data).Handle, JniHandleOwnership.DoNotTransfer);
|
||||
|
||||
Close(stream);
|
||||
}
|
||||
|
||||
protected override Object LoadResource(Uri uri, ContentResolver contentResolver)
|
||||
{
|
||||
var handle = InputStreamAdapter.ToLocalJniHandle(LoadResource_T(uri, contentResolver));
|
||||
|
||||
try
|
||||
{
|
||||
return new Object(handle, JniHandleOwnership.TransferLocalRef);
|
||||
}
|
||||
finally
|
||||
{
|
||||
JNIEnv.DeleteLocalRef(handle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Load.Engine.Executor
|
||||
{
|
||||
public partial class GlideExecutor
|
||||
{
|
||||
IList IExecutorService.InvokeAll(ICollection tasks) => InvokeAll(tasks.Cast<ICallable>().ToList()).ToList();
|
||||
|
||||
IList IExecutorService.InvokeAll(ICollection tasks, long timeout, TimeUnit unit) => InvokeAll(tasks.Cast<ICallable>().ToList(), timeout, unit).ToList();
|
||||
|
||||
Object IExecutorService.InvokeAny(ICollection tasks) => InvokeAny(tasks.Cast<ICallable>().ToList());
|
||||
|
||||
Object IExecutorService.InvokeAny(ICollection tasks, long timeout, TimeUnit unit) => InvokeAny(tasks.Cast<ICallable>().ToList(), timeout, unit);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Load.Model
|
||||
{
|
||||
public partial class AssetUriLoader
|
||||
{
|
||||
public virtual ModelLoaderLoadData BuildLoadData(Object model, int width, int height, Options options) =>
|
||||
BuildLoadData((Uri)model, width, height, options);
|
||||
|
||||
public virtual bool Handles(Object model) => Handles((Uri)model);
|
||||
}
|
||||
|
||||
public partial class ByteArrayLoader
|
||||
{
|
||||
public virtual ModelLoaderLoadData BuildLoadData(Object model, int width, int height, Options options) =>
|
||||
BuildLoadData(model?.ToArray<byte>(), width, height, options);
|
||||
|
||||
public virtual bool Handles(Object model) => Handles(model?.ToArray<byte>());
|
||||
}
|
||||
|
||||
public partial class StringLoader
|
||||
{
|
||||
public virtual ModelLoaderLoadData BuildLoadData(Object model, int width, int height, Options options) =>
|
||||
BuildLoadData(model?.ToString(), width, height, options);
|
||||
|
||||
public virtual bool Handles(Object model) => Handles(model?.ToString());
|
||||
}
|
||||
public partial class FileLoader
|
||||
{
|
||||
public virtual ModelLoaderLoadData BuildLoadData(Object model, int width, int height, Options options) =>
|
||||
BuildLoadData((File)model, width, height, options);
|
||||
|
||||
public virtual bool Handles(Object model) => Handles((File)model);
|
||||
}
|
||||
|
||||
public partial class ResourceLoader
|
||||
{
|
||||
public virtual ModelLoaderLoadData BuildLoadData(Object model, int width, int height, Options options) =>
|
||||
BuildLoadData((Integer)model, width, height, options);
|
||||
|
||||
public virtual bool Handles(Object model) => Handles((Integer)model);
|
||||
}
|
||||
|
||||
public partial class UriLoader
|
||||
{
|
||||
public virtual ModelLoaderLoadData BuildLoadData(Object model, int width, int height, Options options) =>
|
||||
BuildLoadData((Uri)model, width, height, options);
|
||||
|
||||
public virtual bool Handles(Object model) => Handles((Uri)model);
|
||||
}
|
||||
|
||||
public partial class UrlUriLoader
|
||||
{
|
||||
public virtual ModelLoaderLoadData BuildLoadData(Object model, int width, int height, Options options) =>
|
||||
BuildLoadData((Uri)model, width, height, options);
|
||||
|
||||
public virtual bool Handles(Object model) => Handles((Uri)model);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Load.Model.Stream
|
||||
{
|
||||
partial class QMediaStoreUriLoader
|
||||
{
|
||||
public bool Handles(Java.Lang.Object uri)
|
||||
=> Handles((Uri)uri);
|
||||
|
||||
public ModelLoaderLoadData BuildLoadData(Object uri, int width, int height, Options options)
|
||||
=> BuildLoadData((Uri)uri, width, height, options);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
namespace Bumptech.Glide.Load.Resource
|
||||
{
|
||||
partial class ImageDecoderResourceDecoder
|
||||
{
|
||||
public IResource Decode(Object source, int requestedWidth, int requestedHeight, Options options)
|
||||
=> Decode((ImageDecoder.Source)source, requestedWidth, requestedHeight, options);
|
||||
|
||||
public bool Handles(Object source, Options options)
|
||||
=> Handles((ImageDecoder.Source)source, options);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Load.Resource.Gif
|
||||
{
|
||||
public partial class GifDrawableEncoder
|
||||
{
|
||||
public virtual unsafe bool Encode(Object data, global::Java.IO.File file, global::Bumptech.Glide.Load.Options options)
|
||||
=> Encode((IResource)data, file, options);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Load.Resource.Bitmap
|
||||
{
|
||||
public partial class BitmapDrawableEncoder
|
||||
{
|
||||
public virtual bool Encode(Object data, Java.IO.File file, Options options) => Encode((IResource)data, file, options);
|
||||
}
|
||||
|
||||
public partial class BitmapEncoder
|
||||
{
|
||||
public virtual bool Encode(Object data, Java.IO.File file, Options options) => Encode((IResource)data, file, options);
|
||||
}
|
||||
|
||||
public partial class StreamBitmapDecoder : IResourceDecoder
|
||||
{
|
||||
IResource IResourceDecoder.Decode(Object source, int width, int height, Options options)
|
||||
{
|
||||
var stream = InputStreamInvoker.FromJniHandle(source.Handle, JniHandleOwnership.DoNotTransfer);
|
||||
|
||||
return Decode(stream, width, height, options);
|
||||
}
|
||||
|
||||
bool IResourceDecoder.Handles(Object source, Options options)
|
||||
{
|
||||
var stream = InputStreamInvoker.FromJniHandle(source.Handle, JniHandleOwnership.DoNotTransfer);
|
||||
|
||||
return Handles(stream, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Request
|
||||
{
|
||||
public partial class RequestOptions
|
||||
{
|
||||
public virtual RequestOptions Apply(BaseRequestOptions o) => (RequestOptions)Apply_T(o);
|
||||
|
||||
public virtual RequestOptions AutoClone() => (RequestOptions)AutoClone_T();
|
||||
|
||||
public virtual RequestOptions CenterCrop() => (RequestOptions)CenterCrop_T();
|
||||
|
||||
public virtual RequestOptions CenterInside() => (RequestOptions)CenterInside_T();
|
||||
|
||||
public virtual RequestOptions CircleCrop() => (RequestOptions)CircleCrop_T();
|
||||
|
||||
public new virtual RequestOptions Clone() => (RequestOptions)Clone_T();
|
||||
|
||||
public virtual RequestOptions Decode(Class resourceClass) => (RequestOptions)Decode_T(resourceClass);
|
||||
|
||||
public virtual RequestOptions DisallowHardwareConfig() => (RequestOptions)DisallowHardwareConfig_T();
|
||||
|
||||
public virtual RequestOptions DontAnimate() => (RequestOptions)DontAnimate_T();
|
||||
|
||||
public virtual RequestOptions DontTransform() => (RequestOptions)DontTransform_T();
|
||||
|
||||
public virtual RequestOptions Downsample(DownsampleStrategy strategy) => (RequestOptions)Downsample_T(strategy);
|
||||
|
||||
public virtual RequestOptions EncodeFormat(Bitmap.CompressFormat format) => (RequestOptions)EncodeFormat_T(format);
|
||||
|
||||
public virtual RequestOptions EncodeQuality(int quality) => (RequestOptions)EncodeQuality_T(quality);
|
||||
|
||||
public virtual RequestBuilder Error(Drawable drawable) => (RequestBuilder)Error_T(drawable);
|
||||
|
||||
public virtual RequestOptions Error(int resourceId) => (RequestOptions)Error_T(resourceId);
|
||||
|
||||
public virtual RequestOptions Fallback(Drawable drawable) => (RequestOptions)Fallback_T(drawable);
|
||||
|
||||
public virtual RequestOptions Fallback(int resourceId) => (RequestOptions)Fallback_T(resourceId);
|
||||
|
||||
public virtual RequestOptions FitCenter() => (RequestOptions)FitCenter_T();
|
||||
|
||||
public virtual RequestOptions Format(DecodeFormat format) => (RequestOptions)Format_T(format);
|
||||
|
||||
public virtual RequestOptions Frame(long frameTimeMicros) => (RequestOptions)Frame_T(frameTimeMicros);
|
||||
|
||||
public virtual RequestOptions Lock() => (RequestOptions)Lock_T();
|
||||
|
||||
public virtual RequestOptions OptionalCenterCrop() => (RequestOptions)OptionalCenterCrop_T();
|
||||
|
||||
public virtual RequestOptions OptionalCenterInside() => (RequestOptions)OptionalCenterInside_T();
|
||||
|
||||
public virtual RequestOptions OptionalCircleCrop() => (RequestOptions)OptionalCircleCrop_T();
|
||||
|
||||
public virtual RequestOptions OptionalFitCenter() => (RequestOptions)OptionalFitCenter_T();
|
||||
|
||||
public virtual RequestOptions OptionalTransform(Class resourceClass, ITransformation transformation) => (RequestOptions)OptionalTransform_T(resourceClass, transformation);
|
||||
|
||||
public virtual RequestOptions OptionalTransform(ITransformation transformation) => (RequestOptions)OptionalTransform_T(transformation);
|
||||
|
||||
public virtual RequestOptions Override(int width, int height) => (RequestOptions)Override_T(width, height);
|
||||
|
||||
public virtual RequestOptions Override(int size) => (RequestOptions)Override_T(size);
|
||||
|
||||
public virtual RequestOptions Placeholder(Drawable drawable) => (RequestOptions)Placeholder_T(drawable);
|
||||
|
||||
public virtual RequestOptions Placeholder(int resourceId) => (RequestOptions)Placeholder_T(resourceId);
|
||||
|
||||
public virtual RequestOptions Set(Option option, Object value) => (RequestOptions)Set_T(option, value);
|
||||
|
||||
public virtual RequestOptions SetDiskCacheStrategy(DiskCacheStrategy strategy) => (RequestOptions)DiskCacheStrategy_T(strategy);
|
||||
|
||||
public virtual RequestOptions SetOnlyRetrieveFromCache(bool flag) => (RequestOptions)OnlyRetrieveFromCache_T(flag);
|
||||
|
||||
public virtual RequestOptions SetPriority(Priority priority) => (RequestOptions)Priority_T(priority);
|
||||
|
||||
public virtual RequestOptions SetSignature(IKey signature) => (RequestOptions)Signature_T(signature);
|
||||
|
||||
public virtual RequestOptions SetSizeMultiplier(float sizeMultiplier) => (RequestOptions)SizeMultiplier_T(sizeMultiplier);
|
||||
|
||||
public virtual RequestOptions SetTheme(Resources.Theme theme) => (RequestOptions)Theme_T(theme);
|
||||
|
||||
public virtual RequestOptions SetUseAnimationPool(bool flag) => (RequestOptions)UseAnimationPool_T(flag);
|
||||
|
||||
public virtual RequestOptions SetUseUnlimitedSourceGeneratorsPool(bool flag) => (RequestOptions)UseUnlimitedSourceGeneratorsPool_T(flag);
|
||||
|
||||
public virtual RequestOptions SkipMemoryCache(bool skip) => (RequestOptions)SkipMemoryCache_T(skip);
|
||||
|
||||
public virtual RequestOptions Timeout(int timeoutMs) => (RequestOptions)Timeout_T(timeoutMs);
|
||||
|
||||
public virtual RequestOptions Transform(Class resourceClass, ITransformation transformation) => (RequestOptions)Transform_T(resourceClass, transformation);
|
||||
|
||||
public virtual RequestOptions Transform(params ITransformation[] transformations) => (RequestOptions)Transform_T(transformations);
|
||||
|
||||
public virtual RequestOptions Transform(ITransformation transformation) => (RequestOptions)Transform_T(transformation);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Request.Target
|
||||
{
|
||||
public partial class AppWidgetTarget
|
||||
{
|
||||
public override void OnResourceReady(Object resource, ITransition transition) => OnResourceReady((Bitmap)resource, transition);
|
||||
}
|
||||
|
||||
public partial class BitmapImageViewTarget
|
||||
{
|
||||
protected override void SetResource(Object resource) => SetResource((Bitmap)resource);
|
||||
}
|
||||
|
||||
public partial class BitmapThumbnailImageViewTarget
|
||||
{
|
||||
protected override Drawable GetDrawable(Object resource) => GetDrawable((Bitmap)resource);
|
||||
}
|
||||
|
||||
public partial class DrawableImageViewTarget
|
||||
{
|
||||
protected override void SetResource(Object resource) => SetResource((Drawable)resource);
|
||||
}
|
||||
|
||||
public partial class DrawableThumbnailImageViewTarget
|
||||
{
|
||||
protected override Drawable GetDrawable(Object resource) => GetDrawable((Drawable)resource);
|
||||
}
|
||||
|
||||
public partial class NotificationTarget
|
||||
{
|
||||
public override void OnResourceReady(Object resource, ITransition transition) => OnResourceReady((Bitmap)resource, transition);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Bumptech.Glide.Request.Transition
|
||||
{
|
||||
public partial class BitmapTransitionFactory
|
||||
{
|
||||
protected override Bitmap GetBitmap(Object current) => GetBitmap((Bitmap)current);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,177 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<metadata>
|
||||
<attr path="/api/package[@name='com.bumptech.glide']" name="managedName">Bumptech.Glide</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load']" name="managedName">Bumptech.Glide.Load</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data']" name="managedName">Bumptech.Glide.Load.Data</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data.mediastore']" name="managedName">Bumptech.Glide.Load.Data.Mediastore</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine']" name="managedName">Bumptech.Glide.Load.Engine</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine.bitmap_recycle']" name="managedName">Bumptech.Glide.Load.Engine.BitmapRecycle</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine.cache']" name="managedName">Bumptech.Glide.Load.Engine.Cache</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine.executor']" name="managedName">Bumptech.Glide.Load.Engine.Executor</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine.prefill']" name="managedName">Bumptech.Glide.Load.Engine.Prefill</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.model']" name="managedName">Bumptech.Glide.Load.Model</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.model.stream']" name="managedName">Bumptech.Glide.Load.Model.Stream</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.resource']" name="managedName">Bumptech.Glide.Load.Resource</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.resource.bitmap']" name="managedName">Bumptech.Glide.Load.Resource.Bitmap</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.resource.bytes']" name="managedName">Bumptech.Glide.Load.Resource.Bytes</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.resource.drawable']" name="managedName">Bumptech.Glide.Load.Resource.Drawable</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.resource.file']" name="managedName">Bumptech.Glide.Load.Resource.File</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.resource.gif']" name="managedName">Bumptech.Glide.Load.Resource.Gif</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.resource.transcode']" name="managedName">Bumptech.Glide.Load.Resource.Transcode</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.manager']" name="managedName">Bumptech.Glide.Manager</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.module']" name="managedName">Bumptech.Glide.Module</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.provider']" name="managedName">Bumptech.Glide.Provider</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']" name="managedName">Bumptech.Glide.Request</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request.target']" name="managedName">Bumptech.Glide.Request.Target</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request.transition']" name="managedName">Bumptech.Glide.Request.Transition</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.signature']" name="managedName">Bumptech.Glide.Signature</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.util']" name="managedName">Bumptech.Glide.Util</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.util.pool']" name="managedName">Bumptech.Glide.Util.Pool</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data']/class[@name='AssetFileDescriptorLocalUriFetcher']/method[@name='loadResource' and count(parameter)=2 and parameter[1][@type='android.net.Uri'] and parameter[2][@type='android.content.ContentResolver']]" name="managedName">LoadResource_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data']/class[@name='FileDescriptorAssetPathFetcher']/method[@name='loadResource' and count(parameter)=2 and parameter[1][@type='android.content.res.AssetManager'] and parameter[2][@type='java.lang.String']]" name="managedName">LoadResource_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data']/class[@name='FileDescriptorLocalUriFetcher']/method[@name='loadResource' and count(parameter)=2 and parameter[1][@type='android.net.Uri'] and parameter[2][@type='android.content.ContentResolver']]" name="managedName">LoadResource_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data']/class[@name='StreamAssetPathFetcher']/method[@name='loadResource' and count(parameter)=2 and parameter[1][@type='android.content.res.AssetManager'] and parameter[2][@type='java.lang.String']]" name="managedName">LoadResource_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data']/class[@name='StreamLocalUriFetcher']/method[@name='loadResource' and count(parameter)=2 and parameter[1][@type='android.net.Uri'] and parameter[2][@type='android.content.ContentResolver']]" name="managedName">LoadResource_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request.target']/class[@name='ViewTarget']/field[@name='view']" name="managedName">_view</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request.target']/class[@name='ViewTarget']/method[@name='getView' and count(parameter)=0]" name="return">android.view.View</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='apply' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.request.BaseRequestOptions<?>']]" name="managedName">Apply_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='autoClone' and count(parameter)=0]" name="managedName">AutoClone_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='centerCrop' and count(parameter)=0]" name="managedName">CenterCrop_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='centerInside' and count(parameter)=0]" name="managedName">CenterInside_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='circleCrop' and count(parameter)=0]" name="managedName">CircleCrop_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='clone' and count(parameter)=0]" name="managedName">Clone_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='decode' and count(parameter)=1 and parameter[1][@type='java.lang.Class<?>']]" name="managedName">Decode_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='disallowHardwareConfig' and count(parameter)=0]" name="managedName">DisallowHardwareConfig_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='diskCacheStrategy' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.load.engine.DiskCacheStrategy']]" name="managedName">DiskCacheStrategy_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='dontAnimate' and count(parameter)=0]" name="managedName">DontAnimate_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='dontTransform' and count(parameter)=0]" name="managedName">DontTransform_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='downsample' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.load.resource.bitmap.DownsampleStrategy']]" name="managedName">Downsample_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='encodeFormat' and count(parameter)=1 and parameter[1][@type='android.graphics.Bitmap.CompressFormat']]" name="managedName">EncodeFormat_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='encodeQuality' and count(parameter)=1 and parameter[1][@type='int']]" name="managedName">EncodeQuality_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='error' and count(parameter)=1 and parameter[1][@type='android.graphics.drawable.Drawable']]" name="managedName">Error_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='error' and count(parameter)=1 and parameter[1][@type='int']]" name="managedName">Error_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='fallback' and count(parameter)=1 and parameter[1][@type='android.graphics.drawable.Drawable']]" name="managedName">Fallback_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='fallback' and count(parameter)=1 and parameter[1][@type='int']]" name="managedName">Fallback_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='fitCenter' and count(parameter)=0]" name="managedName">FitCenter_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='format' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.load.DecodeFormat']]" name="managedName">Format_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='frame' and count(parameter)=1 and parameter[1][@type='long']]" name="managedName">Frame_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='lock' and count(parameter)=0]" name="managedName">Lock_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='onlyRetrieveFromCache' and count(parameter)=1 and parameter[1][@type='boolean']]" name="managedName">OnlyRetrieveFromCache_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='optionalCenterCrop' and count(parameter)=0]" name="managedName">OptionalCenterCrop_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='optionalCenterInside' and count(parameter)=0]" name="managedName">OptionalCenterInside_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='optionalCircleCrop' and count(parameter)=0]" name="managedName">OptionalCircleCrop_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='optionalFitCenter' and count(parameter)=0]" name="managedName">OptionalFitCenter_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='optionalTransform' and count(parameter)=2 and parameter[1][@type='java.lang.Class<Y>'] and parameter[2][@type='com.bumptech.glide.load.Transformation<Y>']]" name="managedName">OptionalTransform_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='optionalTransform' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.load.Transformation<android.graphics.Bitmap>']]" name="managedName">OptionalTransform_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='override' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='int']]" name="managedName">Override_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='override' and count(parameter)=1 and parameter[1][@type='int']]" name="managedName">Override_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='placeholder' and count(parameter)=1 and parameter[1][@type='android.graphics.drawable.Drawable']]" name="managedName">Placeholder_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='placeholder' and count(parameter)=1 and parameter[1][@type='int']]" name="managedName">Placeholder_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='priority' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.Priority']]" name="managedName">Priority_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='set' and count(parameter)=2 and parameter[1][@type='com.bumptech.glide.load.Option<Y>'] and parameter[2][@type='Y']]" name="managedName">Set_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='signature' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.load.Key']]" name="managedName">Signature_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='sizeMultiplier' and count(parameter)=1 and parameter[1][@type='float']]" name="managedName">SizeMultiplier_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='skipMemoryCache' and count(parameter)=1 and parameter[1][@type='boolean']]" name="managedName">SkipMemoryCache_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='theme' and count(parameter)=1 and parameter[1][@type='android.content.res.Resources.Theme']]" name="managedName">Theme_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='timeout' and count(parameter)=1 and parameter[1][@type='int']]" name="managedName">Timeout_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='transform' and count(parameter)=2 and parameter[1][@type='java.lang.Class<Y>'] and parameter[2][@type='com.bumptech.glide.load.Transformation<Y>']]" name="managedName">Transform_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='transform' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.load.Transformation<android.graphics.Bitmap>...']]" name="managedName">Transform_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='transform' and count(parameter)=1 and parameter[1][@type='com.bumptech.glide.load.Transformation<android.graphics.Bitmap>']]" name="managedName">Transform_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='useAnimationPool' and count(parameter)=1 and parameter[1][@type='boolean']]" name="managedName">UseAnimationPool_T</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.request']/class[@name='BaseRequestOptions']/method[@name='useUnlimitedSourceGeneratorsPool' and count(parameter)=1 and parameter[1][@type='boolean']]" name="managedName">UseUnlimitedSourceGeneratorsPool_T</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.data.mediastore']/interface[@name='ThumbnailQuery']" name="visibility">public</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine']/interface[@name='EngineJobListener']" name="visibility">public</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine.bitmap_recycle']/class[@name='BaseKeyPool']" name="visibility">public</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine.bitmap_recycle']/interface[@name='LruPoolStrategy']" name="visibility">public</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.load.engine.bitmap_recycle']/interface[@name='Poolable']" name="visibility">public</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.module']/interface[@name='AppliesOptions']" name="visibility">public</attr>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.module']/interface[@name='RegistersComponents']" name="visibility">public</attr>
|
||||
|
||||
<add-node path="/api/package[@name='com.bumptech.glide']/class[@name='GlideBuilder']">
|
||||
<method abstract="false" deprecated="not deprecated" final="false" name="build" native="false" return="com.bumptech.glide.Glide" return-not-null="true" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="context" type="android.content.Context" not-null="true" />
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<attr path="/api/package[@name='com.bumptech.glide']/class[@name='GeneratedAppGlideModule']" name="visibility">public</attr>
|
||||
<add-node path="/api/package[@name='com.bumptech.glide']/class[@name='GeneratedAppGlideModule']">
|
||||
<constructor deprecated="not deprecated" final="false" name="GeneratedAppGlideModule" static="false" type="com.bumptech.glide.GeneratedAppGlideModule" synthetic="false" visibility="public" />
|
||||
<method abstract="true" deprecated="not deprecated" final="false" name="getExcludedModuleClasses" native="false" return="java.util.Set<java.lang.Class>" return-not-null="true" static="false" synchronized="false" visibility="public" />
|
||||
<method abstract="false" deprecated="not deprecated" final="false" name="getRequestManagerFactory" native="false" return="com.bumptech.glide.manager.RequestManagerRetriever.RequestManagerFactory" static="false" synchronized="false" visibility="public" />
|
||||
</add-node>
|
||||
|
||||
<add-node path="/api/package[@name='com.bumptech.glide.load.model.stream']/class[@name='BaseGlideUrlLoader']">
|
||||
<method abstract="true" deprecated="not deprecated" final="false" name="handles" native="false" return="boolean" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="model" type="Model" />
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<add-node path="/api/package[@name='com.bumptech.glide.request.target']/class[@name='BaseTarget']">
|
||||
<method abstract="true" deprecated="not deprecated" final="false" name="onResourceReady" native="false" return="void" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="resource" type="Z" />
|
||||
<parameter name="transition" type="com.bumptech.glide.request.transition.Transition<? super Z>" />
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<add-node path="/api/package[@name='com.bumptech.glide.request.target']/class[@name='CustomTarget']">
|
||||
<method abstract="true" deprecated="not deprecated" final="false" name="onResourceReady" native="false" return="void" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="resource" type="T">
|
||||
</parameter>
|
||||
<parameter name="transition" type="com.bumptech.glide.request.transition.Transition<? super T>">
|
||||
</parameter>
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<add-node path="/api/package[@name='com.bumptech.glide.request.target']/class[@name='CustomViewTarget']">
|
||||
<method abstract="true" deprecated="not deprecated" final="false" name="onResourceReady" native="false" return="void" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="resource" type="Z">
|
||||
</parameter>
|
||||
<parameter name="transition" type="com.bumptech.glide.request.transition.Transition<? super Z>">
|
||||
</parameter>
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<remove-node path="//implements[@name='com.bumptech.glide.ModelTypes']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.data']/class[@name='InputStreamRewinder']/implements[@name='com.bumptech.glide.load.data.DataRewinder']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.data']/class[@name='InputStreamRewinder.Factory']/implements[@name='com.bumptech.glide.load.data.DataRewinder.Factory']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.engine']/interface[@name='EngineJobListener']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.engine.bitmap_recycle']/class[@name='ByteArrayAdapter']/implements[@name='com.bumptech.glide.load.engine.bitmap_recycle.ArrayAdapterInterface']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.engine.bitmap_recycle']/class[@name='IntegerArrayAdapter']/implements[@name='com.bumptech.glide.load.engine.bitmap_recycle.ArrayAdapterInterface']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.model']/class[@name='StreamEncoder']/implements[@name='com.bumptech.glide.load.Encoder']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.resource.bitmap']/class[@name='StreamBitmapDecoder']/implements[@name='com.bumptech.glide.load.ResourceDecoder']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.resource.bytes']/class[@name='BytesResource']/implements[@name='com.bumptech.glide.load.engine.Resource']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.resource.gif']/class[@name='StreamGifDecoder']/implements[@name='com.bumptech.glide.load.ResourceDecoder']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.load.resource.bitmap']/class[@name='InputStreamBitmapImageDecoderResourceDecoder']/implements[@name='com.bumptech.glide.load.ResourceDecoder']" />
|
||||
<remove-node path="/api/package[@name='com.bumptech.glide.request']/class[@name='ExperimentalRequestListener']" />
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.bumptech.glide.load.model']/class[@name='DirectResourceLoader']/method[@name='buildLoadData' and count(parameter)=4 and parameter[1][@type='java.lang.Integer'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='com.bumptech.glide.load.Options']]/parameter[1]"
|
||||
name="managedType"
|
||||
>
|
||||
Java.Lang.Object
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.bumptech.glide.load.model']/class[@name='DirectResourceLoader']/method[@name='handles' and count(parameter)=1 and parameter[1][@type='java.lang.Integer']]/parameter[1]"
|
||||
name="managedType"
|
||||
>
|
||||
Java.Lang.Object
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.bumptech.glide.load.model']/class[@name='ResourceUriLoader']/method[@name='buildLoadData' and count(parameter)=4 and parameter[1][@type='android.net.Uri'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='com.bumptech.glide.load.Options']]/parameter[1]"
|
||||
name="managedType"
|
||||
>
|
||||
Java.Lang.Object
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.bumptech.glide.load.model']/class[@name='ResourceUriLoader']/method[@name='handles' and count(parameter)=1 and parameter[1][@type='android.net.Uri']]/parameter[1]"
|
||||
name="managedType"
|
||||
>
|
||||
Java.Lang.Object
|
||||
</attr>
|
||||
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,7 @@
|
|||
<Project>
|
||||
<ItemGroup>
|
||||
<AndroidAarLibrary Include="$(MSBuildThisFileDirectory)..\..\aar\glide.aar">
|
||||
<AndroidXSkipAndroidXMigration>true</AndroidXSkipAndroidXMigration>
|
||||
</AndroidAarLibrary>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<metadata>
|
||||
<attr path="/api/package[@name='com.bumptech.glide.integration.recyclerview']" name="managedName">Bumptech.Glide.Integration.RecyclerView</attr>
|
||||
</metadata>
|
|
@ -0,0 +1,7 @@
|
|||
<Project>
|
||||
<ItemGroup>
|
||||
<AndroidAarLibrary Include="$(MSBuildThisFileDirectory)..\..\aar\recyclerview-integration.aar">
|
||||
<AndroidXSkipAndroidXMigration>true</AndroidXSkipAndroidXMigration>
|
||||
</AndroidAarLibrary>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,48 @@
|
|||
<metadata>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.api']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.InteractiveMedia.V3.Api
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.api.player']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.InteractiveMedia.V3.Api.Player
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.api.signals']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.InteractiveMedia.V3.Api.Signals
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.InteractiveMedia.V3.Impl
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl.data']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.InteractiveMedia.V3.Impl.Data
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.omid.library.adsession']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.InteractiveMedia.Omid.Library.AdSession
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl.util']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.InteractiveMedia.V3.Impl.Util
|
||||
</attr>
|
||||
|
||||
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<metadata>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl']/class[@name='AdsRequestImpl']"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl.data']/class[@name='AdsRenderingSettingsImpl']"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl.util']/class[@name='IdentifierInfoFactory']"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl']/class[@name='JavaScriptMessageRouter']"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.ads.interactivemedia.v3.impl.data']/class[@name='NetworkResponseData']"
|
||||
/>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,10 @@
|
|||
<metadata>
|
||||
|
||||
<!-- Rename Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.ads']" name="managedName">Google.Ads</attr>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,14 @@
|
|||
<metadata>
|
||||
|
||||
<!-- Rename Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.ads']" name="managedName">Google.Ads</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.identifier']" name="managedName">Google.Ads.Identifier</attr>
|
||||
|
||||
|
||||
|
||||
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.identifier']/class[@name='AdvertisingIdClient']/method[@name='finalize' and count(parameter)=0]"
|
||||
/>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,58 @@
|
|||
using System;
|
||||
using Android.Runtime;
|
||||
using Java.Interop;
|
||||
|
||||
namespace Android.Gms.Ads.Formats
|
||||
{
|
||||
public partial interface IShouldDelayBannerRenderingListener
|
||||
{
|
||||
// Metadata.xml XPath method reference: path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb' and count(parameter)=1 and parameter[1][@type='java.lang.Runnable']]"
|
||||
//[Register("zzb", "(Ljava/lang/Runnable;)Z", "GetZzb_Ljava_lang_Runnable_Handler:Android.Gms.Ads.Formats.IShouldDelayBannerRenderingListenerInvoker, Xamarin.GooglePlayServices.Ads.Lite")]
|
||||
//bool Zzb(global::Java.Lang.IRunnable p0);
|
||||
}
|
||||
|
||||
internal partial class IShouldDelayBannerRenderingListenerInvoker : global::Java.Lang.Object //, IShouldDelayBannerRenderingListener
|
||||
{
|
||||
// static Delegate cb_zzb_Ljava_lang_Runnable_;
|
||||
//#pragma warning disable 0169
|
||||
// static Delegate GetZzb_Ljava_lang_Runnable_Handler()
|
||||
// {
|
||||
// if (cb_zzb_Ljava_lang_Runnable_ == null)
|
||||
// cb_zzb_Ljava_lang_Runnable_ = JNINativeWrapper.CreateDelegate((_JniMarshal_PPL_Z)n_Zzb_Ljava_lang_Runnable_);
|
||||
// return cb_zzb_Ljava_lang_Runnable_;
|
||||
// }
|
||||
|
||||
// static bool n_Zzb_Ljava_lang_Runnable_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
|
||||
// {
|
||||
// var __this = global::Java.Lang.Object.GetObject<global::Android.Gms.Ads.Formats.IShouldDelayBannerRenderingListener>(jnienv, native__this, JniHandleOwnership.DoNotTransfer);
|
||||
// var p0 = (global::Java.Lang.IRunnable)global::Java.Lang.Object.GetObject<global::Java.Lang.IRunnable>(native_p0, JniHandleOwnership.DoNotTransfer);
|
||||
// bool __ret = __this.Zzb(p0);
|
||||
// return __ret;
|
||||
// }
|
||||
//#pragma warning restore 0169
|
||||
|
||||
// IntPtr id_zzb_Ljava_lang_Runnable_;
|
||||
// public unsafe bool Zzb(global::Java.Lang.IRunnable p0)
|
||||
// {
|
||||
// if (id_zzb_Ljava_lang_Runnable_ == IntPtr.Zero)
|
||||
// id_zzb_Ljava_lang_Runnable_ = JNIEnv.GetMethodID(class_ref, "zzb", "(Ljava/lang/Runnable;)Z");
|
||||
// JValue* __args = stackalloc JValue[1];
|
||||
// __args[0] = new JValue((p0 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p0).Handle);
|
||||
// var __ret = JNIEnv.CallBooleanMethod(((global::Java.Lang.Object)this).Handle, id_zzb_Ljava_lang_Runnable_, __args);
|
||||
// return __ret;
|
||||
// }
|
||||
|
||||
//public unsafe bool Zzb(global::Java.Lang.IRunnable p0)
|
||||
//{
|
||||
// throw new NotImplementedException();
|
||||
//}
|
||||
}
|
||||
|
||||
internal sealed partial class IShouldDelayBannerRenderingListenerImplementor
|
||||
{
|
||||
//public bool Zzb(global::Java.Lang.IRunnable p0)
|
||||
//{
|
||||
// throw new NotImplementedException();
|
||||
//}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,32 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
|
||||
<!--
|
||||
instead of:
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdActivity']/method[@name='onRequestPermissionsResult' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='java.lang.String[]'] and parameter[3][@type='int[]']]/parameter[3]"
|
||||
name="managedType"
|
||||
>
|
||||
Android.Content.PM.Permission[]
|
||||
</attr>
|
||||
-->
|
||||
<mapping jni-class="com/google/android/gms/ads/AdActivity">
|
||||
<method jni-name="onRequestPermissionsResult" parameter="p2" clr-enum-type="Android.Content.PM.Permission[]" />
|
||||
</mapping>
|
||||
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,604 @@
|
|||
<metadata>
|
||||
|
||||
<!-- Rename Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.ads']" name="managedName">Google.Ads</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']" name="managedName">Google.Ads.Mediation</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation.admob']" name="managedName">Google.Ads.Mediation.Admob</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation.customevent']" name="managedName">Google.Ads.Mediation.CustomEvent</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads']" name="managedName">Android.Gms.Ads</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']" name="managedName">Android.Gms.Ads.Formats</attr>
|
||||
<!-- <attr path="/api/package[@name='com.google.android.gms.ads.identifier']" name="managedName">Android.Gms.Ads.Identifier</attr>-->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.reward']" name="managedName">Android.Gms.Ads.Reward</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.rewardedinterstitial']" name="managedName">Android.Gms.Ads.RewardedInterstitial</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.reward.mediation']" name="managedName">Android.Gms.Ads.Reward.Mediation</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.doubleclick']" name="managedName">Android.Gms.Ads.DoubleClick</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']" name="managedName">Android.Gms.Ads.Mediation</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.admob']" name="managedName">Android.Gms.Ads.Mediation.Admob</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.customevent']" name="managedName">Android.Gms.Ads.Mediation.CustomEvent</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']" name="managedName">Android.Gms.Ads.Purchase</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.search']" name="managedName">Android.Gms.Ads.Search</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.internal']" name="managedName">Android.Gms.Internal</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.admanager']" name="managedName">Android.Gms.Ads.AdManager</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.nativead']" name="managedName">Android.Gms.Ads.NativeAd</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.doubleclick']/interface[@name='AppEventListener']/method[@name='onAppEvent']/parameter[1]" name="managedName">name</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.doubleclick']/interface[@name='AppEventListener']/method[@name='onAppEvent']/parameter[2]" name="managedName">data</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.customevent']/interface[@name='CustomEventListener']/method[@name='onAdFailedToLoad']/parameter[1]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']/interface[@name='InAppPurchaseListener']/method[@name='onInAppPurchaseRequested']/parameter[1]" name="managedName">inAppPurchase</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']/interface[@name='PlayStorePurchaseListener']/method[@name='isValidPurchase']/parameter[1]" name="managedName">productId</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']/interface[@name='PlayStorePurchaseListener']/method[@name='onInAppPurchaseFinished']/parameter[1]" name="managedName">inAppPurchaseResult</attr>
|
||||
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.ads.internal.offline.buffering']" />
|
||||
|
||||
<!--
|
||||
<remove-node path="/api/package[contains(@name, 'android.gms.internal')]" />
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.ads.internal')]" />
|
||||
-->
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<!--
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/package/interface[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*[@name != 'interface']/method[contains(@name, 'zz')]" />
|
||||
-->
|
||||
<!--
|
||||
<remove-node path="/api/*/*/field[contains(@name, 'zz')]" />
|
||||
-->
|
||||
|
||||
|
||||
<!-- Some classes are private that need to be public to subclass -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads']/class[@name='BaseAdView']" name="visibility">public</attr>
|
||||
|
||||
<!-- Fix up Duplicate event arg types -->
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onDismissScreen']" name="argsType">BannerDismissScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onFailedToReceiveAd']" name="argsType">BannerFailedToReceiveAdEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onLeaveApplication']" name="argsType">BannerLeaveApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onPresentScreen']" name="argsType">BannerPresentScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onReceivedAd']" name="argsType">BannerReceiveAdEventArgs</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onDismissScreen']" name="argsType">IntersitionalDismissScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onFailedToReceiveAd']" name="argsType">IntersitionalFailedToReceiveAdEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onLeaveApplication']" name="argsType">InterstitialLeaveApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onPresentScreen']" name="argsType">InterstitialPresentScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onReceivedAd']" name="argsType">InterstitialReceiveAdEventArgs</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdClicked']" name="argsType">MediationInterstitialAdClickedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdClosed']" name="argsType">MediationInterstitialAdClosedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationInterstitialAdapter'] and parameter[2][@type='int']]" name="argsType">MediationInterstitialAdFailedToLoadEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationInterstitialAdapter'] and parameter[2][@type='com.google.android.gms.ads.AdError']]" name="argsType">MediationInterstitialAdFailedToLoad2EventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdLeftApplication']" name="argsType">MediationInterstitialAdLeftApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdLoaded']" name="argsType">MediationInterstitialAdLoadedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdOpened']" name="argsType">MediationInterstitialAdOpenedEventArgs</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdClicked']" name="argsType">MediationBannerAdClickedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdClosed']" name="argsType">MediationBannerAdClosedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationBannerAdapter'] and parameter[2][@type='int']]" name="argsType">MediationBannerAdFailedToLoadEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationBannerAdapter'] and parameter[2][@type='com.google.android.gms.ads.AdError']]" name="argsType">MediationBannerAdFailedToLoad2EventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdLeftApplication']" name="argsType">MediationBannerAdLeftApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdLoaded']" name="argsType">MediationBannerAdLoadedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdOpened']" name="argsType">MediationBannerAdOpenedEventArgs</attr>
|
||||
|
||||
<!-- Having 2 methods that are going to generate EventArgs with the same name is a problem -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationInterstitialAdapter'] and parameter[2][@type='com.google.android.gms.ads.AdError']]" name="managedName">OnAdFailedToLoad2</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationBannerAdapter'] and parameter[2][@type='com.google.android.gms.ads.AdError']]" name="managedName">OnAdFailedToLoad2</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.customevent']/interface[@name='CustomEventListener']/method[@name='onAdFailedToLoad' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.AdError']]" name="managedName">OnAdFailedToLoad2</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='zza']" name="obfuscated">false</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza']" name="obfuscated">false</attr>
|
||||
|
||||
<!--
|
||||
17.1.0 zzc
|
||||
17.2.0 zzb
|
||||
-->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.reward.mediation']/interface[@name='MediationRewardedVideoAdListener']/method[@name='zzb']" name="obfuscated">false</attr>
|
||||
|
||||
<!-- Fix parameter names to be consistent with previous releases -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']/class[@name='NativeAdView']/method[@name='setNativeAd' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.formats.NativeAd']]/parameter[1]" name="managedName">ad</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='NativeAppInstallAd.OnAppInstallAdLoadedListener']/method[@name='onAppInstallAdLoaded' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.formats.NativeAppInstallAd']]/parameter[1]" name="managedName">ad</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='NativeContentAd.OnContentAdLoadedListener']/method[@name='onContentAdLoaded' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.formats.NativeContentAd']]/parameter[1]" name="managedName">ad</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.customevent']/interface[@name='CustomEventNativeListener']/method[@name='onAdLoaded' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.mediation.NativeAdMapper']]/parameter[1]" name="managedName">ad</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='int']]/parameter[2]" name="managedName">errorCode</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdFailedToLoad']/parameter[2]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdFailedToLoad']/parameter[2]" name="managedName">errorCode</attr>
|
||||
|
||||
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onReceivedAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onFailedToReceiveAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onFailedToReceiveAd']/parameter[2]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onPresentScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onDismissScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onLeaveApplication']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onClick']/parameter[1]" name="managedName">adapter</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onReceivedAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onFailedToReceiveAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onFailedToReceiveAd']/parameter[2]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onPresentScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onDismissScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onLeaveApplication']/parameter[1]" name="managedName">adapter</attr>
|
||||
|
||||
<!-- <attr path="/api/package[@name='com.google.ads.doubleclick']/interface[@name='OnCustomRenderedAdLoadedListener']/method[@name='onCustomRenderedAdLoaded']/parameter[1]" name="managedName">ad</attr>-->
|
||||
|
||||
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdSize']/field[@name='zzako']" />
|
||||
|
||||
<!--
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']" />
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']" />
|
||||
-->
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza']" name="obfuscated">false</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='zza']" name="obfuscated">false</attr>
|
||||
|
||||
<add-node path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']">
|
||||
<method abstract="false" deprecated="not deprecated" final="false" name="zza" native="false" return="void" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="adapter" type="com.google.android.gms.ads.mediation.MediationBannerAdapter"></parameter>
|
||||
<parameter name="str1" type="java.lang.String"></parameter>
|
||||
<parameter name="str2" type="java.lang.String"></parameter>
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<!--
|
||||
(,17.1.2] zzc
|
||||
[17.2.0,) zzb
|
||||
-->
|
||||
|
||||
<add-node path="/api/package[@name='com.google.android.gms.ads.reward.mediation']/interface[@name='MediationRewardedVideoAdListener']">
|
||||
<method abstract="false" deprecated="not deprecated" final="false" name="zzb" native="false" return="void" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="bundle" type="android.os.Bundle"></parameter>
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/*/*/method[@name='getCustomEventExtrasBundle' and count(parameter)=1 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p0']"
|
||||
name="managedName"
|
||||
>
|
||||
adapterClass
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/*/*/method[@name='getNetworkExtras' and count(parameter)=1 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p0']"
|
||||
name="managedName"
|
||||
>
|
||||
networkExtrasClass
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/*/*/method[@name='getNetworkExtrasBundle' and count(parameter)=1 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p0']"
|
||||
name="managedName"
|
||||
>
|
||||
adapterClass
|
||||
</attr>
|
||||
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/*/*/method[@name='AddCustomEventExtrasBundle' and count(parameter)=2 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p0']"
|
||||
name="managedName"
|
||||
>
|
||||
adapterClass
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/*/*/method[@name='AddCustomEventExtrasBundle' and count(parameter)=2 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p1']"
|
||||
name="managedName"
|
||||
>
|
||||
customEventExtras
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/*/*/method[@name='AddNetworkExtrasBundle' and count(parameter)=2 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p0']"
|
||||
name="managedName"
|
||||
>
|
||||
adapterClass
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/*/*/method[@name='AddNetworkExtrasBundle' and count(parameter)=2 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p1']"
|
||||
name="managedName"
|
||||
>
|
||||
networkExtras
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/*/*/method[@name='AdView' and count(parameter)=1 and parameter[1][@type='java.lang.Class<T>']]/parameter[@name='p1']"
|
||||
name="managedName"
|
||||
>
|
||||
networkExtras
|
||||
</attr>
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.rewarded']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Rewarded
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation.rtb']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Mediation.Rtb
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.initialization']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Initialization
|
||||
</attr>
|
||||
|
||||
|
||||
<!--
|
||||
causing ACW errors:
|
||||
./samples/com.google.android.gms/play-services-ads-lite/AdsLiteSample/obj/Debug/android/src/crc6449ab38c9a8eed94c/MainActivity.java(36,36):
|
||||
Error JAVAC0000: error: cannot inherit from final AdActivity
|
||||
extends com.google.android.gms.ads.AdActivity
|
||||
(JAVAC0000) (AdsLiteSample) javac
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdActivity']"
|
||||
name="final"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.appopen']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.AppOpen
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.instream']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.InStream
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.query']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Query
|
||||
</attr>
|
||||
-->
|
||||
|
||||
<!--
|
||||
https://github.com/xamarin/GooglePlayServicesComponents/issues/334
|
||||
|
||||
error: ShouldDelayBannerRenderingListenerImplementor is not abstract and does not override abstract method zzb(Runnable) in ShouldDelayBannerRenderingListener
|
||||
-->
|
||||
<!--
|
||||
Attempt 01:
|
||||
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb']"
|
||||
/>
|
||||
-->
|
||||
<!--
|
||||
Additions.cs for tweaking
|
||||
-->
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']"
|
||||
/>
|
||||
|
||||
<!--
|
||||
Attempt 02:
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']"
|
||||
name="abstract"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb']"
|
||||
name="abstract"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb']"
|
||||
name="final"
|
||||
>
|
||||
true
|
||||
</attr>
|
||||
-->
|
||||
<!--
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']"
|
||||
name="abstract"
|
||||
>true</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb']"
|
||||
name="abstract"
|
||||
>true</attr>
|
||||
-->
|
||||
|
||||
<!--
|
||||
TODO: issue in java.interop why was this necessary?
|
||||
|
||||
<add-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']"
|
||||
>
|
||||
<method
|
||||
visibility="public" static="false" abstract="false" return="boolean" name="zzb"
|
||||
jni-signature="(Ljava/lang/Runnable;)Z" jni-return="Z"
|
||||
bridge="false" native="false" deprecated="not deprecated" synchronized="false" synthetic="false"
|
||||
obfuscated="false" final="true"
|
||||
>
|
||||
<parameter type="java.lang.Runnable" name="runnable" >
|
||||
</parameter>
|
||||
</method>
|
||||
</add-node>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']"
|
||||
/>
|
||||
<!--
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='onAdLoaded' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.mediation.NativeAdMapper']]"
|
||||
name="managedName"
|
||||
>
|
||||
OnNativeAdLoaded
|
||||
</attr>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd']]"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=3 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd'] and parameter[3][@type='java.lang.String']]"
|
||||
/>
|
||||
-->
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='ShouldDelayBannerRenderingListener']/method[@name='zzb']"
|
||||
name="abstract"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='zza']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']/interface[@name='zzxb']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']/interface[@name='zzxg']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']/interface[@name='zzabt']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']/interface[@name='zzabv']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']/interface[@name='zzrl']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']/interface[@name='zzrl']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']/interface[@name='zzyw']"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']"
|
||||
name="abstract"
|
||||
>
|
||||
true
|
||||
</attr>
|
||||
|
||||
<add-node path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']">
|
||||
<method abstract="false" deprecated="not deprecated" final="true" name="zza" native="false" return="void" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="adapter" type="com.google.android.gms.ads.mediation.MediationNativeAdapter"></parameter>
|
||||
<parameter name="customTemplateAd" type="com.android.gms.ads.formats.NativeCustomTemplateAd"></parameter>
|
||||
<parameter name="str" type="java.lang.String"></parameter>
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<add-node path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']">
|
||||
<method abstract="false" deprecated="not deprecated" final="true" name="zza" native="false" return="void" static="false" synchronized="false" visibility="public">
|
||||
<parameter name="adapter" type="com.google.android.gms.ads.mediation.MediationNativeAdapter"></parameter>
|
||||
<parameter name="customTemplateAd" type="com.android.gms.ads.formats.NativeCustomTemplateAd"></parameter>
|
||||
</method>
|
||||
</add-node>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd']]"
|
||||
name="managedName"
|
||||
>
|
||||
Zza1
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd']]"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd']]"
|
||||
name="abstract"
|
||||
>
|
||||
true
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=3 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd'] and parameter[3][@type='java.lang.String']]"
|
||||
name="managedName"
|
||||
>
|
||||
Zza2
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=3 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd'] and parameter[3][@type='java.lang.String']]"
|
||||
name="obfuscated"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='zza' and count(parameter)=3 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='com.google.android.gms.ads.formats.NativeCustomTemplateAd'] and parameter[3][@type='java.lang.String']]"
|
||||
name="abstract"
|
||||
>
|
||||
true
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Internal.Ads
|
||||
</attr>
|
||||
|
||||
|
||||
<!--
|
||||
./samples/com.google.android.gms/play-services-ads-lite/AdsLiteSample/obj/Debug/android/src/crc6449ab38c9a8eed94c/MainActivity.java(14,14): Error JAVAC0000: error: onCreate(Bundle) in MainActivity cannot override onCreate(Bundle) in AdActivity
|
||||
public void onCreate (android.os.Bundle p0)
|
||||
overridden method is final
|
||||
(JAVAC0000) (AdsLiteSample) javac
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdActivity']/method[@name='onCreate' and count(parameter)=1 and parameter[1][@type='android.os.Bundle']]"
|
||||
name="final"
|
||||
>
|
||||
false
|
||||
</attr>
|
||||
-->
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.ads']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Internal.Ads
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdValue']/method[@name='getPrecisionType' and count(parameter)=0]"
|
||||
name="managedName"
|
||||
>
|
||||
PrecisionTypeData
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.query']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Query
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.appopen']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.AppOpen
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.instream']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.InStream
|
||||
</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.interstitial']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Interstitial
|
||||
</attr>
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.h5']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.H5
|
||||
</attr>
|
||||
|
||||
<!--
|
||||
better in Transforms/EnumMethods.xml
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdActivity']/method[@name='onRequestPermissionsResult' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='java.lang.String[]'] and parameter[3][@type='int[]']]/parameter[3]"
|
||||
name="managedType"
|
||||
>
|
||||
Android.Content.PM.Permission[]
|
||||
</attr>
|
||||
-->
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.admanager']/class[@name='AdManagerAdRequest.Builder']/method[@name='self' and count(parameter)=0]"
|
||||
name="managedReturn"
|
||||
>
|
||||
Java.Lang.Object
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdRequest.Builder']/method[@name='self' and count(parameter)=0]"
|
||||
name="managedReturn"
|
||||
>
|
||||
Java.Lang.Object
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.admanager']/class[@name='AdManagerAdRequest.Builder']/method[@name='self' and count(parameter)=0]"
|
||||
name="visibility"
|
||||
>
|
||||
protected
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads']/class[@name='AdRequest.Builder']/method[@name='self' and count(parameter)=0]"
|
||||
name="visibility"
|
||||
>
|
||||
protected
|
||||
</attr>
|
||||
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.internal.util.client']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Internal.Util.Client
|
||||
</attr>
|
||||
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,114 @@
|
|||
<metadata>
|
||||
|
||||
<!-- Rename Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.ads']" name="managedName">Google.Ads</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']" name="managedName">Google.Ads.Mediation</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation.admob']" name="managedName">Google.Ads.Mediation.Admob</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation.customevent']" name="managedName">Google.Ads.Mediation.CustomEvent</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.afma.nano']" name="managedName">Google.Ads.Afma.Nano</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads']" name="managedName">Android.Gms.Ads</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']" name="managedName">Android.Gms.Ads.Formats</attr>
|
||||
<!-- <attr path="/api/package[@name='com.google.android.gms.ads.identifier']" name="managedName">Android.Gms.Ads.Identifier</attr>-->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.reward']" name="managedName">Android.Gms.Ads.Reward</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.reward.mediation']" name="managedName">Android.Gms.Ads.Reward.Mediation</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.doubleclick']" name="managedName">Android.Gms.Ads.DoubleClick</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']" name="managedName">Android.Gms.Ads.Mediation</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.admob']" name="managedName">Android.Gms.Ads.Mediation.Admob</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.customevent']" name="managedName">Android.Gms.Ads.Mediation.CustomEvent</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.nonagon.transaction.omid']" name="managedName">Android.Gms.Ads.Nonagon.Transaction.Omid</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']" name="managedName">Android.Gms.Ads.Purchase</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.search']" name="managedName">Android.Gms.Ads.Search</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.internal']" name="managedName">Android.Gms.Internal</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.dynamite.descriptors.com.google.android.gms.ads.dynamite']" name="managedName">Android.Gms.Dynamite.Descriptors.Ads.Dynamite</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.doubleclick']/interface[@name='AppEventListener']/method[@name='onAppEvent']/parameter[1]" name="managedName">name</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.doubleclick']/interface[@name='AppEventListener']/method[@name='onAppEvent']/parameter[2]" name="managedName">data</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.customevent']/interface[@name='CustomEventListener']/method[@name='onAdFailedToLoad']/parameter[1]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']/interface[@name='InAppPurchaseListener']/method[@name='onInAppPurchaseRequested']/parameter[1]" name="managedName">inAppPurchase</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']/interface[@name='PlayStorePurchaseListener']/method[@name='isValidPurchase']/parameter[1]" name="managedName">productId</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.purchase']/interface[@name='PlayStorePurchaseListener']/method[@name='onInAppPurchaseFinished']/parameter[1]" name="managedName">inAppPurchaseResult</attr>
|
||||
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'android.gms.internal')]" />
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.ads.internal')]" />
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz')]" />
|
||||
<!-- <remove-node path="/api/package/interface[contains(@name, 'zz')]" />-->
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<!-- <remove-node path="/api/*/*/field[contains(@name, 'zz')]" />-->
|
||||
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
|
||||
<!-- Some classes are private that need to be public to subclass -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads']/class[@name='BaseAdView']" name="visibility">public</attr>
|
||||
|
||||
<!-- Fix up Duplicate event arg types -->
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onDismissScreen']" name="argsType">BannerDismissScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onFailedToReceiveAd']" name="argsType">BannerFailedToReceiveAdEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onLeaveApplication']" name="argsType">BannerLeaveApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onPresentScreen']" name="argsType">BannerPresentScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onReceivedAd']" name="argsType">BannerReceiveAdEventArgs</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onDismissScreen']" name="argsType">IntersitionalDismissScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onFailedToReceiveAd']" name="argsType">IntersitionalFailedToReceiveAdEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onLeaveApplication']" name="argsType">InterstitialLeaveApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onPresentScreen']" name="argsType">InterstitialPresentScreenEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onReceivedAd']" name="argsType">InterstitialReceiveAdEventArgs</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdClicked']" name="argsType">MediationInterstitialAdClickedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdClosed']" name="argsType">MediationInterstitialAdClosedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdFailedToLoad']" name="argsType">MediationInterstitialAdFailedToLoadEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdLeftApplication']" name="argsType">MediationInterstitialAdLeftApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdLoaded']" name="argsType">MediationInterstitialAdLoadedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdOpened']" name="argsType">MediationInterstitialAdOpenedEventArgs</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdClicked']" name="argsType">MediationBannerAdClickedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdClosed']" name="argsType">MediationBannerAdClosedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdFailedToLoad']" name="argsType">MediationBannerAdFailedToLoadEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdLeftApplication']" name="argsType">MediationBannerAdLeftApplicationEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdLoaded']" name="argsType">MediationBannerAdLoadedEventArgs</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdOpened']" name="argsType">MediationBannerAdOpenedEventArgs</attr>
|
||||
|
||||
<!-- Fix parameter names to be consistent with previous releases -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']/class[@name='NativeAdView']/method[@name='setNativeAd' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.formats.NativeAd']]/parameter[1]" name="managedName">ad</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='NativeAppInstallAd.OnAppInstallAdLoadedListener']/method[@name='onAppInstallAdLoaded' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.formats.NativeAppInstallAd']]/parameter[1]" name="managedName">ad</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.formats']/interface[@name='NativeContentAd.OnContentAdLoadedListener']/method[@name='onContentAdLoaded' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.formats.NativeContentAd']]/parameter[1]" name="managedName">ad</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation.customevent']/interface[@name='CustomEventNativeListener']/method[@name='onAdLoaded' and count(parameter)=1 and parameter[1][@type='com.google.android.gms.ads.mediation.NativeAdMapper']]/parameter[1]" name="managedName">ad</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationNativeListener']/method[@name='onAdFailedToLoad' and count(parameter)=2 and parameter[1][@type='com.google.android.gms.ads.mediation.MediationNativeAdapter'] and parameter[2][@type='int']]/parameter[2]" name="managedName">errorCode</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onAdFailedToLoad']/parameter[2]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onAdFailedToLoad']/parameter[2]" name="managedName">errorCode</attr>
|
||||
|
||||
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onReceivedAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onFailedToReceiveAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onFailedToReceiveAd']/parameter[2]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onPresentScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onDismissScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onLeaveApplication']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationBannerListener']/method[@name='onClick']/parameter[1]" name="managedName">adapter</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onReceivedAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onFailedToReceiveAd']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onFailedToReceiveAd']/parameter[2]" name="managedName">errorCode</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onPresentScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onDismissScreen']/parameter[1]" name="managedName">adapter</attr>
|
||||
<attr path="/api/package[@name='com.google.ads.mediation']/interface[@name='MediationInterstitialListener']/method[@name='onLeaveApplication']/parameter[1]" name="managedName">adapter</attr>
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.nonagon.util.logging.csi']"
|
||||
name="managedName"
|
||||
>
|
||||
Google.Ads.Nonagon.Util.Logging.Csi
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,27 @@
|
|||
<metadata>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.afsn']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Afsn
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.afsn.purchases']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Afsn.Purchase
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.ads.afsn.search']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Ads.Afsn.Search
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.skipjack']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Internal.SkipJack
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,5 @@
|
|||
<metadata>
|
||||
s
|
||||
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,115 @@
|
|||
<metadata>
|
||||
|
||||
<!-- Fix Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']" name="managedName">Android.Gms.Analytics</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics.internal']" name="managedName">Android.Gms.Analytics.Internal</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics.ecommerce']" name="managedName">Android.Gms.Analytics.Ecommerce</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']" name="managedName">Android.Gms.Tagmanager</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']/class[@name='TagManager']" name="managedName">TagManagerClass</attr>
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.internal')]" />
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/package/interface[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<!-- <remove-node path="/api/*/*/field[contains(@name, 'zz')]" />-->
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']/interface[@name='ContainerHolder.ContainerAvailableListener']/method[@name='onContainerAvailable']/parameter[1]" name="managedName">containerHolder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']/interface[@name='ContainerHolder.ContainerAvailableListener']/method[@name='onContainerAvailable']/parameter[2]" name="managedName">containerVersion</attr>
|
||||
|
||||
<!-- This ctor is used internally and has parameters of *zz* types so remove it -->
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.analytics']/class[@name='GoogleAnalytics']/constructor[@name='GoogleAnalytics' and count(parameter)=1]" />
|
||||
|
||||
<!-- Fix inheritence to not be internal type -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='GoogleAnalytics']" name="extends">Java.Lang.Object</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='Tracker']" name="extends">Java.Lang.Object</attr>
|
||||
|
||||
<!-- Fix visibility -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']" name="visibility">public</attr>
|
||||
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.internal']/class[@name='zztc']" name="obfuscated">false</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.internal']/interface[@name='zztc.zza']" name="obfuscated">false</attr>
|
||||
|
||||
<!-- Fix return type of HitBuilder builder methods -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='addImpression']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='addProduct']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='addPromotion']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='set']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setAll']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setCampaignParamsFromUrl']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setCustomDimension']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setCustomMetric']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setHitType']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setNewSession']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setNonInteraction']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setProductAction']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='setPromotionAction']" name="return">com.google.android.gms.analytics.HitBuilders.HitBuilder</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.EventBuilder']/method[@name='setAction']" name="return">com.google.android.gms.analytics.HitBuilders.EventBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.EventBuilder']/method[@name='setCategory']" name="return">com.google.android.gms.analytics.HitBuilders.EventBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.EventBuilder']/method[@name='setLabel']" name="return">com.google.android.gms.analytics.HitBuilders.EventBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.EventBuilder']/method[@name='setValue']" name="return">com.google.android.gms.analytics.HitBuilders.EventBuilder</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ExceptionBuilder']/method[@name='setDescription']" name="return">com.google.android.gms.analytics.HitBuilders.ExceptionBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ExceptionBuilder']/method[@name='setFatal']" name="return">com.google.android.gms.analytics.HitBuilders.ExceptionBuilder</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='setCategory']" name="return">com.google.android.gms.analytics.HitBuilders.ItemBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='setCurrencyCode']" name="return">com.google.android.gms.analytics.HitBuilders.ItemBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='setName']" name="return">com.google.android.gms.analytics.HitBuilders.ItemBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='setPrice']" name="return">com.google.android.gms.analytics.HitBuilders.ItemBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='setQuantity']" name="return">com.google.android.gms.analytics.HitBuilders.ItemBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='setSku']" name="return">com.google.android.gms.analytics.HitBuilders.ItemBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='setTransactionId']" name="return">com.google.android.gms.analytics.HitBuilders.ItemBuilder</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.SocialBuilder']/method[@name='setAction']" name="return">com.google.android.gms.analytics.HitBuilders.SocialBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.SocialBuilder']/method[@name='setNetwork']" name="return">com.google.android.gms.analytics.HitBuilders.SocialBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.SocialBuilder']/method[@name='setTarget']" name="return">com.google.android.gms.analytics.HitBuilders.SocialBuilder</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TimingBuilder']/method[@name='setCategory']" name="return">com.google.android.gms.analytics.HitBuilders.TimingBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TimingBuilder']/method[@name='setLabel']" name="return">com.google.android.gms.analytics.HitBuilders.TimingBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TimingBuilder']/method[@name='setValue']" name="return">com.google.android.gms.analytics.HitBuilders.TimingBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TimingBuilder']/method[@name='setVariable']" name="return">com.google.android.gms.analytics.HitBuilders.TimingBuilder</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TransactionBuilder']/method[@name='setAffiliation']" name="return">com.google.android.gms.analytics.HitBuilders.TransactionBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TransactionBuilder']/method[@name='setCurrencyCode']" name="return">com.google.android.gms.analytics.HitBuilders.TransactionBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TransactionBuilder']/method[@name='setRevenue']" name="return">com.google.android.gms.analytics.HitBuilders.TransactionBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TransactionBuilder']/method[@name='setShipping']" name="return">com.google.android.gms.analytics.HitBuilders.TransactionBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TransactionBuilder']/method[@name='setTax']" name="return">com.google.android.gms.analytics.HitBuilders.TransactionBuilder</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TransactionBuilder']/method[@name='setTransactionId']" name="return">com.google.android.gms.analytics.HitBuilders.TransactionBuilder</attr>
|
||||
|
||||
|
||||
<!-- Fix return type for inheritence -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.AppViewBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.EventBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ExceptionBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ItemBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.SocialBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TimingBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.TransactionBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.ScreenViewBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='HitBuilders.HitBuilder']/method[@name='build']" name="return">java.util.Map<java.lang.String, java.lang.String></attr>
|
||||
|
||||
<!-- Fix inheritence of IntentService - Not required for 5.1 -->
|
||||
<!-- <attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='AnalyticsService']" name="extends">mono.android.app.IntentService</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='AnalyticsService']/method[@name='onHandleIntent']" name="visibility">protected</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='CampaignTrackingService']" name="extends">mono.android.app.IntentService</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']/class[@name='CampaignTrackingService']/method[@name='onHandleIntent']" name="visibility">protected</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']/class[@name='InstallReferrerService']" name="extends">mono.android.app.IntentService</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']/class[@name='InstallReferrerService']/method[@name='onHandleIntent']" name="visibility">protected</attr>
|
||||
-->
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.internal.measurement']"
|
||||
>
|
||||
</remove-node>
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,29 @@
|
|||
<metadata>
|
||||
|
||||
<!-- Fix Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics']" name="managedName">Android.Gms.Analytics</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics.internal']" name="managedName">Android.Gms.Analytics.Internal</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.analytics.ecommerce']" name="managedName">Android.Gms.Analytics.Ecommerce</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']" name="managedName">Android.Gms.Tagmanager</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.tagmanager']/class[@name='TagManager']" name="managedName">TagManagerClass</attr>
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.internal')]" />
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/package/interface[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<!-- <remove-node path="/api/*/*/field[contains(@name, 'zz')]" />-->
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
|
||||
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.analytics']/class[@name='AnalyticsService']/implements[@name='com.google.android.gms.internal.zztc.zza']" />
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,26 @@
|
|||
<metadata>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.appindex']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.AppIndex
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.appindex.builders']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.AppIndex.Builders
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.internal.appindex']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Internal.AppIndex
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.firebase.appindexing.internal']"
|
||||
name="managedName"
|
||||
>
|
||||
Firebase.AppIndexing.Internal
|
||||
</attr>
|
||||
</metadata>
|
|
@ -0,0 +1,3 @@
|
|||
<metadata>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
using System;
|
||||
using Android.Runtime;
|
||||
|
||||
namespace Android.Gms.People.ProtoModel
|
||||
{
|
||||
internal static class FreezeMethodImplementor
|
||||
{
|
||||
internal static Java.Lang.Object Freeze(ref IntPtr id_freeze, IntPtr class_ref, IntPtr Handle)
|
||||
{
|
||||
if (id_freeze == IntPtr.Zero)
|
||||
id_freeze = JNIEnv.GetMethodID(class_ref, "freeze", "()Ljava/lang/Object;");
|
||||
return (Java.Lang.Object)global::Java.Lang.Object.GetObject<global::Java.Lang.Object>(JNIEnv.CallObjectMethod(Handle, id_freeze), JniHandleOwnership.TransferLocalRef);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Runtime;
|
||||
using Android.Gms.Common.Apis;
|
||||
using Android.App;
|
||||
|
||||
namespace Android.Gms.AppInvite
|
||||
{
|
||||
public static partial class IAppInviteApiExtensions
|
||||
{
|
||||
public static async Task<Statuses> ConvertInvitationAsync (this IAppInviteApi api, GoogleApiClient client, string invitationId) {
|
||||
return (await api.ConvertInvitation (client, invitationId)).JavaCast<Statuses> ();
|
||||
}
|
||||
|
||||
[Obsolete]
|
||||
public static async Task<Statuses> UpdateInvitationOnInstallAsync (this IAppInviteApi api, GoogleApiClient client, string invitationId) {
|
||||
return (await api.UpdateInvitationOnInstall (client, invitationId)).JavaCast<Statuses> ();
|
||||
}
|
||||
|
||||
[Obsolete]
|
||||
public static async Task<IAppInviteInvitationResult> GetInvitationAsync (this IAppInviteApi api, GoogleApiClient client, Activity activity, bool flag) {
|
||||
return (await api.GetInvitation(client, activity, flag)).JavaCast<IAppInviteInvitationResult>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,34 @@
|
|||
<metadata>
|
||||
<!-- Fix Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.appinvite']" name="managedName">Android.Gms.AppInvite</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.people.protomodel']" name="managedName">Android.Gms.People.ProtoModel</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.internal']" name="managedName">Android.Gms.Internal</attr>
|
||||
<attr path="/api/package[@name='com.google.firebase.appinvite']" name="managedName">Firebase.AppInvite</attr>
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.internal')]" />
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<!-- <remove-node path="/api/package/class[contains(@name, 'zz')]" />-->
|
||||
<!-- <remove-node path="/api/package/interface[contains(@name, 'zz')]" />-->
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/field[contains(@name, 'zz')]" />
|
||||
<!-- <remove-node path="/api/*/*/field[@name='CREATOR' and contains(@type, 'zz')]" />-->
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.appinvite']/class[@name='AppInvite']" name="managedName">AppInviteClass</attr>
|
||||
<!-- Fix API name to be uppercase to be consistent in avoiding naming conflicts with fields in C# bindings -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.appinvite']/class[@name='AppInvite']/field[@name='API']" name="managedName">API</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.people.protomodel']/class[@name='FetchBackUpDeviceContactInfoResponseEntity']" name="extends">Java.Lang.Object</attr>
|
||||
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.internal.measurement']"
|
||||
>
|
||||
</remove-node>
|
||||
</metadata>
|
|
@ -0,0 +1,4 @@
|
|||
using System;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Android.Graphics;
|
|
@ -0,0 +1,2 @@
|
|||
<enum-field-mappings>
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,2 @@
|
|||
<enum-method-mappings>
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,9 @@
|
|||
<metadata>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.appset']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.AppSet
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,2 @@
|
|||
<metadata>
|
||||
</metadata>
|
|
@ -0,0 +1,3 @@
|
|||
<metadata>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,16 @@
|
|||
<metadata>
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.internal')]" />
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/package/interface[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/field[contains(@name, 'zz')]" />
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
</metadata>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,28 @@
|
|||
<metadata>
|
||||
<!-- Fix Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.gass.internal']" name="managedName">Android.Gms.Gass.Internal</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.phone']" name="managedName">Android.Gms.Auth.Api.Phone</attr>
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.internal.auth-api-phone']" ></remove-node>
|
||||
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.internal')]" />
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/package/interface[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/field[contains(@name, 'zz')]" />
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
|
||||
<!-- We don't want to subclass this type, it will change the base type on a bunch of things from past versions -->
|
||||
<attr path="/api/package/*[@extends='com.google.android.gms.common.internal.safeparcel.zza']" name="extends">java.lang.Object</attr>
|
||||
<attr path="/api/package/*[@extends='com.google.android.gms.common.internal.safeparcel.zza']" name="extends-generic-aware">java.lang.Object</attr>
|
||||
<remove-node path="/api/package/*/implements[@name='com.google.android.gms.common.internal.ReflectedParcelable']" />
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,39 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Gms.Common.Apis;
|
||||
using Android.Gms.Common;
|
||||
using Android.Runtime;
|
||||
|
||||
namespace Android.Gms.Auth.Api.Proxy
|
||||
{
|
||||
public static partial class IProxyApiExtensions
|
||||
{
|
||||
public static async Task<IProxyApiProxyResult> PerformProxyRequestAsync (this IProxyApi api, GoogleApiClient client, Android.Gms.Auth.Api.Proxy.ProxyRequest request)
|
||||
{
|
||||
return (await api.PerformProxyRequest (client, request)).JavaCast<IProxyApiProxyResult> ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Android.Gms.Auth.Account
|
||||
{
|
||||
public static partial class IWorkAccountApiExtensions
|
||||
{
|
||||
public static async Task<IWorkAccountApiAddAccountResult> AddWorkAccountAsync(this IWorkAccountApi api, GoogleApiClient client, string token)
|
||||
{
|
||||
return (await api.AddWorkAccount(client, token)).JavaCast<IWorkAccountApiAddAccountResult>();
|
||||
}
|
||||
|
||||
public static async Task<IResult> PerformProxyRequestAsync(this IWorkAccountApi api, GoogleApiClient client, Accounts.Account account)
|
||||
{
|
||||
return (await api.RemoveWorkAccount(client, account)).JavaCast<IResult>();
|
||||
}
|
||||
|
||||
public static async Task<IResult> SetWorkAuthenticatorEnabledWithResultAsync(this IWorkAccountApi api, Android.Gms.Common.Apis.GoogleApiClient client, bool enabled)
|
||||
{
|
||||
return (await api.SetWorkAuthenticatorEnabledWithResult(client, enabled)).JavaCast<IResult>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Gms.Extensions;
|
||||
|
||||
namespace Android.Gms.Auth.Account
|
||||
{
|
||||
public partial class WorkAccountClient
|
||||
{
|
||||
public virtual Task<Android.Accounts.Account> AddWorkAccountAsync(string token)
|
||||
{
|
||||
return AddWorkAccount(token).AsAsync<Android.Accounts.Account>();
|
||||
}
|
||||
|
||||
public virtual Task RemoveWorkAccountAsync(Android.Accounts.Account account)
|
||||
{
|
||||
return RemoveWorkAccount(account).AsAsync();
|
||||
}
|
||||
|
||||
public virtual Task SetWorkAuthenticatorEnabledAsync(bool enabled)
|
||||
{
|
||||
return SetWorkAuthenticatorEnabled(enabled).AsAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Android.Gms.Auth.Api.AccountTransfer
|
||||
{
|
||||
public partial class AccountTransferClient
|
||||
{
|
||||
public Task<DeviceMetaData> GetDeviceMetaDataAsync(string accountType)
|
||||
{
|
||||
return GetDeviceMetaData(accountType).AsAsync<DeviceMetaData>();
|
||||
}
|
||||
|
||||
public Task NotifyCompletionAsync(string accountType, int completionStatus)
|
||||
{
|
||||
return NotifyCompletion(accountType, completionStatus).AsAsync();
|
||||
}
|
||||
|
||||
public Task SendDataAsync(string accountType, byte[] transferData)
|
||||
{
|
||||
return SendData(accountType, transferData).AsAsync();
|
||||
}
|
||||
|
||||
public Task ShowUserChallengeAsync(string accountType, Android.App.PendingIntent pendingIntent)
|
||||
{
|
||||
return ShowUserChallenge(accountType, pendingIntent).AsAsync();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Gms.Extensions;
|
||||
using Android.OS;
|
||||
using Java.Lang;
|
||||
|
||||
namespace Android.Gms.Auth
|
||||
{
|
||||
// mc++ ckeck with Jon
|
||||
public partial class Zzd : global::Android.OS.IParcelableCreator
|
||||
{
|
||||
public Java.Lang.Object CreateFromParcel(Parcel source)
|
||||
{
|
||||
throw new NotImplementedException("Zzd.CreateFromParcel");
|
||||
}
|
||||
|
||||
public Java.Lang.Object[] NewArray(int size)
|
||||
{
|
||||
return new Java.Lang.Object[size];
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,42 @@
|
|||
<metadata>
|
||||
<!-- Fix Namespaces -->
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth']" name="managedName">Android.Gms.Auth</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.account']" name="managedName">Android.Gms.Auth.Account</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api']" name="managedName">Android.Gms.Auth.Api</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.proxy']" name="managedName">Android.Gms.Auth.Api.Proxy</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.accounttransfer']" name="managedName">Android.Gms.Auth.Api.AccountTransfer</attr>
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.internal')]" />
|
||||
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz') and @name != 'zzd' and @name != 'zze' and @name != 'zzg' and @name != 'zzl']" />
|
||||
<remove-node path="/api/package/interface[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/field[contains(@name, 'zz')]" />
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
<!-- <attr path="/api/package[@name='com.google.android.gms.auth']/class[@name='zze']" name="obfuscated">falsed</attr>-->
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth']/class[@name='zzd']" name="obfuscated">false</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth']/class[@name='zzg']" name="obfuscated">false</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth']/class[@name='zzl']" name="obfuscated">false</attr>
|
||||
|
||||
<!-- <attr path="/api/package[@name='com.google.android.gms.auth']/class[@name='GoogleAuthUtil']" name="extends">Java.Lang.Object</attr>-->
|
||||
|
||||
<!-- TODO: Consider removing when Cycle 9 is released -->
|
||||
<!--
|
||||
<remove-node path="/api/package[@name='com.google.android.gms.auth.api.proxy']/class[@name='zzd']/implements[@name='android.os.Parcelable.Creator']" />
|
||||
-->
|
||||
<!-- End TODO -->
|
||||
|
||||
<attr path="/api/package/*[@extends='com.google.android.gms.common.internal.safeparcel.zza']" name="extends">java.lang.Object</attr>
|
||||
<attr path="/api/package/*[@extends='com.google.android.gms.common.internal.safeparcel.zza']" name="extends-generic-aware">java.lang.Object</attr>
|
||||
<remove-node path="/api/package/*/implements[@name='com.google.android.gms.common.internal.ReflectedParcelable']" />
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,4 @@
|
|||
using System;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Android.Graphics;
|
|
@ -0,0 +1,2 @@
|
|||
<enum-field-mappings>
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,2 @@
|
|||
<enum-method-mappings>
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,21 @@
|
|||
<metadata>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.auth.blockstore']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Auth.Managed.Blockstore
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.auth.blockstore.restorecredential']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Auth.Managed.Blockstore.RestoreCredential
|
||||
</attr>
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.auth.blockstore.restorecredential.internal']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Auth.Managed.Blockstore.RestoreCredential.Internal
|
||||
</attr>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,2 @@
|
|||
<metadata>
|
||||
</metadata>
|
|
@ -0,0 +1,3 @@
|
|||
<metadata>
|
||||
|
||||
</metadata>
|
|
@ -0,0 +1,34 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Content;
|
||||
using Android.Gms.Extensions;
|
||||
|
||||
namespace Android.Gms.Auth.Api.SignIn
|
||||
{
|
||||
|
||||
public partial class GoogleSignIn
|
||||
{
|
||||
public static Task<GoogleSignInAccount> GetSignedInAccountFromIntentAsync (Intent intent)
|
||||
{
|
||||
return GetSignedInAccountFromIntent (intent).AsAsync<GoogleSignInAccount>();
|
||||
}
|
||||
}
|
||||
|
||||
public partial class GoogleSignInClient
|
||||
{
|
||||
public Task RevokeAccessAsync ()
|
||||
{
|
||||
return RevokeAccess ().AsAsync ();
|
||||
}
|
||||
|
||||
public Task SignOutAsync ()
|
||||
{
|
||||
return SignOut ().AsAsync ();
|
||||
}
|
||||
|
||||
public Task<GoogleSignInAccount> SilentSignInAsync ()
|
||||
{
|
||||
return SilentSignIn ().AsAsync<GoogleSignInAccount> ();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
|
||||
<field clr-name="Id" jni-name="Fragment_id" value="1" />
|
||||
<field clr-name="Name" jni-name="Fragment_name" value="0" />
|
||||
<field clr-name="Tag" jni-name="Fragment_tag" value="2" />
|
||||
</type>
|
||||
|
||||
Notes:
|
||||
- An optional "bitfield" attribute marks the enum type with [Flags].
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
-->
|
||||
</enum-field-mappings>
|
|
@ -0,0 +1,18 @@
|
|||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
|
||||
Notes:
|
||||
- For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
|
||||
- To change the type of the return value, use "return" as the parameter name.
|
||||
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
|
||||
-->
|
||||
</enum-method-mappings>
|
|
@ -0,0 +1,58 @@
|
|||
<metadata>
|
||||
<!-- Fix Namespaces -->
|
||||
<!-- <attr path="/api/package[@name='com.google.android.gms.auth']" name="managedName">Android.Gms.Auth</attr>-->
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api']" name="managedName">Android.Gms.Auth.Api</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.consent']" name="managedName">Android.Gms.Auth.Api.Consent</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.credentials']" name="managedName">Android.Gms.Auth.Api.Credentials</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.credentials.internal']" name="managedName">Android.Gms.Auth.Api.Credentials.Internal</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.signin']" name="managedName">Android.Gms.Auth.Api.SignIn</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api.signin.internal']" name="managedName">Android.Gms.Auth.Api.SignIn.Internal</attr>
|
||||
|
||||
<!-- Remove some internal namespaces -->
|
||||
<remove-node path="/api/package[contains(@name, 'com.google.android.gms.internal')]" />
|
||||
|
||||
<!-- Remove *zz* obfuscated items -->
|
||||
<remove-node path="/api/package/class[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/package/interface[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/method[contains(@name, 'zz')]" />
|
||||
<remove-node path="/api/*/*/field[contains(@name, 'zz')]" />
|
||||
|
||||
<!-- Fix params for some inherited parcelable types -->
|
||||
<attr path="/api/*/*/method[@name='createFromParcel']/parameter[@name='p0']" name="managedName">source</attr>
|
||||
<attr path="/api/*/*/method[@name='newArray']/parameter[@name='p0']" name="managedName">size</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p0']" name="managedName">dest</attr>
|
||||
<attr path="/api/*/*/method[@name='writeToParcel']/parameter[@name='p1']" name="managedName">flags</attr>
|
||||
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api']/class[@name='Auth']/field[@name='CREDENTIALS_API']" name="managedName">CREDENTIALS_API</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api']/class[@name='Auth']/field[@name='PROXY_API']" name="managedName">PROXY_API</attr>
|
||||
<attr path="/api/package[@name='com.google.android.gms.auth.api']/class[@name='Auth']/field[@name='GOOGLE_SIGN_IN_API']" name="managedName">GOOGLE_SIGN_IN_API</attr>
|
||||
|
||||
<!-- We don't want to subclass this type, it will change the base type on a bunch of things from past versions -->
|
||||
<attr path="/api/package/*[@extends='com.google.android.gms.common.internal.safeparcel.zza']" name="extends">java.lang.Object</attr>
|
||||
<attr path="/api/package/*[@extends='com.google.android.gms.common.internal.safeparcel.zza']" name="extends-generic-aware">java.lang.Object</attr>
|
||||
<remove-node path="/api/package/*/implements[@name='com.google.android.gms.common.internal.ReflectedParcelable']" />
|
||||
<remove-node path="/api/package/*/implements[@name='com.google.android.gms.common.internal.DowngradeableSafeParcel']" />
|
||||
|
||||
<attr
|
||||
path="/api/package[@name='com.google.android.gms.auth.api.identity']"
|
||||
name="managedName"
|
||||
>
|
||||
Android.Gms.Auth.Api.Identity
|
||||
</attr>
|
||||
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.auth.api.identity']/class[starts-with(@name,'zb')]/implements"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.auth.api.signin']/class[starts-with(@name,'zb')]/implements"
|
||||
/>
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.auth.api.credentials']/class[starts-with(@name,'zb')]/implements"
|
||||
/>
|
||||
|
||||
<remove-node
|
||||
path="/api/package[@name='com.google.android.gms.auth.api.signin.internal']/class[starts-with(@name,'zb')]"
|
||||
/>
|
||||
|
||||
</metadata>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Java.Interop;
|
||||
using Android.Gms.Common.Apis;
|
||||
|
||||
namespace Android.Gms.Awareness
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче