Repo Created

This commit is contained in:
Fr4nz D13trich 2025-11-15 17:44:12 +01:00
parent eb305e2886
commit a8c22c65db
4784 changed files with 329907 additions and 2 deletions

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ SPDX-FileCopyrightText: 2023 microG Project Team
~ SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
</manifest>

View file

@ -0,0 +1,26 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.ads
import android.os.IBinder
import android.os.Parcel
import android.util.Log
import androidx.annotation.Keep
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
import org.microg.gms.utils.warnOnTransactionIssues
private const val TAG = "AdLoaderBuilder"
@Keep
class AdLoaderBuilderCreatorImpl : IAdLoaderBuilderCreator.Stub() {
override fun newAdLoaderBuilder(context: IObjectWrapper?, adUnitId: String, adapterCreator: IAdapterCreator?, clientVersion: Int): IBinder? {
Log.d(TAG, "newAdLoaderBuilder: adUnitId=$adUnitId clientVersion=$clientVersion")
return null
}
override fun onTransact(code: Int, data: Parcel, reply: Parcel?, flags: Int): Boolean = warnOnTransactionIssues(code, reply, flags, TAG) { super.onTransact(code, data, reply, flags) }
}

View file

@ -0,0 +1,17 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.ads
import android.os.Parcel
import androidx.annotation.Keep
import org.microg.gms.utils.warnOnTransactionIssues
private const val TAG = "AdManager"
@Keep
class AdManagerCreatorImpl : AdManagerCreator.Stub() {
override fun onTransact(code: Int, data: Parcel, reply: Parcel?, flags: Int): Boolean =
warnOnTransactionIssues(code, reply, flags, TAG) { super.onTransact(code, data, reply, flags) }
}

View file

@ -0,0 +1,29 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.ads
import android.content.Context
import android.os.IBinder
import android.os.Parcel
import android.util.Log
import androidx.annotation.Keep
import com.google.android.gms.ads.internal.client.IMobileAdsSettingManagerCreator
import com.google.android.gms.dynamic.IObjectWrapper
import com.google.android.gms.dynamic.ObjectWrapper
import org.microg.gms.ads.MobileAdsSettingManagerImpl
import org.microg.gms.utils.warnOnTransactionIssues
private const val TAG = "AdsSettingManager"
@Keep
class MobileAdsSettingManagerCreatorImpl : IMobileAdsSettingManagerCreator.Stub() {
override fun getMobileAdsSettingManager(context: IObjectWrapper?, clientVersion: Int): IBinder {
Log.d(TAG, "getMobileAdsSettingManager($clientVersion)")
return MobileAdsSettingManagerImpl(ObjectWrapper.unwrap(context) as Context)
}
override fun onTransact(code: Int, data: Parcel, reply: Parcel?, flags: Int): Boolean = warnOnTransactionIssues(code, reply, flags, TAG) { super.onTransact(code, data, reply, flags) }
}

View file

@ -0,0 +1,24 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.ads.measurement
import android.os.Parcel
import android.util.Log
import androidx.annotation.Keep
import com.google.android.gms.dynamic.IObjectWrapper
import org.microg.gms.utils.warnOnTransactionIssues
private const val TAG = "DynamiteMeasurement"
@Keep
class DynamiteMeasurementManager : IMeasurementManager.Stub() {
override fun initialize(context: IObjectWrapper?, proxy: IAppMeasurementProxy?) {
Log.d(TAG, "Not yet implemented: initialize")
}
override fun onTransact(code: Int, data: Parcel, reply: Parcel?, flags: Int): Boolean =
warnOnTransactionIssues(code, reply, flags, TAG) { super.onTransact(code, data, reply, flags) }
}

View file

@ -0,0 +1,26 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.ads.rewarded
import android.content.Context
import android.os.IBinder
import android.util.Log
import androidx.annotation.Keep
import com.google.android.gms.ads.internal.mediation.client.IAdapterCreator
import com.google.android.gms.ads.internal.rewarded.client.IRewardedAdCreator
import com.google.android.gms.dynamic.IObjectWrapper
import com.google.android.gms.dynamic.ObjectWrapper
import org.microg.gms.ads.rewarded.RewardedAdImpl
private const val TAG = "RewardedAd"
@Keep
class ChimeraRewardedAdCreatorImpl : IRewardedAdCreator.Stub() {
override fun newRewardedAd(context: IObjectWrapper, str: String, adapterCreator: IAdapterCreator, clientVersion: Int): IBinder {
Log.d(TAG, "newRewardedAd($str, $clientVersion)")
return RewardedAdImpl(ObjectWrapper.unwrap(context) as Context?, str, adapterCreator, clientVersion)
}
}

View file

@ -0,0 +1,110 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package org.microg.gms.ads
import android.content.Context
import android.os.Handler
import android.os.Looper
import android.os.Parcel
import android.os.RemoteException
import android.util.Log
import com.google.android.gms.ads.internal.AdapterStatusParcel
import com.google.android.gms.ads.internal.RequestConfigurationParcel
import com.google.android.gms.ads.internal.client.IMobileAdsSettingManager
import com.google.android.gms.ads.internal.client.IOnAdInspectorClosedListener
import com.google.android.gms.ads.internal.initialization.IInitializationCallback
import com.google.android.gms.ads.internal.mediation.client.IAdapterCreator
import com.google.android.gms.dynamic.IObjectWrapper
import org.microg.gms.utils.warnOnTransactionIssues
private const val TAG = "AdsSettingManager"
class MobileAdsSettingManagerImpl(private val context: Context?) : IMobileAdsSettingManager.Stub() {
private var initialized = false
private val initializationCallbacks = mutableListOf<IInitializationCallback>()
private var muted = false
private var volume = 1.0f
override fun initialize() {
Log.d(TAG, "initialize")
if (initialized) return
initialized = true
for (callback in initializationCallbacks) {
runCatching { callback.onInitialized(emptyList()) }
}
}
override fun setAppVolume(volume: Float) {
this.volume = volume
}
override fun fetchAppSettings(appId: String?) {
fetchAppSettingsV2(appId, null)
}
override fun setAppMuted(muted: Boolean) {
this.muted = muted
}
override fun openDebugMenu(context: IObjectWrapper?, adUnitId: String?) {
Log.d(TAG, "openDebugMenu($adUnitId)")
}
override fun fetchAppSettingsV2(appId: String?, runnable: IObjectWrapper?) {
Log.d(TAG, "fetchAppSettings($appId)")
}
override fun getAdVolume(): Float {
return volume
}
override fun isAdMuted(): Boolean {
return muted
}
override fun getVersionString(): String {
return ""
}
override fun registerRtbAdapter(className: String?) {
Log.d(TAG, "registerRtbAdapter($className)")
}
override fun setAdapterCreator(iAdapterCreator: IAdapterCreator?) {
Log.d(TAG, "Not yet implemented: setAdapterCreator")
}
override fun addInitializationCallback(callback: IInitializationCallback?) {
Log.d(TAG, "addInitializationCallback")
callback?.let { initializationCallbacks.add(it) }
}
override fun getAdapterStatus(): List<AdapterStatusParcel> {
Log.d(TAG, "getAdapterStatus")
return arrayListOf(AdapterStatusParcel("com.google.android.gms.ads.MobileAds", true, 0, "Dummy"))
}
override fun setRequestConfiguration(configuration: RequestConfigurationParcel?) {
Log.d(TAG, "setRequestConfiguration")
}
override fun disableMediationAdapterInitialization() {
Log.d(TAG, "disableMediationAdapterInitialization")
}
override fun openAdInspector(listener: IOnAdInspectorClosedListener?) {
Log.d(TAG, "openAdInspector")
}
override fun enableSameAppKey(enabled: Boolean) {
Log.d(TAG, "enableSameAppKey($enabled)")
}
override fun setPlugin(plugin: String?) {
Log.d(TAG, "setPlugin($plugin)")
}
override fun onTransact(code: Int, data: Parcel, reply: Parcel?, flags: Int): Boolean = warnOnTransactionIssues(code, reply, flags, TAG) { super.onTransact(code, data, reply, flags) }
}

View file

@ -0,0 +1,40 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package org.microg.gms.ads.rewarded
import android.os.Bundle
import android.util.Log
import com.google.android.gms.ads.internal.AdapterResponseInfoParcel
import com.google.android.gms.ads.internal.client.IResponseInfo
private const val TAG = "RewardedAdResponseInfo"
class ResponseInfoImpl : IResponseInfo.Stub() {
override fun getMediationAdapterClassName(): String? {
Log.d(TAG, "getMediationAdapterClassName")
return null
}
override fun getResponseId(): String? {
Log.d(TAG, "getResponseId")
return null
}
override fun getAdapterResponseInfo(): List<AdapterResponseInfoParcel> {
Log.d(TAG, "getAdapterResponseInfo")
return arrayListOf()
}
override fun getLoadedAdapterResponse(): AdapterResponseInfoParcel? {
Log.d(TAG, "getLoadedAdapterResponse")
return null
}
override fun getResponseExtras(): Bundle {
Log.d(TAG, "getResponseExtras")
return Bundle()
}
}

View file

@ -0,0 +1,108 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package org.microg.gms.ads.rewarded
import android.content.Context
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.os.RemoteException
import android.util.Log
import com.google.android.gms.ads.internal.AdErrorParcel
import com.google.android.gms.ads.internal.AdRequestParcel
import com.google.android.gms.ads.internal.ServerSideVerificationOptionsParcel
import com.google.android.gms.ads.internal.client.IOnAdMetadataChangedListener
import com.google.android.gms.ads.internal.client.IOnPaidEventListener
import com.google.android.gms.ads.internal.client.IResponseInfo
import com.google.android.gms.ads.internal.mediation.client.IAdapterCreator
import com.google.android.gms.ads.internal.rewarded.client.*
import com.google.android.gms.common.api.CommonStatusCodes
import com.google.android.gms.dynamic.IObjectWrapper
private const val TAG = "RewardedAd"
class RewardedAdImpl(context: Context?, str: String?, adapterCreator: IAdapterCreator?, clientVersion: Int) : IRewardedAd.Stub() {
private var immersive: Boolean = false
private fun load(request: AdRequestParcel, callback: IRewardedAdLoadCallback, interstitial: Boolean) {
Handler(Looper.getMainLooper()).post {
try {
callback.onAdLoadError(AdErrorParcel().apply { code = CommonStatusCodes.INTERNAL_ERROR; message = "Not supported" })
} catch (e: RemoteException) {
Log.w(TAG, e)
}
}
}
override fun load(request: AdRequestParcel, callback: IRewardedAdLoadCallback) {
Log.d(TAG, "load")
load(request, callback, false)
}
override fun setCallback(callback: IRewardedAdCallback) {
Log.d(TAG, "setCallback")
}
override fun canBeShown(): Boolean {
Log.d(TAG, "canBeShown")
return false
}
override fun getMediationAdapterClassName(): String {
Log.d(TAG, "getMediationAdapterClassName")
return responseInfo.mediationAdapterClassName
}
override fun show(activity: IObjectWrapper) {
Log.d(TAG, "show")
showWithImmersive(activity, immersive)
}
override fun setRewardedAdSkuListener(listener: IRewardedAdSkuListener?) {
Log.d(TAG, "setRewardedAdSkuListener")
}
override fun setServerSideVerificationOptions(options: ServerSideVerificationOptionsParcel) {
Log.d(TAG, "setServerSideVerificationOptions")
}
override fun setOnAdMetadataChangedListener(listener: IOnAdMetadataChangedListener) {
Log.d(TAG, "setOnAdMetadataChangedListener")
}
override fun getAdMetadata(): Bundle {
Log.d(TAG, "getAdMetadata")
return Bundle()
}
override fun showWithImmersive(activity: IObjectWrapper?, immersive: Boolean) {
Log.d(TAG, "showWithBoolean")
}
override fun getRewardItem(): IRewardItem? {
Log.d(TAG, "getRewardItem")
return null
}
override fun getResponseInfo(): IResponseInfo {
Log.d(TAG, "getResponseInfo")
return ResponseInfoImpl()
}
override fun setOnPaidEventListener(listener: IOnPaidEventListener) {
Log.d(TAG, "setOnPaidEventListener")
}
override fun loadInterstitial(request: AdRequestParcel, callback: IRewardedAdLoadCallback) {
Log.d(TAG, "loadInterstitial")
load(request, callback, true)
}
override fun setImmersiveMode(enabled: Boolean) {
Log.d(TAG, "setImmersiveMode($enabled)")
}
}