mirror of
https://github.com/microg/GmsCore
synced 2026-08-06 12:26:08 -04:00
Ads: Fix some API details
This commit is contained in:
parent
4c4247e02e
commit
fc737ad3cc
11 changed files with 87 additions and 32 deletions
|
|
@ -8,6 +8,7 @@ import android.os.IBinder
|
|||
import android.os.Parcel
|
||||
import android.util.Log
|
||||
import androidx.annotation.Keep
|
||||
import com.google.android.gms.ads.internal.client.IAdLoaderBuilder
|
||||
import com.google.android.gms.ads.internal.client.IAdLoaderBuilderCreator
|
||||
import com.google.android.gms.ads.internal.mediation.client.IAdapterCreator
|
||||
import com.google.android.gms.dynamic.IObjectWrapper
|
||||
|
|
@ -17,7 +18,7 @@ private const val TAG = "AdLoaderBuilder"
|
|||
|
||||
@Keep
|
||||
open class AdLoaderBuilderCreatorImpl : IAdLoaderBuilderCreator.Stub() {
|
||||
override fun newAdLoaderBuilder(context: IObjectWrapper?, adUnitId: String, adapterCreator: IAdapterCreator?, clientVersion: Int): IBinder? {
|
||||
override fun newAdLoaderBuilder(context: IObjectWrapper?, adUnitId: String, adapterCreator: IAdapterCreator?, clientVersion: Int): IAdLoaderBuilder? {
|
||||
Log.d(TAG, "newAdLoaderBuilder: adUnitId=$adUnitId clientVersion=$clientVersion")
|
||||
return LegacyAdLoaderBuilder()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import android.os.Parcel
|
|||
import android.util.Log
|
||||
import androidx.annotation.Keep
|
||||
import com.google.android.gms.ads.internal.client.AdSizeParcel
|
||||
import com.google.android.gms.ads.internal.client.IAdManager
|
||||
import com.google.android.gms.ads.internal.client.IAdManagerCreator
|
||||
import com.google.android.gms.ads.internal.mediation.client.IAdapterCreator
|
||||
import com.google.android.gms.dynamic.IObjectWrapper
|
||||
|
|
@ -20,12 +21,12 @@ private const val TAG = "AdManagerCreator"
|
|||
|
||||
@Keep
|
||||
open class AdManagerCreatorImpl : IAdManagerCreator.Stub() {
|
||||
override fun newAdManager(context: IObjectWrapper?, adSize: AdSizeParcel?, adUnitId: String?, adapterCreator: IAdapterCreator?, clientVersion: Int): IBinder {
|
||||
override fun newAdManager(context: IObjectWrapper?, adSize: AdSizeParcel?, adUnitId: String?, adapterCreator: IAdapterCreator?, clientVersion: Int): IAdManager {
|
||||
Log.d(TAG, "newAdManager: adUnitId=$adUnitId clientVersion=$clientVersion")
|
||||
return LegacyAdManager(ObjectWrapper.unwrap(context) as? Context)
|
||||
}
|
||||
|
||||
override fun newAdManagerByType(context: IObjectWrapper?, adSize: AdSizeParcel?, adUnitId: String?, adapterCreator: IAdapterCreator?, clientVersion: Int, type: Int): IBinder {
|
||||
override fun newAdManagerByType(context: IObjectWrapper?, adSize: AdSizeParcel?, adUnitId: String?, adapterCreator: IAdapterCreator?, clientVersion: Int, type: Int): IAdManager {
|
||||
Log.d(TAG, "newAdManagerByType: adUnitId=$adUnitId clientVersion=$clientVersion type=$type")
|
||||
return LegacyAdManager(ObjectWrapper.unwrap(context) as? Context)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,18 +27,18 @@ private const val TAG = "LegacyAdLoader"
|
|||
|
||||
internal class LegacyAdLoaderBuilder : IAdLoaderBuilder.Stub() {
|
||||
override fun build(): IAdLoader = LegacyAdLoader
|
||||
override fun setAdListener(listener: IAdListener?) = Unit
|
||||
override fun setAppInstallAdLoadedListener(listener: IOnAppInstallAdLoadedListener?) = Unit
|
||||
override fun setContentAdLoadedListener(listener: IOnContentAdLoadedListener?) = Unit
|
||||
override fun withAdListener(listener: IAdListener?) = Unit
|
||||
override fun withAppInstallAdLoadedListener(listener: IOnAppInstallAdLoadedListener?) = Unit
|
||||
override fun withContentAdLoadedListener(listener: IOnContentAdLoadedListener?) = Unit
|
||||
override fun forCustomFormatAd(templateId: String?, onCustomFormatAdLoadedListener: IOnCustomTemplateAdLoadedListener?, onCustomClickListener: IOnCustomClickListener?) = Unit
|
||||
override fun setNativeAdOptions(options: NativeAdOptionsParcel?) = Unit
|
||||
override fun setCorrelationIdProvider(provider: ICorrelationIdProvider?) = Unit
|
||||
override fun forPublisherAdView(onPublisherAdViewLoadedListener: IOnPublisherAdViewLoadedListener?, adSize: AdSizeParcel?) = Unit
|
||||
override fun setPublisherAdViewOptions(options: PublisherAdViewOptions?) = Unit
|
||||
override fun setUnifiedNativeAdLoadedListener(listener: IOnUnifiedNativeAdLoadedListener?) = Unit
|
||||
override fun withNativeAdOptions(options: NativeAdOptionsParcel?) = Unit
|
||||
override fun withCorrelationIdProvider(provider: ICorrelationIdProvider?) = Unit
|
||||
override fun forAdView(onPublisherAdViewLoadedListener: IOnPublisherAdViewLoadedListener?, adSize: AdSizeParcel?) = Unit
|
||||
override fun withPublisherAdViewOptions(options: PublisherAdViewOptions?) = Unit
|
||||
override fun forNativeAd(listener: IOnUnifiedNativeAdLoadedListener?) = Unit
|
||||
override fun forInstreamAd(config: InstreamAdConfigurationParcel?) = Unit
|
||||
override fun setInstreamAdLoadCallback(callback: IInstreamAdLoadCallback?) = Unit
|
||||
override fun setAdManagerAdViewOptions(options: AdManagerAdViewOptions?) = Unit
|
||||
override fun withAdManagerAdViewOptions(options: AdManagerAdViewOptions?) = Unit
|
||||
}
|
||||
|
||||
private object LegacyAdLoader : IAdLoader.Stub() {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import android.os.IBinder
|
|||
import android.os.Parcel
|
||||
import android.util.Log
|
||||
import androidx.annotation.Keep
|
||||
import com.google.android.gms.ads.internal.client.IMobileAdsSettingManager
|
||||
import com.google.android.gms.ads.internal.client.IMobileAdsSettingManagerCreator
|
||||
import com.google.android.gms.dynamic.IObjectWrapper
|
||||
import com.google.android.gms.dynamic.ObjectWrapper
|
||||
|
|
@ -19,7 +20,7 @@ private const val TAG = "AdsSettingManager"
|
|||
|
||||
@Keep
|
||||
open class MobileAdsSettingManagerCreatorImpl : IMobileAdsSettingManagerCreator.Stub() {
|
||||
override fun getMobileAdsSettingManager(context: IObjectWrapper?, clientVersion: Int): IBinder {
|
||||
override fun getMobileAdsSettingManager(context: IObjectWrapper?, clientVersion: Int): IMobileAdsSettingManager {
|
||||
Log.d(TAG, "getMobileAdsSettingManager($clientVersion)")
|
||||
return MobileAdsSettingManagerImpl(ObjectWrapper.unwrap(context) as Context)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,16 +23,16 @@ import com.google.android.gms.ads.formats.AdManagerAdViewOptions;
|
|||
|
||||
interface IAdLoaderBuilder {
|
||||
IAdLoader build() = 0;
|
||||
void setAdListener(IAdListener listener) = 1;
|
||||
void setAppInstallAdLoadedListener(IOnAppInstallAdLoadedListener listener) = 2;
|
||||
void setContentAdLoadedListener(IOnContentAdLoadedListener listener) = 3;
|
||||
void forCustomFormatAd(String templateId, IOnCustomTemplateAdLoadedListener onCustomFormatAdLoadedListener, IOnCustomClickListener onCustomClickListener) = 4;
|
||||
void setNativeAdOptions(in NativeAdOptionsParcel options) = 5;
|
||||
void setCorrelationIdProvider(ICorrelationIdProvider provider) = 6;
|
||||
void forPublisherAdView(IOnPublisherAdViewLoadedListener onPublisherAdViewLoadedListener, in AdSizeParcel adSize) = 7;
|
||||
void setPublisherAdViewOptions(in PublisherAdViewOptions options) = 8;
|
||||
void setUnifiedNativeAdLoadedListener(IOnUnifiedNativeAdLoadedListener listener) = 9;
|
||||
void withAdListener(IAdListener listener) = 1;
|
||||
void withAppInstallAdLoadedListener(IOnAppInstallAdLoadedListener listener) = 2;
|
||||
void withContentAdLoadedListener(IOnContentAdLoadedListener listener) = 3;
|
||||
void forCustomFormatAd(String customFormatId, IOnCustomTemplateAdLoadedListener onCustomFormatAdLoadedListener, IOnCustomClickListener onCustomClickListener) = 4;
|
||||
void withNativeAdOptions(in NativeAdOptionsParcel options) = 5;
|
||||
void withCorrelationIdProvider(ICorrelationIdProvider provider) = 6;
|
||||
void forAdView(IOnPublisherAdViewLoadedListener onPublisherAdViewLoadedListener, in AdSizeParcel adSize) = 7;
|
||||
void withPublisherAdViewOptions(in PublisherAdViewOptions options) = 8;
|
||||
void forNativeAd(IOnUnifiedNativeAdLoadedListener listener) = 9;
|
||||
void forInstreamAd(in InstreamAdConfigurationParcel config) = 12;
|
||||
void setInstreamAdLoadCallback(IInstreamAdLoadCallback callback) = 13;
|
||||
void setAdManagerAdViewOptions(in AdManagerAdViewOptions options) = 14;
|
||||
void withAdManagerAdViewOptions(in AdManagerAdViewOptions options) = 14;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
package com.google.android.gms.ads.internal.client;
|
||||
|
||||
import com.google.android.gms.ads.internal.client.IAdLoaderBuilder;
|
||||
import com.google.android.gms.ads.internal.mediation.client.IAdapterCreator;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
|
||||
interface IAdLoaderBuilderCreator {
|
||||
IBinder newAdLoaderBuilder(IObjectWrapper context, String adUnitId, IAdapterCreator adapterCreator, int clientVersion);
|
||||
IAdLoaderBuilder newAdLoaderBuilder(IObjectWrapper context, String adUnitId, IAdapterCreator adapterCreator, int clientVersion);
|
||||
}
|
||||
|
|
@ -6,10 +6,11 @@
|
|||
package com.google.android.gms.ads.internal.client;
|
||||
|
||||
import com.google.android.gms.ads.internal.client.AdSizeParcel;
|
||||
import com.google.android.gms.ads.internal.client.IAdManager;
|
||||
import com.google.android.gms.ads.internal.mediation.client.IAdapterCreator;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
|
||||
interface IAdManagerCreator {
|
||||
IBinder newAdManager(IObjectWrapper context, in AdSizeParcel adSize, String adUnitId, IAdapterCreator adapterCreator, int clientVersion) = 0;
|
||||
IBinder newAdManagerByType(IObjectWrapper context, in AdSizeParcel adSize, String adUnitId, IAdapterCreator adapterCreator, int clientVersion, int type) = 1;
|
||||
IAdManager newAdManager(IObjectWrapper context, in AdSizeParcel adSize, String adUnitId, IAdapterCreator adapterCreator, int clientVersion) = 0;
|
||||
IAdManager newAdManagerByType(IObjectWrapper context, in AdSizeParcel adSize, String adUnitId, IAdapterCreator adapterCreator, int clientVersion, int type) = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
package com.google.android.gms.ads.internal.client;
|
||||
|
||||
import com.google.android.gms.ads.internal.client.IMobileAdsSettingManager;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
|
||||
interface IMobileAdsSettingManagerCreator {
|
||||
IBinder getMobileAdsSettingManager(IObjectWrapper context, int clientVersion);
|
||||
IMobileAdsSettingManager getMobileAdsSettingManager(IObjectWrapper context, int clientVersion);
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2026 microG Project Team
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package com.google.android.gms.ads;
|
||||
|
||||
public class AdLoader {
|
||||
}
|
||||
|
|
@ -1,23 +1,40 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2026 microG Project Team
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
* Notice: Portions of this file are reproduced from work created and shared by Google and used
|
||||
* according to terms described in the Creative Commons 4.0 Attribution License.
|
||||
* See https://developers.google.com/readme/policies for details.
|
||||
*/
|
||||
|
||||
package com.google.android.gms.ads.formats;
|
||||
|
||||
import android.os.Parcel;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.android.gms.ads.AdLoader;
|
||||
import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
|
||||
import com.google.android.gms.common.internal.safeparcel.SafeParcelable;
|
||||
import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter;
|
||||
|
||||
/**
|
||||
* Ad Manager ad view options passed to {@code IAdLoaderBuilder.setAdManagerAdViewOptions}.
|
||||
* Options to configure Google Ad Manager banner requests using an {@link AdLoader}.
|
||||
*/
|
||||
@SafeParcelable.Class
|
||||
public final class AdManagerAdViewOptions extends AbstractSafeParcelable {
|
||||
@Field(1)
|
||||
public boolean manualImpressionsEnabled;
|
||||
public final boolean manualImpressionsEnabled;
|
||||
|
||||
@Constructor
|
||||
AdManagerAdViewOptions(@Param(1) boolean manualImpressionsEnabled) {
|
||||
this.manualImpressionsEnabled = manualImpressionsEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns {@code true} if manual impression reporting is enabled.
|
||||
*/
|
||||
public boolean getManualImpressionsEnabled() {
|
||||
return manualImpressionsEnabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,31 @@
|
|||
|
||||
package com.google.android.gms.ads.internal;
|
||||
|
||||
import org.microg.safeparcel.AutoSafeParcelable;
|
||||
import android.os.Parcel;
|
||||
|
||||
public class RequestConfigurationParcel extends AutoSafeParcelable {
|
||||
public static final Creator<RequestConfigurationParcel> CREATOR = new AutoCreator<>(RequestConfigurationParcel.class);
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
|
||||
import com.google.android.gms.common.internal.safeparcel.SafeParcelable;
|
||||
import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter;
|
||||
|
||||
@SafeParcelable.Class
|
||||
public class RequestConfigurationParcel extends AbstractSafeParcelable {
|
||||
@Field(1)
|
||||
public final int tagForChildDirectedTreatment;
|
||||
@Field(2)
|
||||
public final int tagForUnderAgeOfConsent;
|
||||
|
||||
@Constructor
|
||||
RequestConfigurationParcel(@Param(1) int tagForChildDirectedTreatment, @Param(2) int tagForUnderAgeOfConsent) {
|
||||
this.tagForChildDirectedTreatment = tagForChildDirectedTreatment;
|
||||
this.tagForUnderAgeOfConsent = tagForUnderAgeOfConsent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
CREATOR.writeToParcel(this, dest, flags);
|
||||
}
|
||||
|
||||
public static final SafeParcelableCreatorAndWriter<RequestConfigurationParcel> CREATOR = findCreator(RequestConfigurationParcel.class);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue