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,40 @@
/*
* SPDX-FileCopyrightText: 2022 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
apply plugin: 'signing'
android {
namespace "org.microg.gms.gmscompliance.api"
compileSdkVersion androidCompileSdk
buildToolsVersion "$androidBuildVersionTools"
buildFeatures {
aidl = true
}
defaultConfig {
versionName version
minSdkVersion androidMinSdk
targetSdkVersion androidTargetSdk
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
}
apply from: '../gradle/publish-android.gradle'
description = 'microG API for play-services-gmscompliance'
dependencies {
api project(':play-services-base')
implementation "androidx.annotation:annotation:$annotationVersion"
}

View file

@ -0,0 +1,60 @@
/*
* SPDX-FileCopyrightText: 2022 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'maven-publish'
apply plugin: 'signing'
dependencies {
api project(':play-services-gmscompliance')
implementation project(':play-services-base-core')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVersion"
implementation "androidx.core:core-ktx:$coreVersion"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-service:$lifecycleVersion"
implementation "com.android.volley:volley:$volleyVersion"
implementation "com.squareup.wire:wire-runtime:$wireVersion"
}
android {
namespace "org.microg.gms.gmscompliance.core"
compileSdkVersion androidCompileSdk
buildToolsVersion "$androidBuildVersionTools"
defaultConfig {
versionName version
minSdkVersion androidMinSdk
targetSdkVersion androidTargetSdk
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'MissingTranslation'
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
kotlinOptions {
jvmTarget = 1.8
}
}
apply from: '../../gradle/publish-android.gradle'
description = 'microG service implementation for play-services-gmscompliance'

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ SPDX-FileCopyrightText: 2022 microG Project Team
~ SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>
<service android:name="org.microg.gms.gmscompliance.GmsDeviceComplianceService">
<intent-filter>
<action android:name="com.google.android.gms.gmscompliance.service.START" />
</intent-filter>
</service>
</application>
</manifest>

View file

@ -0,0 +1,47 @@
/*
* SPDX-FileCopyrightText: 2022 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package org.microg.gms.gmscompliance
import android.util.Log
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
import com.google.android.gms.common.Feature
import com.google.android.gms.common.api.CommonStatusCodes
import com.google.android.gms.common.api.Status
import com.google.android.gms.common.internal.ConnectionInfo
import com.google.android.gms.common.internal.GetServiceRequest
import com.google.android.gms.common.internal.IGmsCallbacks
import com.google.android.gms.gmscompliance.GmsDeviceComplianceResponse
import com.google.android.gms.gmscompliance.IGmsDeviceComplianceService
import com.google.android.gms.gmscompliance.IGmsDeviceComplianceServiceCallback
import org.microg.gms.BaseService
import org.microg.gms.common.GmsService
const val TAG = "DeviceCompliance"
class GmsDeviceComplianceService : BaseService(TAG, GmsService.GMS_COMPLIANCE) {
override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) {
callback.onPostInitCompleteWithConnectionInfo(CommonStatusCodes.SUCCESS, GmsDeviceComplianceServiceImpl(lifecycle).asBinder(), ConnectionInfo().apply {
features = arrayOf(
Feature("gmscompliance_api", 1)
)
});
}
}
class GmsDeviceComplianceServiceImpl(override val lifecycle: Lifecycle) : IGmsDeviceComplianceService.Stub(), LifecycleOwner {
override fun getDeviceCompliance(callback: IGmsDeviceComplianceServiceCallback?) {
Log.d(TAG, "getDeviceCompliance()")
lifecycleScope.launchWhenStarted {
try {
callback?.onResponse(Status.SUCCESS, GmsDeviceComplianceResponse().apply { compliant = true })
} catch (e: Exception) {
Log.w(TAG, e)
}
}
}
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ SPDX-FileCopyrightText: 2022 microG Project Team
~ SPDX-License-Identifier: Apache-2.0
-->
<manifest />

View file

@ -0,0 +1,3 @@
package com.google.android.gms.gmscompliance;
parcelable GmsDeviceComplianceResponse;

View file

@ -0,0 +1,8 @@
package com.google.android.gms.gmscompliance;
import com.google.android.gms.common.api.Status;
import com.google.android.gms.gmscompliance.IGmsDeviceComplianceServiceCallback;
interface IGmsDeviceComplianceService {
void getDeviceCompliance(IGmsDeviceComplianceServiceCallback callback);
}

View file

@ -0,0 +1,8 @@
package com.google.android.gms.gmscompliance;
import com.google.android.gms.common.api.Status;
import com.google.android.gms.gmscompliance.GmsDeviceComplianceResponse;
interface IGmsDeviceComplianceServiceCallback {
oneway void onResponse(in Status status, in GmsDeviceComplianceResponse response);
}

View file

@ -0,0 +1,21 @@
/*
* SPDX-FileCopyrightText: 2022 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.gmscompliance;
import android.app.PendingIntent;
import org.microg.safeparcel.AutoSafeParcelable;
public class GmsDeviceComplianceResponse extends AutoSafeParcelable {
@Field(1)
private int versionCode = 1;
@Field(2)
public boolean compliant;
@Field(3)
public PendingIntent errorIntent;
public static final Creator<GmsDeviceComplianceResponse> CREATOR = new AutoCreator<>(GmsDeviceComplianceResponse.class);
}